summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/api_samples/os-volumes/snapshot-create-resp.json23
-rw-r--r--doc/api_samples/os-volumes/snapshot-create-resp.xml2
-rw-r--r--nova/api/openstack/compute/contrib/flavormanage.py16
-rw-r--r--nova/api/openstack/compute/contrib/volumes.py22
-rw-r--r--nova/cells/state.py4
-rw-r--r--nova/cmd/all.py1
-rw-r--r--nova/cmd/api.py1
-rw-r--r--nova/cmd/api_ec2.py1
-rw-r--r--nova/cmd/api_metadata.py1
-rw-r--r--nova/cmd/api_os_compute.py1
-rw-r--r--nova/cmd/baremetal_manage.py4
-rw-r--r--nova/cmd/cells.py1
-rw-r--r--nova/cmd/cert.py1
-rw-r--r--nova/cmd/clear_rabbit_queues.py5
-rw-r--r--nova/cmd/compute.py1
-rw-r--r--nova/cmd/conductor.py1
-rw-r--r--nova/cmd/console.py1
-rw-r--r--nova/cmd/consoleauth.py1
-rw-r--r--nova/cmd/dhcpbridge.py4
-rw-r--r--nova/cmd/manage.py9
-rw-r--r--nova/cmd/network.py1
-rw-r--r--nova/cmd/novncproxy.py1
-rw-r--r--nova/cmd/objectstore.py2
-rw-r--r--nova/cmd/rpc_zmq_receiver.py1
-rw-r--r--nova/cmd/scheduler.py4
-rw-r--r--nova/cmd/spicehtml5proxy.py1
-rw-r--r--nova/cmd/xvpvncproxy.py1
-rw-r--r--nova/compute/api.py6
-rw-r--r--nova/compute/claims.py25
-rw-r--r--nova/compute/flavors.py37
-rwxr-xr-xnova/compute/manager.py9
-rw-r--r--nova/compute/resource_tracker.py14
-rw-r--r--nova/db/sqlalchemy/utils.py10
-rw-r--r--nova/filters.py12
-rw-r--r--nova/locale/bs/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/cs/LC_MESSAGES/nova.po589
-rw-r--r--nova/locale/da/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/de/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/en_AU/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/en_GB/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/en_US/LC_MESSAGES/nova.po589
-rw-r--r--nova/locale/es/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/fr/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/it/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/ja/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/ko/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/ko_KR/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/nb/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/nova.pot590
-rw-r--r--nova/locale/pt_BR/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/ru/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/tl/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/tr/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/tr_TR/LC_MESSAGES/nova.po589
-rw-r--r--nova/locale/uk/LC_MESSAGES/nova.po588
-rw-r--r--nova/locale/vi_VN/LC_MESSAGES/nova.po10918
-rw-r--r--nova/locale/zh_CN/LC_MESSAGES/nova.po589
-rw-r--r--nova/locale/zh_TW/LC_MESSAGES/nova.po588
-rw-r--r--nova/network/floating_ips.py6
-rw-r--r--nova/network/linux_net.py19
-rw-r--r--nova/network/manager.py7
-rw-r--r--nova/openstack/common/lockutils.py29
-rw-r--r--nova/openstack/common/processutils.py66
-rw-r--r--nova/scheduler/driver.py6
-rw-r--r--nova/scheduler/filter_scheduler.py15
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_snapshots.py4
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_volumes.py18
-rw-r--r--nova/tests/api/openstack/compute/test_server_actions.py28
-rw-r--r--nova/tests/api/openstack/fakes.py4
-rw-r--r--nova/tests/baremetal/test_virtual_power_driver.py15
-rw-r--r--nova/tests/compute/test_compute.py22
-rw-r--r--nova/tests/fake_processutils.py (renamed from nova/tests/fake_utils.py)7
-rw-r--r--nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.json.tpl23
-rw-r--r--nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.xml.tpl2
-rw-r--r--nova/tests/scheduler/test_scheduler.py25
-rw-r--r--nova/tests/test_imagebackend.py18
-rw-r--r--nova/tests/test_instance_types.py296
-rw-r--r--nova/tests/test_migrations.py163
-rw-r--r--nova/tests/test_virt_disk_vfs_localfs.py115
-rw-r--r--nova/tests/test_xenapi.py10
-rw-r--r--nova/utils.py72
-rw-r--r--nova/virt/baremetal/virtual_power_driver.py5
-rwxr-xr-xnova/virt/driver.py4
-rwxr-xr-xnova/virt/fake.py4
-rw-r--r--nova/virt/firewall.py6
-rw-r--r--nova/virt/hyperv/imagecache.py9
-rwxr-xr-xnova/virt/libvirt/imagebackend.py13
-rw-r--r--nova/virt/libvirt/imagecache.py10
-rw-r--r--nova/virt/libvirt/volume.py9
-rw-r--r--nova/virt/powervm/blockdev.py6
-rw-r--r--nova/virt/powervm/common.py5
-rw-r--r--nova/virt/powervm/operator.py5
-rw-r--r--nova/virt/storage_users.py6
-rw-r--r--plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py54
-rwxr-xr-xrun_tests.sh9
95 files changed, 19161 insertions, 6626 deletions
diff --git a/doc/api_samples/os-volumes/snapshot-create-resp.json b/doc/api_samples/os-volumes/snapshot-create-resp.json
index 1a14bea01..a8dd57d84 100644
--- a/doc/api_samples/os-volumes/snapshot-create-resp.json
+++ b/doc/api_samples/os-volumes/snapshot-create-resp.json
@@ -6,27 +6,6 @@
"id": 100,
"size": 100,
"status": "available",
- "volumeId": {
- "attach_status": "attached",
- "availability_zone": "fakeaz",
- "created_at": "1999-01-01T01:01:01.000000",
- "display_description": "displaydesc",
- "display_name": "displayname",
- "host": "fakehost",
- "id": "521752a6-acf6-4b2d-bc7a-119f9148cd8c",
- "instance_uuid": "fakeuuid",
- "mountpoint": "/",
- "name": "vol name",
- "project_id": "fakeproject",
- "size": 1,
- "snapshot_id": null,
- "status": "fakestatus",
- "user_id": "fakeuser",
- "volume_metadata": [],
- "volume_type": {
- "name": "vol_type_name"
- },
- "volume_type_id": "fakevoltype"
- }
+ "volumeId": "521752a6-acf6-4b2d-bc7a-119f9148cd8c"
}
} \ No newline at end of file
diff --git a/doc/api_samples/os-volumes/snapshot-create-resp.xml b/doc/api_samples/os-volumes/snapshot-create-resp.xml
index ad815f723..654bf3d34 100644
--- a/doc/api_samples/os-volumes/snapshot-create-resp.xml
+++ b/doc/api_samples/os-volumes/snapshot-create-resp.xml
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
-<snapshot status="available" displayDescription="Daily backup" displayName="snap-001" volumeId="{'instance_uuid': 'fakeuuid', 'status': 'fakestatus', 'user_id': 'fakeuser', 'name': 'vol name', 'display_name': 'displayname', 'availability_zone': 'fakeaz', 'created_at': datetime.datetime(1999, 1, 1, 1, 1, 1), 'attach_status': 'attached', 'display_description': 'displaydesc', 'host': 'fakehost', 'volume_type_id': 'fakevoltype', 'volume_metadata': [], 'volume_type': {'name': 'vol_type_name'}, 'snapshot_id': None, 'mountpoint': '/', 'project_id': 'fakeproject', 'id': u'521752a6-acf6-4b2d-bc7a-119f9148cd8c', 'size': 1}" id="100" createdAt="2013-02-25 16:27:36.840121" size="100"/> \ No newline at end of file
+<snapshot status="available" displayDescription="Daily backup" displayName="snap-001" volumeId="521752a6-acf6-4b2d-bc7a-119f9148cd8c" id="100" createdAt="2013-02-25 16:27:36.840121" size="100"/> \ No newline at end of file
diff --git a/nova/api/openstack/compute/contrib/flavormanage.py b/nova/api/openstack/compute/contrib/flavormanage.py
index c36b40125..086c541dc 100644
--- a/nova/api/openstack/compute/contrib/flavormanage.py
+++ b/nova/api/openstack/compute/contrib/flavormanage.py
@@ -58,18 +58,20 @@ class FlavorManageController(wsgi.Controller):
vals = body['flavor']
name = vals['name']
flavorid = vals.get('id')
- memory_mb = vals.get('ram')
+ memory = vals.get('ram')
vcpus = vals.get('vcpus')
root_gb = vals.get('disk')
- ephemeral_gb = vals.get('OS-FLV-EXT-DATA:ephemeral')
- swap = vals.get('swap')
- rxtx_factor = vals.get('rxtx_factor')
+ ephemeral_gb = vals.get('OS-FLV-EXT-DATA:ephemeral', 0)
+ swap = vals.get('swap', 0)
+ rxtx_factor = vals.get('rxtx_factor', 1.0)
is_public = vals.get('os-flavor-access:is_public', True)
try:
- flavor = flavors.create(name, memory_mb, vcpus,
- root_gb, ephemeral_gb, flavorid,
- swap, rxtx_factor, is_public)
+ flavor = flavors.create(name, memory, vcpus, root_gb,
+ ephemeral_gb=ephemeral_gb,
+ flavorid=flavorid, swap=swap,
+ rxtx_factor=rxtx_factor,
+ is_public=is_public)
req.cache_db_flavor(flavor)
except (exception.InstanceTypeExists,
exception.InstanceTypeIdExists) as err:
diff --git a/nova/api/openstack/compute/contrib/volumes.py b/nova/api/openstack/compute/contrib/volumes.py
index 5a8614f39..ea1fb1f21 100644
--- a/nova/api/openstack/compute/contrib/volumes.py
+++ b/nova/api/openstack/compute/contrib/volumes.py
@@ -245,15 +245,19 @@ class VolumeController(wsgi.Controller):
availability_zone = vol.get('availability_zone', None)
- new_volume = self.volume_api.create(context,
- size,
- vol.get('display_name'),
- vol.get('display_description'),
- snapshot=snapshot,
- volume_type=vol_type,
- metadata=metadata,
- availability_zone=availability_zone
- )
+ try:
+ new_volume = self.volume_api.create(
+ context,
+ size,
+ vol.get('display_name'),
+ vol.get('display_description'),
+ snapshot=snapshot,
+ volume_type=vol_type,
+ metadata=metadata,
+ availability_zone=availability_zone
+ )
+ except exception.InvalidInput as err:
+ raise exc.HTTPBadRequest(explanation=str(err))
# 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/cells/state.py b/nova/cells/state.py
index d7646c528..403f42d47 100644
--- a/nova/cells/state.py
+++ b/nova/cells/state.py
@@ -25,9 +25,9 @@ from oslo.config import cfg
from nova.cells import rpc_driver
from nova import context
from nova.db import base
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import timeutils
+from nova import utils
cell_state_manager_opts = [
cfg.IntOpt('db_check_interval',
@@ -258,7 +258,7 @@ class CellStateManager(base.Base):
'units_by_mb': disk_mb_free_units}}
self.my_cell_state.update_capacities(capacities)
- @lockutils.synchronized('cell-db-sync', 'nova-')
+ @utils.synchronized('cell-db-sync')
def _cell_db_sync(self):
"""Update status for all cells if it's time. Most calls to
this are from the check_for_update() decorator that checks
diff --git a/nova/cmd/all.py b/nova/cmd/all.py
index a6426ed33..f510069b6 100644
--- a/nova/cmd/all.py
+++ b/nova/cmd/all.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2011 OpenStack Foundation
diff --git a/nova/cmd/api.py b/nova/cmd/api.py
index 811171afc..a7f6313b0 100644
--- a/nova/cmd/api.py
+++ b/nova/cmd/api.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/api_ec2.py b/nova/cmd/api_ec2.py
index 2d78c58e5..2b3b942c8 100644
--- a/nova/cmd/api_ec2.py
+++ b/nova/cmd/api_ec2.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/api_metadata.py b/nova/cmd/api_metadata.py
index b2acee33c..ab235df57 100644
--- a/nova/cmd/api_metadata.py
+++ b/nova/cmd/api_metadata.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/api_os_compute.py b/nova/cmd/api_os_compute.py
index c4cb7982e..196abfef5 100644
--- a/nova/cmd/api_os_compute.py
+++ b/nova/cmd/api_os_compute.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/baremetal_manage.py b/nova/cmd/baremetal_manage.py
index eaf4a8416..e1224664a 100644
--- a/nova/cmd/baremetal_manage.py
+++ b/nova/cmd/baremetal_manage.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2011 X.commerce, a business unit of eBay Inc.
@@ -54,14 +53,11 @@
CLI interface for nova bare-metal management.
"""
-import gettext
import os
import sys
from oslo.config import cfg
-gettext.install('nova', unicode=1)
-
from nova import config
from nova.openstack.common import cliutils
from nova.openstack.common import log as logging
diff --git a/nova/cmd/cells.py b/nova/cmd/cells.py
index 9e6fae402..35fa9b64f 100644
--- a/nova/cmd/cells.py
+++ b/nova/cmd/cells.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright (c) 2012 Rackspace Hosting
diff --git a/nova/cmd/cert.py b/nova/cmd/cert.py
index 668d8b0a4..1338b8dc8 100644
--- a/nova/cmd/cert.py
+++ b/nova/cmd/cert.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 OpenStack Foundation
diff --git a/nova/cmd/clear_rabbit_queues.py b/nova/cmd/clear_rabbit_queues.py
index b1ec0b92e..c15c2b058 100644
--- a/nova/cmd/clear_rabbit_queues.py
+++ b/nova/cmd/clear_rabbit_queues.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2011 OpenStack Foundation
@@ -23,14 +22,10 @@
"""
-import gettext
import sys
from oslo.config import cfg
-gettext.install('nova', unicode=1)
-
-
from nova import config
from nova.openstack.common import log as logging
from nova.openstack.common import rpc
diff --git a/nova/cmd/compute.py b/nova/cmd/compute.py
index 644462dde..0aae286a4 100644
--- a/nova/cmd/compute.py
+++ b/nova/cmd/compute.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/conductor.py b/nova/cmd/conductor.py
index ba1ef2032..b9723f2d2 100644
--- a/nova/cmd/conductor.py
+++ b/nova/cmd/conductor.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2012 IBM Corp.
diff --git a/nova/cmd/console.py b/nova/cmd/console.py
index 2aa099f0c..4fdc090f6 100644
--- a/nova/cmd/console.py
+++ b/nova/cmd/console.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2010 OpenStack Foundation
diff --git a/nova/cmd/consoleauth.py b/nova/cmd/consoleauth.py
index ea28a2faf..130f7ad65 100644
--- a/nova/cmd/consoleauth.py
+++ b/nova/cmd/consoleauth.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2012 OpenStack Foundation
diff --git a/nova/cmd/dhcpbridge.py b/nova/cmd/dhcpbridge.py
index 108aafcf9..faf49805d 100644
--- a/nova/cmd/dhcpbridge.py
+++ b/nova/cmd/dhcpbridge.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
@@ -21,14 +20,11 @@
Handle lease database updates from DHCP servers.
"""
-import gettext
import os
import sys
from oslo.config import cfg
-gettext.install('nova', unicode=1)
-
from nova import config
from nova import context
from nova import db
diff --git a/nova/cmd/manage.py b/nova/cmd/manage.py
index 9bec62f09..599b9a299 100644
--- a/nova/cmd/manage.py
+++ b/nova/cmd/manage.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2011 X.commerce, a business unit of eBay Inc.
@@ -54,15 +53,12 @@
CLI interface for nova management.
"""
-import gettext
import netaddr
import os
import sys
from oslo.config import cfg
-gettext.install('nova', unicode=1)
-
from nova.api.ec2 import ec2utils
from nova import availability_zones
from nova.compute import flavors
@@ -890,8 +886,9 @@ class InstanceTypeCommands(object):
"""Creates instance types / flavors."""
try:
flavors.create(name, memory, vcpus, root_gb,
- ephemeral_gb, flavorid, swap, rxtx_factor,
- is_public)
+ ephemeral_gb=ephemeral_gb, flavorid=flavorid,
+ swap=swap, rxtx_factor=rxtx_factor,
+ is_public=is_public)
except exception.InvalidInput as e:
print _("Must supply valid parameters to create instance_type")
print e
diff --git a/nova/cmd/network.py b/nova/cmd/network.py
index 72eac2a19..1af0c0d7d 100644
--- a/nova/cmd/network.py
+++ b/nova/cmd/network.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/novncproxy.py b/nova/cmd/novncproxy.py
index cf70b83c5..449aea76e 100644
--- a/nova/cmd/novncproxy.py
+++ b/nova/cmd/novncproxy.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2012 OpenStack Foundation
diff --git a/nova/cmd/objectstore.py b/nova/cmd/objectstore.py
index eb8257f9c..12e08beb8 100644
--- a/nova/cmd/objectstore.py
+++ b/nova/cmd/objectstore.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
diff --git a/nova/cmd/rpc_zmq_receiver.py b/nova/cmd/rpc_zmq_receiver.py
index a587af689..f4f5214e3 100644
--- a/nova/cmd/rpc_zmq_receiver.py
+++ b/nova/cmd/rpc_zmq_receiver.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2011 OpenStack Foundation
diff --git a/nova/cmd/scheduler.py b/nova/cmd/scheduler.py
index 5bf459b97..b8e6b99aa 100644
--- a/nova/cmd/scheduler.py
+++ b/nova/cmd/scheduler.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright 2010 United States Government as represented by the
@@ -19,13 +18,10 @@
"""Starter script for Nova Scheduler."""
-import gettext
import sys
from oslo.config import cfg
-gettext.install('nova', unicode=1)
-
from nova import config
from nova.openstack.common import log as logging
from nova import service
diff --git a/nova/cmd/spicehtml5proxy.py b/nova/cmd/spicehtml5proxy.py
index 190e7e77a..8e005bcad 100644
--- a/nova/cmd/spicehtml5proxy.py
+++ b/nova/cmd/spicehtml5proxy.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2012 OpenStack Foundation
diff --git a/nova/cmd/xvpvncproxy.py b/nova/cmd/xvpvncproxy.py
index 0f62e2083..7d0c87627 100644
--- a/nova/cmd/xvpvncproxy.py
+++ b/nova/cmd/xvpvncproxy.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# vim: tabstop=4 shiftwidth=4 softtabstop=4
# Copyright (c) 2010 OpenStack Foundation
diff --git a/nova/compute/api.py b/nova/compute/api.py
index 111d87fc5..aa0ae7d96 100644
--- a/nova/compute/api.py
+++ b/nova/compute/api.py
@@ -1722,8 +1722,10 @@ class API(base.Base):
task_states.SUSPENDING])
def reboot(self, context, instance, reboot_type):
"""Reboot the given instance."""
- if (reboot_type == 'SOFT' and
- instance['task_state'] == task_states.REBOOTING):
+ if ((reboot_type == 'SOFT' and
+ instance['task_state'] == task_states.REBOOTING) or
+ (reboot_type == 'HARD' and
+ instance['task_state'] == task_states.REBOOTING_HARD)):
raise exception.InstanceInvalidState(
attr='task_state',
instance_uuid=instance['uuid'],
diff --git a/nova/compute/claims.py b/nova/compute/claims.py
index fc170839f..935c0f2aa 100644
--- a/nova/compute/claims.py
+++ b/nova/compute/claims.py
@@ -159,28 +159,33 @@ class Claim(NopClaim):
"""Test if the given type of resource needed for a claim can be safely
allocated.
"""
- msg = _("Total %(type_)s: %(total)d %(unit)s, used: %(used)d %(unit)s")
- LOG.audit(msg % locals(), instance=self.instance)
+ LOG.audit(_('Total %(type)s: %(total)d %(unit)s, used: %(used).02f '
+ '%(unit)s'),
+ {'type': type_, 'total': total, 'unit': unit, 'used': used},
+ instance=self.instance)
if limit is None:
# treat resource as unlimited:
- LOG.audit(_("%(type_)s limit not specified, defaulting to "
- "unlimited") % locals(), instance=self.instance)
+ LOG.audit(_('%(type)s limit not specified, defaulting to '
+ 'unlimited'), {'type': type_}, instance=self.instance)
return True
free = limit - used
# Oversubscribed resource policy info:
- msg = _("%(type_)s limit: %(limit)d %(unit)s, free: %(free)d "
- "%(unit)s") % locals()
- LOG.audit(msg, instance=self.instance)
+ LOG.audit(_('%(type)s limit: %(limit).02f %(unit)s, free: %(free).02f '
+ '%(unit)s'),
+ {'type': type_, 'limit': limit, 'free': free, 'unit': unit},
+ instance=self.instance)
can_claim = requested <= free
if not can_claim:
- msg = _("Unable to claim resources. Free %(type_)s %(free)d "
- "%(unit)s < requested %(requested)d %(unit)s") % locals()
- LOG.info(msg, instance=self.instance)
+ LOG.info(_('Unable to claim resources. Free %(type)s %(free).02f '
+ '%(unit)s < requested %(requested)d %(unit)s'),
+ {'type': type_, 'free': free, 'unit': unit,
+ 'requested': requested},
+ instance=self.instance)
return can_claim
diff --git a/nova/compute/flavors.py b/nova/compute/flavors.py
index 95fac0278..2958769e1 100644
--- a/nova/compute/flavors.py
+++ b/nova/compute/flavors.py
@@ -66,18 +66,11 @@ system_metadata_instance_type_props = {
}
-def create(name, memory, vcpus, root_gb, ephemeral_gb=None, flavorid=None,
- swap=None, rxtx_factor=None, is_public=True):
+def create(name, memory, vcpus, root_gb, ephemeral_gb=0, flavorid=None,
+ swap=0, rxtx_factor=1.0, is_public=True):
"""Creates instance types."""
-
- if flavorid is None or flavorid == '':
+ if not flavorid:
flavorid = uuid.uuid4()
- if swap is None:
- swap = 0
- if rxtx_factor is None:
- rxtx_factor = 1.0
- if ephemeral_gb is None:
- ephemeral_gb = 0
kwargs = {
'memory_mb': memory,
@@ -97,13 +90,23 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb=None, flavorid=None,
msg = _("names can only contain [a-zA-Z0-9_.- ]")
raise exception.InvalidInput(reason=msg)
- # ensure some attributes are integers and greater than or equal to 0
- for option in ['memory_mb', 'vcpus', 'root_gb', 'ephemeral_gb', 'swap']:
+ # Some attributes are positive ( > 0) integers
+ for option in ['memory_mb', 'vcpus']:
+ try:
+ kwargs[option] = int(kwargs[option])
+ assert kwargs[option] > 0
+ except (ValueError, AssertionError):
+ msg = _("'%s' argument must be greater than 0") % option
+ raise exception.InvalidInput(reason=msg)
+
+ # Some attributes are non-negative ( >= 0) integers
+ for option in ['root_gb', 'ephemeral_gb', 'swap']:
try:
kwargs[option] = int(kwargs[option])
assert kwargs[option] >= 0
except (ValueError, AssertionError):
- msg = _("'%s' argument must be a positive integer") % option
+ msg = _("'%s' argument must be greater than or equal"
+ " to 0") % option
raise exception.InvalidInput(reason=msg)
# rxtx_factor should be a positive float
@@ -114,14 +117,6 @@ def create(name, memory, vcpus, root_gb, ephemeral_gb=None, flavorid=None,
msg = _("'rxtx_factor' argument must be a positive float")
raise exception.InvalidInput(reason=msg)
- # some value are required to be nonzero, not just positive
- for option in ['memory_mb', 'vcpus']:
- try:
- assert kwargs[option] > 0
- except AssertionError:
- msg = _("'%s' argument must be greater than 0") % option
- raise exception.InvalidInput(reason=msg)
-
kwargs['name'] = name
# NOTE(vish): Internally, flavorid is stored as a string but it comes
# in through json as an integer, so we convert it here.
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 8d5d8c962..79903f854 100755
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -62,7 +62,6 @@ from nova.network import model as network_model
from nova.network.security_group import openstack_driver
from nova.openstack.common import excutils
from nova.openstack.common import jsonutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common.notifier import api as notifier
from nova.openstack.common import periodic_task
@@ -699,7 +698,7 @@ class ComputeManager(manager.SchedulerDependentManager):
Synchronise the call beacuse we may still be in the middle of
creating the instance.
"""
- @lockutils.synchronized(instance['uuid'], 'nova-')
+ @utils.synchronized(instance['uuid'])
def _sync_refresh():
return self.driver.refresh_instance_security_rules(instance)
return _sync_refresh()
@@ -1313,7 +1312,7 @@ class ComputeManager(manager.SchedulerDependentManager):
if filter_properties is None:
filter_properties = {}
- @lockutils.synchronized(instance['uuid'], 'nova-')
+ @utils.synchronized(instance['uuid'])
def do_run_instance():
self._run_instance(context, request_spec,
filter_properties, requested_networks, injected_files,
@@ -1465,7 +1464,7 @@ class ComputeManager(manager.SchedulerDependentManager):
if not bdms:
bdms = self._get_instance_volume_bdms(context, instance)
- @lockutils.synchronized(instance['uuid'], 'nova-')
+ @utils.synchronized(instance['uuid'])
def do_terminate_instance(instance, bdms):
try:
self._delete_instance(context, instance, bdms,
@@ -2928,7 +2927,7 @@ class ComputeManager(manager.SchedulerDependentManager):
def reserve_block_device_name(self, context, instance, device,
volume_id=None):
- @lockutils.synchronized(instance['uuid'], 'nova-')
+ @utils.synchronized(instance['uuid'])
def do_reserve():
bdms = self.conductor_api.block_device_mapping_get_all_by_instance(
context, instance)
diff --git a/nova/compute/resource_tracker.py b/nova/compute/resource_tracker.py
index e5edfa564..ef91063b4 100644
--- a/nova/compute/resource_tracker.py
+++ b/nova/compute/resource_tracker.py
@@ -30,8 +30,8 @@ from nova import context
from nova import exception
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
+from nova import utils
resource_tracker_opts = [
cfg.IntOpt('reserved_host_disk_mb', default=0,
@@ -65,7 +65,7 @@ class ResourceTracker(object):
self.tracked_migrations = {}
self.conductor_api = conductor.API()
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def instance_claim(self, context, instance_ref, limits=None):
"""Indicate that some resources are needed for an upcoming compute
instance build operation.
@@ -115,7 +115,7 @@ class ResourceTracker(object):
else:
raise exception.ComputeResourcesUnavailable()
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def resize_claim(self, context, instance_ref, instance_type, limits=None):
"""Indicate that resources are needed for a resize operation to this
compute host.
@@ -183,7 +183,7 @@ class ResourceTracker(object):
instance_ref['launched_on'] = self.host
instance_ref['node'] = self.nodename
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def abort_instance_claim(self, instance):
"""Remove usage from the given instance."""
# flag the instance as deleted to revert the resource usage
@@ -194,7 +194,7 @@ class ResourceTracker(object):
ctxt = context.get_admin_context()
self._update(ctxt, self.compute_node)
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def drop_resize_claim(self, instance, instance_type=None, prefix='new_'):
"""Remove usage for an incoming/outgoing migration."""
if instance['uuid'] in self.tracked_migrations:
@@ -212,7 +212,7 @@ class ResourceTracker(object):
ctxt = context.get_admin_context()
self._update(ctxt, self.compute_node)
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def update_usage(self, context, instance):
"""Update the resource usage and stats after a change in an
instance
@@ -232,7 +232,7 @@ class ResourceTracker(object):
def disabled(self):
return self.compute_node is None
- @lockutils.synchronized(COMPUTE_RESOURCE_SEMAPHORE, 'nova-')
+ @utils.synchronized(COMPUTE_RESOURCE_SEMAPHORE)
def update_available_resource(self, context):
"""Override in-memory calculations of compute node resource usage based
on data audited from the hypervisor layer.
diff --git a/nova/db/sqlalchemy/utils.py b/nova/db/sqlalchemy/utils.py
index ccca9cb9d..f0eece661 100644
--- a/nova/db/sqlalchemy/utils.py
+++ b/nova/db/sqlalchemy/utils.py
@@ -33,6 +33,16 @@ from nova.openstack.common import timeutils
LOG = logging.getLogger(__name__)
+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."""
+ metadata = MetaData()
+ metadata.bind = engine
+ return Table(name, metadata, autoload=True)
+
+
class InsertFromSelect(UpdateBase):
def __init__(self, table, select):
self.table = table
diff --git a/nova/filters.py b/nova/filters.py
index 59028a542..18e3a7d66 100644
--- a/nova/filters.py
+++ b/nova/filters.py
@@ -18,6 +18,9 @@ Filter support
"""
from nova import loadables
+from nova.openstack.common import log as logging
+
+LOG = logging.getLogger(__name__)
class BaseFilter(object):
@@ -48,6 +51,11 @@ class BaseFilterHandler(loadables.BaseLoader):
def get_filtered_objects(self, filter_classes, objs,
filter_properties):
+ list_objs = list(objs)
+ LOG.debug("Starting with %d host(s)", len(list_objs))
for filter_cls in filter_classes:
- objs = filter_cls().filter_all(objs, filter_properties)
- return list(objs)
+ list_objs = list(filter_cls().filter_all(list_objs,
+ filter_properties))
+ LOG.debug("Filter %s returned %d host(s)",
+ filter_cls.__name__, len(list_objs))
+ return list_objs
diff --git a/nova/locale/bs/LC_MESSAGES/nova.po b/nova/locale/bs/LC_MESSAGES/nova.po
index ab38b82d7..3d2bc7e26 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1432,21 +1432,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1847,7 +1847,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2021,33 +2021,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2119,62 +2119,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2844,11 +2844,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2894,53 +2896,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3245,6 +3251,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3413,346 +3429,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4947,38 +4963,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4995,34 +5011,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5737,17 +5779,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6664,17 +6706,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6713,12 +6755,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6728,22 +6770,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7623,7 +7665,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7975,12 +8017,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8138,7 +8180,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8172,235 +8214,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8408,49 +8450,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8458,50 +8524,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8511,67 +8577,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8604,11 +8670,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8947,103 +9013,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9257,29 +9323,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/cs/LC_MESSAGES/nova.po b/nova/locale/cs/LC_MESSAGES/nova.po
index 0d1ec19e2..318b5a055 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1478,21 +1478,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Spouštění příkazu (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "Prostředí není podporováno přes SSH"
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr "process_input není podporován přes SSH"
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Výsledek byl %s"
@@ -1904,7 +1904,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Nelze najít adresu %r"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: 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"
@@ -2088,33 +2088,33 @@ 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:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Zachycena chyba: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s vrácena s HTTP %(status)d"
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr "Musí být určena třída ExtensionManager"
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr "Rozšířený zdroj: %s"
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, 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:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "Rozšíření %(ext_name)s: rozšiřování zdroje %(collection)s"
@@ -2187,62 +2187,62 @@ msgstr "Odmítnutí žádosti o snímek, snímky jsou nyní zakázány"
msgid "Instance snapshots are not permitted at this time."
msgstr "Snímky instance nejsou v současnosti povoleny."
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr "Načteno rozšíření: %s"
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr "Název roz: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr "Přezdívká roz: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr "Popis roz: %s"
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr "Jmenný prostor roz: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr "Roz aktualizováno: %s"
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr "Výjimka při načítání rozšíření: %s"
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "Načítání rozšíření %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr "Volání továrny rozšíření %s"
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Nelze načít rozšížení %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Nelze načíst rozšíření %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "Nelze načíst rozšíření %(ext_name)s: %(exc)s"
@@ -2940,11 +2940,13 @@ msgid "Error in evacuate, %s"
msgstr "Chyba v přesunu %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Certifikát %(certificate_id)s nenalezen."
@@ -2993,57 +2995,62 @@ msgstr "Žádné další plovoucí ip nejsou dostupné."
msgid "Floating ip %s has been disassociated"
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr "Chybí parametr dict"
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
msgid "Address not specified"
msgstr "Adresa není určena"
-#: nova/api/openstack/compute/contrib/floating_ips.py:225
+#: nova/api/openstack/compute/contrib/floating_ips.py:226
#, fuzzy
msgid "No nw_info cache associated with instance"
msgstr "K instanci nejsou přidruženy žádné pevné ip"
-#: nova/api/openstack/compute/contrib/floating_ips.py:230
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
msgid "No fixed ips associated to instance"
msgstr "K instanci nejsou přidruženy žádné pevné ip"
-#: nova/api/openstack/compute/contrib/floating_ips.py:246
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+#, fuzzy
+msgid "Specified fixed address not assigned to instance"
+msgstr "K instanci nejsou přidruženy žádné pevné ip"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
#, fuzzy
msgid "floating ip is already associated"
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/api/openstack/compute/contrib/floating_ips.py:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "Nenalezeny žádné plovoucí ip"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
#, fuzzy
msgid "Floating ip is not associated"
msgstr "Plovoucí ip %(address)s není přidružena."
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3361,6 +3368,16 @@ msgstr "Vytvořit snímek ze svazku %s"
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Uvolnit adresu %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Uvolnit adresu %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3530,362 +3547,362 @@ msgstr "prvek není podřazený"
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
#, fuzzy
msgid "leasing ip"
msgstr "Vytváření obrazu"
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
#, fuzzy
msgid "releasing ip"
msgstr "Vytváření obrazu"
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "obdrženo: %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Chyba DB: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "Reset sítě"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "počáteční adresa"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
#, fuzzy
msgid "No fixed IP found."
msgstr "Bylo nalezeno nula pevných ip."
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, 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:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Plovoucí ip %(address)s je přidružena."
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "počáteční adresa"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "projekt"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Síť nenalezena"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, 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:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "zastavit instanci %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, 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:700
+#: nova/cmd/manage.py:697
#, 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:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Neočekávaná chyba: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
#, fuzzy
msgid "PROJECT"
msgstr "projekt"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Nelze vytvořit typ instance"
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instance - %s není přítomno"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
#, fuzzy
msgid "Unknown error"
msgstr "neznámá chyby připojení hosta"
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, fuzzy, python-format
msgid "%s created"
msgstr "Tabulka |%s| není vytvořena!"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s je platný název instance"
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Chyba DB: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "typ je = %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5163,38 +5180,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Nelze restartovat instanci"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr "Nerozpoznaná hodnota read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: zachráněna"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5211,34 +5228,60 @@ msgstr "verze by měla být celé číslo"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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
#, fuzzy
msgid "volume_usage_cache table not dropped"
@@ -5983,17 +6026,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr "Nelze vložit soubor: %(resp)r"
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "Získány neznámé argumenty klíčového slova pro utils.execute: %r"
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Spouštění příkazu (podproces): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r selhalo. Opakování."
@@ -6933,18 +6976,18 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
#, fuzzy
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"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:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6984,12 +7027,12 @@ msgstr ""
msgid "spawn error"
msgstr "neznámá chyby připojení hosta"
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, 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:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6999,22 +7042,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, 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:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7910,7 +7953,7 @@ msgstr "Verze agenta instance: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Aktualizace statistik hostitele"
@@ -8276,12 +8319,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, 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:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Vkládání cesty souboru: '%s'"
@@ -8447,7 +8490,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr "Nelze zjistit název zavaděče iscsi"
@@ -8481,247 +8524,247 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr "Neůze najít vbd pro vdi %s"
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "skupina svazku %s neexistuje"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Připojení k libvirt poškozeno"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Připojování k libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, 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:737
+#: nova/virt/libvirt/driver.py:742
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr "Instance úspěšně zničena."
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Instance budou zastaveny"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, 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:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, 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:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "Mazání souborů instance %(target)s"
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, 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:903
+#: nova/virt/libvirt/driver.py:908
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Nelze zjistit název zavaděče iscsi"
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Nelze zjistit název zavaděče iscsi"
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Źádné sítě nejsou určeny."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "Při spuštění wait zmizelo %s."
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Źádné sítě nejsou určeny."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Nelze restartovat instanci"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr "Instance úspěšně restartována."
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr "Instance je spuštěna"
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr "Instance úspěšně vytvořena."
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Uživatel nemá správcovská oprávnění"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr "Vytváření obrazu"
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8729,12 +8772,12 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -8743,7 +8786,27 @@ msgstr ""
"Chyba od libvirt při hledání %(instance_name)s: [Kód chyby "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -8752,31 +8815,35 @@ 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:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr "verze libvirt je příliš stará (nepodporuje getVersion)"
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8784,21 +8851,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -8807,16 +8874,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:2933
+#: nova/virt/libvirt/driver.py:3002
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:2941
+#: nova/virt/libvirt/driver.py:3010
#, 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:2978
+#: nova/virt/libvirt/driver.py:3047
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -8825,7 +8892,7 @@ msgstr ""
"Nelze přesunout %(instance_id)s do %(dest)s: Nedostatek disku "
"(hostitel:%(available)s <= instance:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -8834,7 +8901,7 @@ msgstr ""
"Spuštěná instance má info o CPU:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8849,7 +8916,7 @@ msgstr ""
"\n"
"Prohlédněte si %(u)s"
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -8858,24 +8925,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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, 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:3245
+#: nova/virt/libvirt/driver.py:3314
#, 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:3357
+#: nova/virt/libvirt/driver.py:3426
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -8884,42 +8951,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:3374
+#: nova/virt/libvirt/driver.py:3443
#, 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:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "Instance %s: Spouštění přesunu disku a vypnutí"
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
#, fuzzy
msgid "Instance running successfully."
msgstr "Instance %s úspěšně běží."
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
#, fuzzy
msgid "Starting finish_migration"
msgstr "Instance %s: Spouštění dokončení přesunu"
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "Instance %s: Spuštění dokočení vrácení přesunu"
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "Mazání souborů instance %(target)s"
@@ -8954,11 +9021,11 @@ msgstr "Nwfilter (%(instance_filter_name)s) pro %(name)s nenalezen."
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Nastavení základního filtrování"
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "neznámá obslužná rutina obrazu disku: %s"
@@ -9313,106 +9380,106 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Nelze nalézt svazek %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, fuzzy, python-format
msgid "Fetching image '%s' from glance"
msgstr "Stahování obrazu %s ze serveru obrazu glance"
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Odstraňování základního souboru: %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, fuzzy, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr "Nahrávání obrazu %s"
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "vytváření sr bez nástrojů svazku"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, fuzzy, python-format
msgid "Copying image to the device '%s'"
msgstr "Získávání velikosto brazu %s"
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Filtry přidány do instance %s"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Nelze použít globální roli %(role_id)s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
#, fuzzy
msgid "Connection error connecting PowerVM manager"
msgstr "Chyba připojení během kontaktování serveru glance, další pokus"
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Spouštění příkazu (podproces): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "Připojení k melange selhalo"
@@ -9631,29 +9698,29 @@ msgstr "%(text)s: _db_content => %(content)s"
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:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr "Není registrováno žádné VM"
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "Virtuální stroj s ref %s neexistuje"
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, 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:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr "Sezení je chybné"
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr "Sezení je neplatné"
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " Žádné virtuální stroje nebyly zatím registrovány"
diff --git a/nova/locale/da/LC_MESSAGES/nova.po b/nova/locale/da/LC_MESSAGES/nova.po
index f1f85e01d..6d520985e 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1432,21 +1432,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1847,7 +1847,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2021,33 +2021,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2119,62 +2119,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2844,11 +2844,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2894,53 +2896,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3245,6 +3251,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3413,346 +3429,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4947,38 +4963,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4995,34 +5011,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5737,17 +5779,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6664,17 +6706,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6713,12 +6755,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6728,22 +6770,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7623,7 +7665,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7975,12 +8017,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8138,7 +8180,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8172,236 +8214,236 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "bind %s: slettet"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8409,49 +8451,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8459,50 +8525,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8512,67 +8578,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8605,11 +8671,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8948,103 +9014,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9258,29 +9324,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/de/LC_MESSAGES/nova.po b/nova/locale/de/LC_MESSAGES/nova.po
index 538998830..7ed7e62f6 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1434,21 +1434,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Ergebnis war %s"
@@ -1849,7 +1849,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2024,33 +2024,33 @@ 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:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2122,62 +2122,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2849,11 +2849,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Instanz %s pausiert"
@@ -2900,53 +2902,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3251,6 +3257,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3419,347 +3435,347 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "Instanz %s: Rettung"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4962,38 +4978,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5010,34 +5026,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5753,17 +5795,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Führe Kommando (subprocess) aus: %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6680,17 +6722,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6729,12 +6771,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6744,22 +6786,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7644,7 +7686,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7996,12 +8038,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8161,7 +8203,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8195,236 +8237,236 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "Volume %s: erfolgreich erstellt"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8432,49 +8474,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8482,50 +8548,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8535,67 +8601,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8628,11 +8694,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8971,103 +9037,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Nicht möglich volume %s zufinden"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Führe Kommando (subprocess) aus: %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9281,29 +9347,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/en_AU/LC_MESSAGES/nova.po b/nova/locale/en_AU/LC_MESSAGES/nova.po
index 4885a922a..0f2c086f5 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1439,21 +1439,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Running cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Result was %s"
@@ -1859,7 +1859,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address %s"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2035,33 +2035,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Failed to get metadata for ip: %s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Caught error: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2133,62 +2133,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2868,11 +2868,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "setting network host"
@@ -2919,54 +2921,58 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "group %s already exists"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "setting network host"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3278,6 +3284,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Release address %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Release address %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3447,354 +3463,354 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "setting network host"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s already exists"
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "start address"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "setting network host"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Reboot instance %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error raised: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: rescued"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Caught error: %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5020,38 +5036,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5068,34 +5084,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5818,17 +5860,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6751,17 +6793,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6800,12 +6842,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6815,22 +6857,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7721,7 +7763,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8077,12 +8119,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, 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:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injecting file path: '%s'"
@@ -8248,7 +8290,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8282,239 +8324,239 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "volume group %s doesn't exist"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to try to terminate %s"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: rebooted"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8522,49 +8564,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8572,50 +8638,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8625,67 +8691,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Authentication Failure: %s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8718,11 +8784,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9061,104 +9127,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Unable to locate volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Unable to locate volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Unable to detach volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9372,29 +9438,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/en_GB/LC_MESSAGES/nova.po b/nova/locale/en_GB/LC_MESSAGES/nova.po
index dfaa54f2f..d77db9924 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1439,21 +1439,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Running cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Result was %s"
@@ -1854,7 +1854,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2031,33 +2031,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Invalid instance type %(instance_type)s."
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2129,62 +2129,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2859,11 +2859,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "instance %s: suspending"
@@ -2910,53 +2912,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3263,6 +3269,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3432,349 +3448,349 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "instance %s: reset network"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Rebooting instance %s"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: resuming"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4987,38 +5003,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5035,34 +5051,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5779,17 +5821,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6712,17 +6754,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6761,12 +6803,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6776,22 +6818,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7678,7 +7720,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8034,12 +8076,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8205,7 +8247,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8239,237 +8281,237 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connection to melange failed"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: created successfully"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "User does not have admin privileges"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8477,49 +8519,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Unable to detach volume %s"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8527,50 +8593,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8580,67 +8646,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8673,11 +8739,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9016,104 +9082,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Unable to locate volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Starting Bridge interface for %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Unable to locate volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Unable to detach volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "Connection to melange failed"
@@ -9329,29 +9395,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/en_US/LC_MESSAGES/nova.po b/nova/locale/en_US/LC_MESSAGES/nova.po
index f355b33b6..3bdeafc46 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1488,21 +1488,21 @@ msgstr ""
"unexpected task state: expecting %(expected)s but the actual state is "
"%(actual)s"
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Running cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "Environment not supported over SSH"
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr "process_input not supported over SSH"
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Result was %s"
@@ -1906,7 +1906,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Unable to associate IP Address, no fixed_ips."
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: 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"
@@ -2087,26 +2087,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:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Caught error: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s returned with HTTP %(status)d"
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr "Must specify an ExtensionManager class"
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr "Extended resource: %s"
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
@@ -2115,7 +2115,7 @@ msgstr ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "Extension %(ext_name)s extending resource: %(collection)s"
@@ -2189,62 +2189,62 @@ msgstr "Rejecting snapshot request, snapshots currently disabled"
msgid "Instance snapshots are not permitted at this time."
msgstr "Instance snapshots are not permitted at this time."
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr "Loaded extension: %s"
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr "Ext name: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr "Ext alias: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr "Ext description: %s"
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext namespace: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr "Ext updated: %s"
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr "Exception loading extension: %s"
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "Loading extension %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr "Calling extension factory %s"
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Failed to load extension %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Failed to load extension %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "Failed to load extension %(ext_name)s: %(exc)s"
@@ -2932,11 +2932,13 @@ msgid "Error in evacuate, %s"
msgstr "Error in migrate %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Fixed ip %(fixed_ip_id)s not found"
@@ -2983,53 +2985,58 @@ msgstr "No more floating ips available."
msgid "Floating ip %s has been disassociated"
msgstr "Floating ip is not associated"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr "Missing parameter dict"
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
msgid "Address not specified"
msgstr "Address not specified"
-#: nova/api/openstack/compute/contrib/floating_ips.py:225
+#: nova/api/openstack/compute/contrib/floating_ips.py:226
msgid "No nw_info cache associated with instance"
msgstr "No nw_info cache associated with instance"
-#: nova/api/openstack/compute/contrib/floating_ips.py:230
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
msgid "No fixed ips associated to instance"
msgstr "No fixed ips associated to instance"
-#: nova/api/openstack/compute/contrib/floating_ips.py:246
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+#, fuzzy
+msgid "Specified fixed address not assigned to instance"
+msgstr "No fixed ips associated to instance"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
msgid "floating ip is already associated"
msgstr "floating ip is already associated"
-#: nova/api/openstack/compute/contrib/floating_ips.py:249
+#: nova/api/openstack/compute/contrib/floating_ips.py:259
msgid "l3driver call to add floating ip failed"
msgstr "l3driver call to add floating ip failed"
-#: nova/api/openstack/compute/contrib/floating_ips.py:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
msgid "floating ip not found"
msgstr "floating ip not found"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: nova/api/openstack/compute/contrib/floating_ips.py:266
msgid "Error. Unable to associate floating ip"
msgstr "Error. Unable to associate floating ip"
-#: nova/api/openstack/compute/contrib/floating_ips.py:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr "Floating ip is not associated"
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3347,6 +3354,16 @@ msgstr "Create snapshot from volume %s"
msgid "Invalid value '%s' for force."
msgstr "Invalid value '%s' for force. "
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Release address %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Release address %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr "Instance has had its instance_type removed from the DB"
@@ -3515,362 +3532,362 @@ msgstr "element is not a child"
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
#, fuzzy
msgid "leasing ip"
msgstr "Creating vifs"
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
#, fuzzy
msgid "releasing ip"
msgstr "Creating vifs"
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "received %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "DB error: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "Reset network"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "start address"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
#, fuzzy
msgid "No fixed IP found."
msgstr "Zero fixed ips could be found."
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "No fixed ips associated to instance"
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Floating ip %(address)s already exists."
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "start address"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "project"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Network not found"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s is required to create a network."
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "stop instance"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, 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:700
+#: nova/cmd/manage.py:697
#, 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:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Unexpected error: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
#, fuzzy
msgid "PROJECT"
msgstr "project"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Unable to create instance type"
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instance not present"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
#, fuzzy
msgid "Unknown error"
msgstr "unknown guestmount error"
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, fuzzy, python-format
msgid "%s created"
msgstr "Table |%s| not created!"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s is a valid instance name"
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "DB error: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, 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:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "hyperv vm state: %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5138,38 +5155,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Failed to reboot instance"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr "Unrecognized read_deleted value '%s'"
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: rescued"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, 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:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5186,34 +5203,60 @@ 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:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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
#, fuzzy
msgid "volume_usage_cache table not dropped"
@@ -5963,17 +6006,17 @@ msgstr "No handler for matches of kind %s"
msgid "Failed to understand rule %(rule)r"
msgstr "Failed to understand rule %(rule)r"
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "Got unknown keyword args to utils.execute: %r"
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r failed. Retrying."
@@ -6928,7 +6971,7 @@ msgstr "200 No Roles"
msgid "unexpected role header"
msgstr "unexpected role header"
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
@@ -6936,11 +6979,11 @@ msgstr ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
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:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
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"
@@ -6980,12 +7023,12 @@ msgstr ""
msgid "spawn error"
msgstr "unknown guestmount error"
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, 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:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6995,22 +7038,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, 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:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, fuzzy, python-format
msgid ""
"Values do not match:\n"
@@ -7913,7 +7956,7 @@ msgstr "Windows version: %s "
msgid "get_available_resource called"
msgstr "get_available_resource called"
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "Updating host stats"
@@ -8280,12 +8323,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "Using config drive"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, 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:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Creating config drive at %(path)s"
@@ -8444,7 +8487,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr "Could not determine iscsi initiator name"
@@ -8478,215 +8521,215 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr "Unable to find vbd for vdi %s"
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, 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:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Volume %s does not exist in Nexenta SA"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Connection to libvirt broke"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, 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:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connecting to libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, 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:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr "During wait destroy, instance disappeared."
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr "Instance destroyed successfully."
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Going to stop instances"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr "Error from libvirt during undefineFlags. Retrying with undefine"
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, 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:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, 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:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "Deleting instance files %(target)s"
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, 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:903
+#: nova/virt/libvirt/driver.py:908
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "Could not determine iscsi initiator name"
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "During detach_volume, instance disappeared."
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "No networks defined."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr "Instance soft rebooted successfully."
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr "Failed to soft reboot instance."
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr "Instance shutdown successfully."
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr "Instance rebooted successfully."
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr "Instance is running"
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr "Instance spawned successfully."
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr "Guest does not have a console available"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr "Path '%(path)s' supports direct I/O"
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, 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:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, 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:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr "Creating image"
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr "Using config drive"
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, python-format
msgid ""
"Config requested an explicit CPU model, but the current libvirt "
@@ -8695,20 +8738,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:1984
+#: nova/virt/libvirt/driver.py:1989
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:1988
+#: nova/virt/libvirt/driver.py:1993
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:1992
+#: nova/virt/libvirt/driver.py:1997
#, 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:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
@@ -8716,7 +8759,7 @@ msgstr ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8724,12 +8767,12 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -8738,7 +8781,27 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, fuzzy, python-format
+msgid "Invalid exclusion expression %r"
+msgstr "Invalid reservation expiration %(expire)s."
+
+#: nova/virt/libvirt/driver.py:2567
+#, fuzzy, python-format
+msgid "Invalid inclusion expression %r"
+msgstr "Invalid reservation expiration %(expire)s."
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -8747,31 +8810,35 @@ 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:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
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:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8779,21 +8846,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -8802,15 +8869,15 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:2933
+#: nova/virt/libvirt/driver.py:3002
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:2941
+#: nova/virt/libvirt/driver.py:3010
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:2978
+#: nova/virt/libvirt/driver.py:3047
#, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -8819,7 +8886,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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -8828,7 +8895,7 @@ msgstr ""
"Instance launched has CPU info:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8843,7 +8910,7 @@ msgstr ""
"\n"
"Refer to %(u)s"
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -8852,22 +8919,22 @@ msgstr ""
"Creating tmpfile %s to notify to other compute nodes that they should "
"mount the same storage."
-#: nova/virt/libvirt/driver.py:3080
+#: nova/virt/libvirt/driver.py:3149
#, 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:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Live Migration failure: %(e)s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, 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:3357
+#: nova/virt/libvirt/driver.py:3426
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -8876,38 +8943,38 @@ msgstr ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3374
+#: nova/virt/libvirt/driver.py:3443
#, 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:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, 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:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr "Starting migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr "Instance running successfully."
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr "Starting finish_migration"
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr "Starting finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "Deleting instance files %(target)s"
@@ -8942,11 +9009,11 @@ msgstr "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables firewall: Setup Basic Filtering"
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
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:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr "Unknown image_type=%s"
@@ -9303,104 +9370,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr "Removing the logical volume '%s'"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr "Fetching image '%s' from glance"
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Writing image info file: %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, fuzzy, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr "Copying image '%s' to IVM"
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Creating logical volume"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr "Copying image to the device '%s'"
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Filters added to instance"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr "Could not create logical volume. No space left on any volume group."
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr "Unable to get checksum"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr "Image checksums do not match"
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr "Uncompressed image file not found"
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr "Connection error connecting PowerVM manager"
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Running cmd (subprocess): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr "File transfer to PowerVM manager failed"
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "File transfer to PowerVM manager failed"
@@ -9622,29 +9689,29 @@ msgstr "%(text)s: _db_content => %(content)s"
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:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr "There is no VM registered"
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, 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:551
+#: nova/virt/vmwareapi/fake.py:557
#, 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:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr "Session is faulty"
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr "Session Invalid"
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " No Virtual Machine has been registered yet"
diff --git a/nova/locale/es/LC_MESSAGES/nova.po b/nova/locale/es/LC_MESSAGES/nova.po
index bdb14e334..d46bad9a2 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1450,21 +1450,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "corriendo cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "El resultado fue %s"
@@ -1868,7 +1868,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desasociar dirección %s"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2046,33 +2046,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Fallo al generar metadatos para la ip %s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Capturado error: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2144,62 +2144,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2880,11 +2880,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "configurando la red del host"
@@ -2931,54 +2933,58 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "el grupo %s ya existe"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "configurando la red del host"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3291,6 +3297,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Liberar dirección %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Liberar dirección %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3460,354 +3476,354 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "recibido %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "Asignar dirección"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "el grupo %s ya existe"
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "configurando la red del host"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Reiniciar instancia %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Sucedió un error inexperado: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instancia %s: rescatada"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado error: %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5039,38 +5055,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Fallo a reinicia la instancia"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instancia %s: rescatada"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5087,34 +5103,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5835,17 +5877,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Ejecutando cmd (subprocesos): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6772,17 +6814,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6821,12 +6863,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6836,22 +6878,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7740,7 +7782,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8096,12 +8138,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8267,7 +8309,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8301,239 +8343,239 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "el grupo de volumenes %s no existe"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Conexión a libvirt rota"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Conectando a libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Vamos a ejecutar %s insntacias..."
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instancia %s: reiniciada"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "El usuario no tiene privilegios de administrador"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8541,49 +8583,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8591,50 +8657,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8644,67 +8710,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Fallo de autenticación: %s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8737,11 +8803,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9080,105 +9146,105 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Imposible encontrar volumen %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Iniciando interfaz puente para %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Imposible encontrar volumen %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Fallo a reinicia la instancia"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Imposible desasociar volumen %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Ejecutando cmd (subprocesos): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "Falló la conexión a melange"
@@ -9394,29 +9460,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/fr/LC_MESSAGES/nova.po b/nova/locale/fr/LC_MESSAGES/nova.po
index 20cf35843..0f9f99b15 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1482,21 +1482,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Execution de la cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Le résultat était %s"
@@ -1910,7 +1910,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Désassociation de l'adresse %s"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2093,33 +2093,33 @@ 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:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2191,62 +2191,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2928,11 +2928,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Le certificat %(certificate_id)s non trouvé."
@@ -2979,56 +2981,60 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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
#, fuzzy
msgid "floating ip is already associated"
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/api/openstack/compute/contrib/floating_ips.py:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "Aucune IP dynamique trouvée pour l'id %(id)s."
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
#, fuzzy
msgid "Floating ip is not associated"
msgstr "L'IP dynamique %(address)s n'est pas associée."
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3342,6 +3348,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Désallocation de l'adresse %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Désallocation de l'adresse %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3513,356 +3529,356 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "%s reçu"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "adresse de départ"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
#, fuzzy
msgid "No fixed IP found."
msgstr "Aucunes IPs fixes trouvées."
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "L'IP dynamique %(address)s est associée."
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "adresse de départ"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "réglage de l'hôte réseau"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s est requis pour créer un réseau."
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Re-démarrage de l'instance %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, 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:700
+#: nova/cmd/manage.py:697
#, 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:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "\"Erreur inopinée\" remontée : %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "instance %s: récupérée"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Erreur interceptée : %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5098,38 +5114,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Échec du redémarrage de l'instance"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "instance %s: récupérée"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5146,34 +5162,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5900,17 +5942,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Execution de la commande (sous-processus) : %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6837,17 +6879,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6886,12 +6928,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6901,22 +6943,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7810,7 +7852,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8166,12 +8208,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, 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:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Injection du chemin d'accès : '%s'"
@@ -8337,7 +8379,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8371,243 +8413,243 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "Le groupe de volume %s n'existe pas"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Connexion à libvirt interrompue"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Connexion à libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Va essayer d'arrêter %s"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Aucun réseau défini."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "instance %s: re-démarrée"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data: %(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "L’utilisateur n'a pas les privilèges administrateur"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8615,49 +8657,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8665,50 +8731,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8718,67 +8784,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Echec d'authentification : %s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8811,11 +8877,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9154,105 +9220,105 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Impossible de trouver le volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Démarrage de l'interface de Bridge %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Impossible de trouver le volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Échec du redémarrage de l'instance"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Impossible de détacher le volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Execution de la commande (sous-processus) : %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "La connexion à Melange a échoué"
@@ -9468,29 +9534,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/it/LC_MESSAGES/nova.po b/nova/locale/it/LC_MESSAGES/nova.po
index c0153230d..b004f4764 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1438,21 +1438,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Eseguendo cmd (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Il risultato é %s"
@@ -1853,7 +1853,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2029,33 +2029,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Impossibile sospendere l'istanza"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2127,62 +2127,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2857,11 +2857,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "istanza %s: sospensione in corso"
@@ -2908,53 +2910,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3262,6 +3268,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3430,350 +3446,350 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "ricevuto %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "istanza %s: ripristino rete"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Impossibile sospendere l'istanza"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "istanza %s: ripristino"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4989,38 +5005,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Impossibile riavviare l'istanza"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5037,34 +5053,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5782,17 +5824,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Esecuzione del comando (sottoprocesso): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6714,17 +6756,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6763,12 +6805,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6778,22 +6820,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7681,7 +7723,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8036,12 +8078,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8207,7 +8249,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8241,239 +8283,239 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: creato con successo"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "L'utente non ha i privilegi dell'amministratore"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8481,49 +8523,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8531,50 +8597,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8584,67 +8650,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8677,11 +8743,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9020,105 +9086,105 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Impossibile localizzare il volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Avviando l'interfaccia Bridge per %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Impossibile localizzare il volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Impossibile riavviare l'istanza"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Impossibile smontare il volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Esecuzione del comando (sottoprocesso): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9332,29 +9398,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/ja/LC_MESSAGES/nova.po b/nova/locale/ja/LC_MESSAGES/nova.po
index 15d385370..d75fc6627 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1440,21 +1440,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "コマンド(SSH)を実行: %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "コマンド実行結果: %s"
@@ -1858,7 +1858,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Disassociate address: アドレス %s の関連付けを解除します。"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2034,33 +2034,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "ip %s に対するメタデータの取得に失敗しました。"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "エラー %s をキャッチしました。"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2132,62 +2132,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2867,11 +2867,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "ネットワークホストの設定をします。"
@@ -2918,54 +2920,58 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "グループ %s は既に存在しています。"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "ネットワークホストの設定をします。"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3277,6 +3283,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Release address: アドレス %s を開放します。"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Release address: アドレス %s を開放します。"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3446,354 +3462,354 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "受信: %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "エラー %s をキャッチしました。"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "ネットワークホストの設定をします。"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "開始アドレス"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "グループ %s は既に存在しています。"
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "開始アドレス"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "ネットワークホストの設定をします。"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Reboot instance: インスタンス %r を再起動します。"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "予期しないエラー発生: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "インスタンス %s: rescued"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "エラー %s をキャッチしました。"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "エラー %s をキャッチしました。"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5019,38 +5035,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "インスタンス %s: rescued"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5067,34 +5083,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5815,17 +5857,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "コマンド実行(subprocess): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6748,17 +6790,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6797,12 +6839,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6812,22 +6854,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7714,7 +7756,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8070,12 +8112,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "インスタンス終了処理を開始します。"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "ファイルパス '%s' を埋め込んでいます"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "ファイルパス '%s' を埋め込んでいます"
@@ -8241,7 +8283,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8275,237 +8317,237 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "libvirt %s へ接続します。"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "ボリュームグループ%sが存在しません。"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "libvirtへの接続が切れています。"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "libvirt %s へ接続します。"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "%s を停止しようとしています"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "インスタンス%s: 再起動しました。"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "データ: %(data)r, ファイルパス: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8513,49 +8555,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "ip %s に対するメタデータの取得に失敗しました。"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8563,50 +8629,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8616,67 +8682,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "%s の認証に失敗しました。"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8709,11 +8775,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9052,104 +9118,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "ボリューム %s の存在が確認できません。"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "%s 用のブリッジインタフェースを開始します。"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "ボリューム %s の存在が確認できません。"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "ボリューム %s を切断(detach)できません"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "コマンド実行(subprocess): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9363,29 +9429,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/ko/LC_MESSAGES/nova.po b/nova/locale/ko/LC_MESSAGES/nova.po
index 511735d17..a6463b245 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1433,21 +1433,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1848,7 +1848,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2022,33 +2022,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "%s 인스턴스에 볼륨장착 할 수 없습니다"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2120,62 +2120,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2848,11 +2848,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "인스턴스 %s: 스냅샷 저장중"
@@ -2899,53 +2901,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3250,6 +3256,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3418,347 +3434,347 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "인스턴스 %s를 재부팅합니다"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4962,38 +4978,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5010,34 +5026,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5752,17 +5794,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6679,17 +6721,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6728,12 +6770,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6743,22 +6785,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7644,7 +7686,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7998,12 +8040,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "%s 인스턴스에 볼륨장착 할 수 없습니다"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8168,7 +8210,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8202,235 +8244,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8438,49 +8480,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "%s 볼륨 탈착에 실패했습니다"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8488,50 +8554,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8541,67 +8607,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8634,11 +8700,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8977,104 +9043,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "%s 볼륨을 찾을수 없습니다"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "%s 볼륨을 찾을수 없습니다"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "%s 볼륨 탈착에 실패했습니다"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9288,29 +9354,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/ko_KR/LC_MESSAGES/nova.po b/nova/locale/ko_KR/LC_MESSAGES/nova.po
index fa0f9498b..423155ebe 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1433,21 +1433,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1848,7 +1848,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2022,33 +2022,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2120,62 +2120,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2845,11 +2845,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2895,53 +2897,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3246,6 +3252,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "주소 릴리즈 %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "주소 릴리즈 %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3414,346 +3430,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4948,38 +4964,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4996,34 +5012,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5738,17 +5780,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6665,17 +6707,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6714,12 +6756,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6729,22 +6771,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7624,7 +7666,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7976,12 +8018,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8139,7 +8181,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8173,235 +8215,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8409,49 +8451,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8459,50 +8525,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8512,67 +8578,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8605,11 +8671,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8948,103 +9014,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9258,29 +9324,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/nb/LC_MESSAGES/nova.po b/nova/locale/nb/LC_MESSAGES/nova.po
index c1d730886..d75e603d6 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1434,21 +1434,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Resultat var %s"
@@ -1849,7 +1849,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2024,33 +2024,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Kunne ikke hente metadata for ip:% s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2122,62 +2122,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "Laster utvidelse %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(classpath)s: %(exc)s"
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "Kunne ikke laste utvidelse %(ext_name)s: %(exc)s"
@@ -2849,11 +2849,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Metadata element ble ikke funnet"
@@ -2900,53 +2902,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
msgid "Address not specified"
msgstr "Adresse ikke spesifisert"
-#: nova/api/openstack/compute/contrib/floating_ips.py:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3254,6 +3260,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Frigjør adresse %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Frigjør adresse %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3422,348 +3438,348 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "Tildel adresse"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Nettverk ikke funnet"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Tjeneste %(service_id)s ble ikke funnet."
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4958,38 +4974,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5006,34 +5022,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5750,17 +5792,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r feilet. Prøver på nytt."
@@ -6680,17 +6722,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6729,12 +6771,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6744,22 +6786,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7641,7 +7683,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7993,12 +8035,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8156,7 +8198,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8190,237 +8232,237 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Ingen nettverk definert."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8428,49 +8470,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8478,50 +8544,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8531,67 +8597,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8624,11 +8690,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8967,103 +9033,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9277,29 +9343,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/nova.pot b/nova/locale/nova.pot
index afc3fb56f..0879981bc 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.243\n"
+"Project-Id-Version: nova jenkins.nova.propose.translation.update.246\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2013-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1432,21 +1432,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1847,7 +1847,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2021,33 +2021,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2119,62 +2119,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2844,11 +2844,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2894,53 +2896,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3245,6 +3251,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3413,346 +3429,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4947,38 +4963,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4995,34 +5011,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5737,17 +5779,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6664,17 +6706,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6713,12 +6755,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6728,22 +6770,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7623,7 +7665,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7975,12 +8017,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8138,7 +8180,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8172,235 +8214,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8408,49 +8450,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8458,50 +8524,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8511,67 +8577,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8604,11 +8670,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8947,103 +9013,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9257,29 +9323,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/pt_BR/LC_MESSAGES/nova.po b/nova/locale/pt_BR/LC_MESSAGES/nova.po
index 61d2d9972..463375c36 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1440,21 +1440,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Executando o comando (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "Ambiente não suportado por SSH"
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Resultado foi %s"
@@ -1858,7 +1858,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Desatribuir endereço %s"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2035,33 +2035,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "Falha ao obter metadados para o ip: %s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Capturado o erro: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2133,62 +2133,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2868,11 +2868,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Certificado %(certificate_id)s não encontrado."
@@ -2921,54 +2923,58 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "group %s já existe"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
msgid "Address not specified"
msgstr "Endereço não especificado"
-#: nova/api/openstack/compute/contrib/floating_ips.py:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "Removendo rede com id %s"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3282,6 +3288,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Liberar endereço %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Liberar endereço %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3451,355 +3467,355 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "recebido %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "instância %s: reset da rede"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "Alocar endereço"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "group %s já existe"
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Nenhuma rede definida."
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s é necessário para criar a rede."
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Reiniciar instância %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, 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:700
+#: nova/cmd/manage.py:697
#, 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:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Erro inexperado lançado: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "Instância não existe"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, fuzzy, python-format
msgid "%s created"
msgstr "_criar: %s"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Capturado o erro: %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5025,38 +5041,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Falhou ao reiniciar instância"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "Corpo do pedido está mal formado"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5073,34 +5089,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5821,17 +5863,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Executando comando (subprocesso): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r falhou. Tentando novamente."
@@ -6755,17 +6797,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6804,12 +6846,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, 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:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6819,22 +6861,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, 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:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7725,7 +7767,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8081,12 +8123,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8252,7 +8294,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8286,243 +8328,243 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Nenhuma rede definida."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "volume %s: criado com sucesso"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Usuário não tem privilégios de administrador"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, 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:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8530,49 +8572,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, 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:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8580,50 +8646,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8633,67 +8699,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Falha de Autenticação: %s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8726,11 +8792,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9069,105 +9135,105 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Não é possível localizar o volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Iniciando a Bridge para %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "Não é possível localizar o volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, fuzzy, python-format
msgid "Copying image to the device '%s'"
msgstr "Obtendo o tamanho da imagem para a imagem %s"
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Falhou ao reiniciar instância"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Não é possível desconectar o volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Executando comando (subprocesso): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9381,29 +9447,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr "Sessão inválida"
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/ru/LC_MESSAGES/nova.po b/nova/locale/ru/LC_MESSAGES/nova.po
index eb14d3220..bb486eb85 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1468,21 +1468,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Выполнение команды (SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "Среда не поддерживается с использованием SSH"
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr "process_input не поддерживается с использованием SSH"
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Результат %s"
@@ -1895,7 +1895,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "Невозможно найти адрес %r"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2076,26 +2076,26 @@ msgstr "Недопустимый запрос: %s"
msgid "Failed to get metadata for instance id: %s"
msgstr "Ошибка получения метаданных для ip: %s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Обнаружена ошибка: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s возвратил с HTTP %(status)d"
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr "Расширенный ресурс: %s"
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
@@ -2104,7 +2104,7 @@ msgstr ""
"Расширение %(ext_name)s: Невозможно расширить ресурс %(collection)s: Нет "
"такого ресурса"
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "Расширение %(ext_name)s расширение ресурса: %(collection)s"
@@ -2177,62 +2177,62 @@ msgstr "Отклонение запроса снимка, снимки в дан
msgid "Instance snapshots are not permitted at this time."
msgstr "Снимки копии в настоящий момент недопустимы."
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr "Загруженное расширение: %s"
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "Загрузка расширения %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "Ошибка загрузки расширения %(ext_factory)s: %(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "Ошибка загрузки расширения %(ext_name)s: %(exc)s"
@@ -2921,11 +2921,13 @@ msgid "Error in evacuate, %s"
msgstr "Ошибка перемещения %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Сертификат %(certificate_id)s не найден."
@@ -2974,48 +2976,52 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr "Тип тома %(name)s уже существует."
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "установка сетевого узла"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
msgid "Floating ip %(address)s is not associated with instance %(id)s."
msgstr ""
@@ -3023,7 +3029,7 @@ msgstr ""
"%(instance_id)s"
#: nova/api/openstack/compute/contrib/floating_ips_bulk.py:146
-#: nova/cmd/manage.py:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3341,6 +3347,16 @@ msgstr "Создать снимок из тома %s"
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "Присвоить адрес %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "Присвоить адрес %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3510,359 +3526,359 @@ msgstr "элемент не является потомком"
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
#, fuzzy
msgid "leasing ip"
msgstr "Создание изображения"
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
#, fuzzy
msgid "releasing ip"
msgstr "Создание изображения"
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "получено %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Ошибка БД: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "Восстановление сети"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "Выделить адрес"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "Тип тома %(name)s уже существует."
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "проект"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Сеть не найдена"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "%(req)s необходимо для создания сети."
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "Выполнение остановки копий"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "Служба %(service_id)s не найдена."
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "Служба %(service_id)s не найдена."
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "Непредвиденная ошибка: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
#, fuzzy
msgid "PROJECT"
msgstr "проект"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "копия - %s не представлена"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
#, fuzzy
msgid "Unknown error"
msgstr "Ошибка аутентификации"
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, fuzzy, python-format
msgid "%s created"
msgstr "Таблица |%s| не создана!"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Ошибка БД: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "тип = %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5127,38 +5143,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Ошибка перезагрузки копии"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr "Нераспознанное значение read_deleted '%s'"
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "Недопустимый запрос тела"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5175,34 +5191,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5941,17 +5983,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr "Ошибка обновления агента: %(resp)r"
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "Приняты неизвестные аргументы ключевого слова для utils.execute: %r"
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Выполнение команды (субпроцесс): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r ошибка. Выполняется повтор."
@@ -6887,18 +6929,18 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
#, fuzzy
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr "Превышена квота для %(pid)s, попытка выполнить %(min_count)s копий"
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6938,12 +6980,12 @@ msgstr ""
msgid "spawn error"
msgstr "Ошибка аутентификации"
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "Адрес |%(address)s| не выделен"
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6953,22 +6995,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "Адрес |%(address)s| не выделен"
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7859,7 +7901,7 @@ msgstr "Версия агента копии: %s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8221,12 +8263,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "Перечень копий"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "Невозможно найти конфигурацию по адресу %(path)s"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "Невозможно найти конфигурацию по адресу %(path)s"
@@ -8392,7 +8434,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr "Создание снимка копии ВМ %s "
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8426,241 +8468,241 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr "Ошибка поиска vbd для vdi %s"
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "том группы %s не существует"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "Неполадка с подключением к libvirt"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "Подключение к libvirt: %s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Выполнение остановки копий"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "Ошибка schedule_%(method)s: %(ex)s"
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Сети не определены."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "снимок %s: создание завершено"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "Пользователь не имеет административных привилегий"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr "Создание изображения"
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "Запрос xapi на приём образа vhd %(image)s"
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8668,12 +8710,12 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, python-format
msgid ""
"Error from libvirt while looking up %(instance_name)s: [Error Code "
@@ -8682,7 +8724,27 @@ msgstr ""
"Ошибка libvirt во время поиска %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
@@ -8691,31 +8753,35 @@ msgstr ""
"Невозможно получить количество ЦПУ, так как эта возможность не "
"реализована для этой платформы. Эту ошибку можно безопасно пропустить."
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr "устаревшая версия libvirt (не поддерживается getVersion)"
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "Получение размера образа для образа %s"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8723,21 +8789,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -8746,29 +8812,29 @@ msgstr ""
"Создание временного файла %s для оповещения других узлов сети compute о "
"необходимости присоединения того же хранилища."
-#: nova/virt/libvirt/driver.py:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8778,7 +8844,7 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -8787,22 +8853,22 @@ msgstr ""
"Создание временного файла %s для оповещения других узлов сети compute о "
"необходимости присоединения того же хранилища."
-#: nova/virt/libvirt/driver.py:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "Ошибка аутентификации: %s"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, 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:3357
+#: nova/virt/libvirt/driver.py:3426
#, fuzzy, python-format
msgid ""
"Error from libvirt while getting description of %(instance_name)s: [Error"
@@ -8811,39 +8877,39 @@ msgstr ""
"Ошибка libvirt во время поиска %(instance_name)s: [Код ошибки "
"%(error_code)s] %(ex)s"
-#: nova/virt/libvirt/driver.py:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
#, fuzzy
msgid "Instance running successfully."
msgstr "Копия %s: выполнение"
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8878,11 +8944,11 @@ msgstr "nwfilter(%(instance_filter_name)s) для%(name)s не найден."
msgid "iptables firewall: Setup Basic Filtering"
msgstr "Брандмауэр iptables: Настройка базовой фильтрации"
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "неизвестный обработчик образа диска: %s"
@@ -9229,105 +9295,105 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "Невозможно найти том %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "Запуск моста интерфейса для %s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, fuzzy, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr "Выгрузка образа %s"
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "создание sr в volume_utils"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, fuzzy, python-format
msgid "Copying image to the device '%s'"
msgstr "Получение размера образа для образа %s"
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "Ошибка перезагрузки копии"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "Невозможно использовать глобальные полномочия %(role_id)s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Выполнение команды (субпроцесс): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "Сбой соединения c melange"
@@ -9546,29 +9612,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "Свойство %(attr)s не назначено для управляемого объекта %(objName)s"
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr "Отсутствуют зарегистрированные ВМ"
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "Завершение сеанса с неполадками или уже завершённого сеанса: %s"
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr "Сеанс имеет неполадки"
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr "Недопустимый сеанс"
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " Отсутствуют зарегистриованные виртуальные машины"
diff --git a/nova/locale/tl/LC_MESSAGES/nova.po b/nova/locale/tl/LC_MESSAGES/nova.po
index cb44b700e..2d1a80fc1 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1432,21 +1432,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1847,7 +1847,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2021,33 +2021,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2119,62 +2119,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2844,11 +2844,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2894,53 +2896,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3245,6 +3251,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3413,347 +3429,347 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "natanggap %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4948,38 +4964,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4996,34 +5012,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5738,17 +5780,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6665,17 +6707,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6714,12 +6756,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6729,22 +6771,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7624,7 +7666,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7976,12 +8018,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8139,7 +8181,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8173,235 +8215,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8409,49 +8451,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8459,50 +8525,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8512,67 +8578,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8605,11 +8671,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8948,103 +9014,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9258,29 +9324,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/tr/LC_MESSAGES/nova.po b/nova/locale/tr/LC_MESSAGES/nova.po
index bd804a5c1..f68449818 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1432,21 +1432,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1847,7 +1847,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2021,33 +2021,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2119,62 +2119,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2844,11 +2844,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2894,53 +2896,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3245,6 +3251,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3413,346 +3429,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4947,38 +4963,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -4995,34 +5011,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5737,17 +5779,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6664,17 +6706,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6713,12 +6755,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6728,22 +6770,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7623,7 +7665,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7975,12 +8017,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8138,7 +8180,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8172,235 +8214,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8408,49 +8450,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8458,50 +8524,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8511,67 +8577,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8604,11 +8670,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8947,103 +9013,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9257,29 +9323,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/tr_TR/LC_MESSAGES/nova.po b/nova/locale/tr_TR/LC_MESSAGES/nova.po
index a96e9ff20..0096cf357 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1464,21 +1464,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "Çalışan komut(SSH): %s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "SSH üzerinde ortam desteklenmemektedir."
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr "SSH üzerinde process_input desteklenmemektedir."
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "Sonuç %s"
@@ -1882,7 +1882,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2057,26 +2057,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:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "Yakalama hatası: %s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, 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:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr "UzantıYöneticisi sınıfı belirlenmek zorunda"
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr "Genişletilmiş kaynak: %s"
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
@@ -2085,7 +2085,7 @@ msgstr ""
"%(ext_name)s uzantısı: %(collection)s kaynağı genişletilemiyor: Böyle bir"
" kaynak yok"
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "%(ext_name)s uzantısı kaynağı genişletiyor: %(collection)s"
@@ -2157,62 +2157,62 @@ msgstr "Sistem görüntüsü isteği reddedildi, sistem görüntüleri şu anda
msgid "Instance snapshots are not permitted at this time."
msgstr "Örnek sistem görüntüleri şu an onaylanmadı."
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr "Yüklenen bölüm: %s"
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr "Ext adı: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr "Ext takma adı: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr "Ext açıklaması: %s"
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext isim uzayı: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr "Ext güncellendi: %s"
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr "İstisna yükleme uzantısı: %s"
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "Genişletme yükleniyor: %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr "Genişletme fabrikası çağırılıyor %s"
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "%(ext_factory)s uzantısı yüklemede hata: %(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "%(classpath)s uzantısı yüklemede hata: %(exc)s"
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "%(ext_name)s uzantısı yüklemede hata: %(exc)s"
@@ -2902,11 +2902,13 @@ msgid "Error in evacuate, %s"
msgstr "Göçte hata %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "Kural (%s) bulunamadı"
@@ -2953,53 +2955,58 @@ msgstr "Daha fazla değişken IP mevcut değil"
msgid "Floating ip %s has been disassociated"
msgstr "%(address)s değişken IP adresi ilişkilendirildi."
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr "Parametre dizini eksik"
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: nova/api/openstack/compute/contrib/floating_ips.py:219
+#: nova/api/openstack/compute/contrib/floating_ips.py:284
msgid "Address not specified"
msgstr "Adres belirtilmedi"
-#: nova/api/openstack/compute/contrib/floating_ips.py:225
+#: 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:230
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
msgid "No fixed ips associated to instance"
msgstr "Örnekle değişken IP ilişkilendirilmedi"
-#: nova/api/openstack/compute/contrib/floating_ips.py:246
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+#, fuzzy
+msgid "Specified fixed address not assigned to instance"
+msgstr "Örnekle değişken IP ilişkilendirilmedi"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
msgid "floating ip is already associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3312,6 +3319,16 @@ msgstr "%s biriminden sistem görüntüsü oluşturuluyor"
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "%s adresini serbest bırak"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "%s adresini serbest bırak"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3480,357 +3497,357 @@ msgstr "eleman çocuk değil"
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "Başlangıç adresi"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
#, fuzzy
msgid "No fixed IP found."
msgstr "Hiç dinamik IP bulunamadı."
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "Örnekle değişken IP ilişkilendirilmedi"
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "Başlangıç adresi"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "proje"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "Ağ bulunamadı"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "Ağ oluşturulurken %(req)s gereklidir."
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "%r örneğini tekrar yükle"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "%(service_id)s servisi bulunamadı."
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "BeklenmeyenHata: %s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
#, fuzzy
msgid "PROJECT"
msgstr "proje"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "Örnek tür oluşturulamıyor."
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "Örnek mevcut değil"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
#, fuzzy
msgid "Unknown error"
msgstr "Kimlik doğrulama hatası"
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "Veritabanı hatası: %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5047,38 +5064,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "Tekrar yükleme örneğinde hata oluştu."
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr "Tanınmayan silinmiş okuma değeri '%s'"
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "%s geçerli bir örnek ismidir"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5095,34 +5112,60 @@ msgstr "Sürüm tam sayı olmak zorunda"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5847,17 +5890,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "utils.execute için bilinmeyen anahtar kelime argümanları: %r"
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "Çalışan komut(alt süreç): %s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r hatalı. Yeniden deneniyor."
@@ -6779,17 +6822,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6829,12 +6872,12 @@ msgstr ""
msgid "spawn error"
msgstr "Kimlik doğrulama hatası"
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6844,22 +6887,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7747,7 +7790,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -8101,12 +8144,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:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8265,7 +8308,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8299,238 +8342,238 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "Örnekler durdurulacak"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "Tanımlı bir ağ yok."
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8538,49 +8581,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8588,21 +8655,21 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, fuzzy, python-format
msgid ""
"Creating tmpfile %s to verify with other compute node that the instance "
@@ -8611,29 +8678,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:2933
+#: nova/virt/libvirt/driver.py:3002
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:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8648,7 +8715,7 @@ msgstr ""
" \n"
" Bkz: %(u)s"
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, python-format
msgid ""
"Creating tmpfile %s to notify to other compute nodes that they should "
@@ -8657,62 +8724,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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, 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:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, 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:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8745,11 +8812,11 @@ msgstr "%(name)s için (%(instance_filter_name)s) ağ filtresi bulunamadı."
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptabloları güvenlik duvarı: Temel Filtreleme Kurulumu"
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -9091,103 +9158,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "Çalışan komut(alt süreç): %s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9401,29 +9468,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/uk/LC_MESSAGES/nova.po b/nova/locale/uk/LC_MESSAGES/nova.po
index 95765a345..dcaa62149 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1433,21 +1433,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1850,7 +1850,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2024,33 +2024,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2122,62 +2122,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2847,11 +2847,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2897,53 +2899,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3249,6 +3255,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3417,347 +3433,347 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "отримано %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4953,38 +4969,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5001,34 +5017,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5744,17 +5786,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6671,17 +6713,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6720,12 +6762,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6735,22 +6777,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7630,7 +7672,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7982,12 +8024,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8145,7 +8187,7 @@ msgstr ""
msgid "Detaching physical disk from instance: %s"
msgstr ""
-#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8179,235 +8221,235 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, python-format
msgid "Connection to libvirt failed: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
msgid "Guest does not have a console available"
msgstr ""
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8415,49 +8457,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, python-format
msgid "Trying to get stats for the volume %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8465,50 +8531,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8518,67 +8584,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8611,11 +8677,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8954,103 +9020,103 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, python-format
msgid "Removing the logical volume '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, python-format
msgid "Creating logical volume of size %s bytes"
msgstr ""
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
msgid "Unable to get checksum"
msgstr ""
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
msgid "File transfer from PowerVM manager failed"
msgstr ""
@@ -9264,29 +9330,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/locale/vi_VN/LC_MESSAGES/nova.po b/nova/locale/vi_VN/LC_MESSAGES/nova.po
new file mode 100644
index 000000000..d45a6e21f
--- /dev/null
+++ b/nova/locale/vi_VN/LC_MESSAGES/nova.po
@@ -0,0 +1,10918 @@
+# English (United States) translations for nova.
+# Copyright (C) 2012 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-05-13 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) "
+"(http://www.transifex.com/projects/p/openstack/language/vi_VN/)\n"
+"Plural-Forms: nplurals=1; plural=0\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:167 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:86
+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
+#, python-format
+msgid "Volume %(volume_id)s is not attached to anything"
+msgstr ""
+
+#: nova/exception.py:229
+#, 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:463
+#: nova/api/openstack/compute/contrib/keypairs.py:98 nova/compute/api.py:2765
+msgid "Keypair data is invalid"
+msgstr ""
+
+#: nova/exception.py:239
+msgid "The request is invalid."
+msgstr ""
+
+#: nova/exception.py:243
+msgid "Invalid input received"
+msgstr ""
+
+#: nova/exception.py:247
+msgid "Invalid volume"
+msgstr ""
+
+#: nova/exception.py:251 nova/api/openstack/compute/servers.py:1332
+#: nova/api/openstack/compute/contrib/admin_actions.py:242
+msgid "Invalid metadata"
+msgstr ""
+
+#: nova/exception.py:255
+msgid "Invalid metadata size"
+msgstr ""
+
+#: nova/exception.py:259
+#, python-format
+msgid "Invalid port range %(from_port)s:%(to_port)s. %(msg)s"
+msgstr ""
+
+#: nova/exception.py:263 nova/api/ec2/cloud.py:625
+#, python-format
+msgid "Invalid IP protocol %(protocol)s."
+msgstr ""
+
+#: nova/exception.py:267
+#, python-format
+msgid "Invalid content type %(content_type)s."
+msgstr ""
+
+#: nova/exception.py:271
+#, python-format
+msgid "Invalid cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:275 nova/openstack/common/db/exception.py:44
+msgid "Invalid Parameter: Unicode is not supported by the current database."
+msgstr ""
+
+#: nova/exception.py:282
+#, python-format
+msgid "%(err)s"
+msgstr ""
+
+#: nova/exception.py:286
+#, python-format
+msgid ""
+"Cannot perform action '%(action)s' on aggregate %(aggregate_id)s. Reason:"
+" %(reason)s."
+msgstr ""
+
+#: nova/exception.py:291
+#, python-format
+msgid "Group not valid. Reason: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:295 nova/openstack/common/db/sqlalchemy/utils.py:33
+msgid "Sort key supplied was not valid."
+msgstr ""
+
+#: nova/exception.py:299
+#, 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
+#, python-format
+msgid "Instance %(instance_id)s is not running."
+msgstr ""
+
+#: nova/exception.py:308
+#, python-format
+msgid "Instance %(instance_id)s is not in rescue mode"
+msgstr ""
+
+#: nova/exception.py:312
+#, python-format
+msgid "Instance %(instance_id)s cannot be rescued: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:316
+#, python-format
+msgid "Instance %(instance_id)s is not ready"
+msgstr ""
+
+#: nova/exception.py:320
+msgid "Failed to suspend instance"
+msgstr ""
+
+#: nova/exception.py:324
+#, python-format
+msgid "Failed to resume instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:328
+#, python-format
+msgid "Failed to power on instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:332
+#, python-format
+msgid "Failed to power off instance: %(reason)s."
+msgstr ""
+
+#: nova/exception.py:336
+msgid "Failed to reboot instance"
+msgstr ""
+
+#: nova/exception.py:340
+msgid "Failed to terminate instance"
+msgstr ""
+
+#: nova/exception.py:344
+msgid "Failed to deploy instance"
+msgstr ""
+
+#: nova/exception.py:348
+msgid "Service is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:352
+msgid "Insufficient compute resources."
+msgstr ""
+
+#: nova/exception.py:356
+#, python-format
+msgid "Compute service of %(host)s is unavailable at this time."
+msgstr ""
+
+#: nova/exception.py:360
+#, python-format
+msgid "Unable to migrate instance (%(instance_id)s) to current host (%(host)s)."
+msgstr ""
+
+#: nova/exception.py:365
+msgid "The supplied hypervisor type of is invalid."
+msgstr ""
+
+#: nova/exception.py:369
+msgid "The instance requires a newer hypervisor version than has been provided."
+msgstr ""
+
+#: nova/exception.py:374
+#, python-format
+msgid ""
+"The supplied disk path (%(path)s) already exists, it is expected not to "
+"exist."
+msgstr ""
+
+#: nova/exception.py:379
+#, python-format
+msgid "The supplied device path (%(path)s) is invalid."
+msgstr ""
+
+#: nova/exception.py:383
+#, python-format
+msgid "The supplied device path (%(path)s) is in use."
+msgstr ""
+
+#: nova/exception.py:388
+#, python-format
+msgid "The supplied device (%(device)s) is busy."
+msgstr ""
+
+#: nova/exception.py:392
+msgid "Unacceptable CPU info"
+msgstr ""
+
+#: nova/exception.py:396
+#, python-format
+msgid "%(address)s is not a valid IP v4/6 address."
+msgstr ""
+
+#: nova/exception.py:400
+#, 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
+#, 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:413
+#, python-format
+msgid "Disk format %(disk_format)s is not acceptable"
+msgstr ""
+
+#: nova/exception.py:417
+#, python-format
+msgid "Image %(image_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:421
+#, python-format
+msgid "Instance %(instance_id)s is unacceptable: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:425
+#, python-format
+msgid "Ec2 id %(ec2_id)s is unacceptable."
+msgstr ""
+
+#: nova/exception.py:429
+#, python-format
+msgid "Expected a uuid but received %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:433
+#, python-format
+msgid "Invalid ID received %(id)s."
+msgstr ""
+
+#: nova/exception.py:437
+msgid "Constraint not met."
+msgstr ""
+
+#: nova/exception.py:442
+msgid "Resource could not be found."
+msgstr ""
+
+#: nova/exception.py:447
+#, python-format
+msgid "No agent-build associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:451
+#, python-format
+msgid "Volume %(volume_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:455
+#, python-format
+msgid "Snapshot %(snapshot_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:459
+#, python-format
+msgid "No target id found for volume %(volume_id)s."
+msgstr ""
+
+#: nova/exception.py:463
+#, python-format
+msgid "No disk at %(location)s"
+msgstr ""
+
+#: nova/exception.py:467
+#, python-format
+msgid "Could not find a handler for %(driver_type)s volume."
+msgstr ""
+
+#: nova/exception.py:471
+#, python-format
+msgid "Invalid image href %(image_href)s."
+msgstr ""
+
+#: nova/exception.py:475
+#, python-format
+msgid "Image %(image_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:479
+#, 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:486
+#, python-format
+msgid "Project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:490
+msgid "Cannot find SR to read/write VDI."
+msgstr ""
+
+#: nova/exception.py:494
+#, python-format
+msgid "Network %(network_id)s is duplicated."
+msgstr ""
+
+#: nova/exception.py:498
+#, python-format
+msgid "Network %(network_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:502
+#, python-format
+msgid "%(req)s is required to create a network."
+msgstr ""
+
+#: nova/exception.py:506
+#, python-format
+msgid "Network %(network_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:510
+#, python-format
+msgid "Port id %(port_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:514
+#, python-format
+msgid "Network could not be found for bridge %(bridge)s"
+msgstr ""
+
+#: nova/exception.py:518
+#, python-format
+msgid "Network could not be found for uuid %(uuid)s"
+msgstr ""
+
+#: nova/exception.py:522
+#, python-format
+msgid "Network could not be found with cidr %(cidr)s."
+msgstr ""
+
+#: nova/exception.py:526
+#, python-format
+msgid "Network could not be found for instance %(instance_id)s."
+msgstr ""
+
+#: nova/exception.py:530
+msgid "No networks defined."
+msgstr ""
+
+#: nova/exception.py:534
+#, 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
+msgid "Could not find the datastore reference(s) which the VM uses."
+msgstr ""
+
+#: nova/exception.py:543
+#, python-format
+msgid "Port %(port_id)s is still in use."
+msgstr ""
+
+#: nova/exception.py:547
+#, python-format
+msgid "Port %(port_id)s not usable for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:551
+#, python-format
+msgid "No free port available for instance %(instance)s."
+msgstr ""
+
+#: nova/exception.py:555
+#, python-format
+msgid "No fixed IP associated with id %(id)s."
+msgstr ""
+
+#: nova/exception.py:559
+#, python-format
+msgid "Fixed ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:563
+#, python-format
+msgid "Instance %(instance_uuid)s has zero fixed ips."
+msgstr ""
+
+#: nova/exception.py:567
+#, python-format
+msgid "Network host %(host)s has zero fixed ips in network %(network_id)s."
+msgstr ""
+
+#: nova/exception.py:572
+#, python-format
+msgid "Instance %(instance_uuid)s doesn't have fixed ip '%(ip)s'."
+msgstr ""
+
+#: nova/exception.py:576
+#, python-format
+msgid ""
+"Fixed IP address (%(address)s) does not exist in network "
+"(%(network_uuid)s)."
+msgstr ""
+
+#: nova/exception.py:581
+#, python-format
+msgid ""
+"Fixed IP address %(address)s is already in use on instance "
+"%(instance_uuid)s."
+msgstr ""
+
+#: nova/exception.py:586
+#, python-format
+msgid "More than one instance is associated with fixed ip address '%(address)s'."
+msgstr ""
+
+#: nova/exception.py:591
+#, python-format
+msgid "Fixed IP address %(address)s is invalid."
+msgstr ""
+
+#: nova/exception.py:595
+msgid "Zero fixed ips available."
+msgstr ""
+
+#: nova/exception.py:599
+msgid "Zero fixed ips could be found."
+msgstr ""
+
+#: nova/exception.py:608
+#, python-format
+msgid "Floating ip %(address)s already exists."
+msgstr ""
+
+#: nova/exception.py:612
+#, python-format
+msgid "Floating ip not found for id %(id)s."
+msgstr ""
+
+#: nova/exception.py:616
+#, python-format
+msgid "The DNS entry %(name)s already exists in domain %(domain)s."
+msgstr ""
+
+#: nova/exception.py:620
+#, python-format
+msgid "Floating ip not found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:624
+#, python-format
+msgid "Floating ip not found for host %(host)s."
+msgstr ""
+
+#: nova/exception.py:628
+#, python-format
+msgid "Multiple floating ips are found for address %(address)s."
+msgstr ""
+
+#: nova/exception.py:632
+msgid "Floating ip pool not found."
+msgstr ""
+
+#: nova/exception.py:637
+msgid "Zero floating ips available."
+msgstr ""
+
+#: nova/exception.py:642
+#, python-format
+msgid "Floating ip %(address)s is associated."
+msgstr ""
+
+#: nova/exception.py:646
+#, python-format
+msgid "Floating ip %(address)s is not associated."
+msgstr ""
+
+#: nova/exception.py:650
+msgid "Zero floating ips exist."
+msgstr ""
+
+#: nova/exception.py:654
+#, python-format
+msgid "Interface %(interface)s not found."
+msgstr ""
+
+#: nova/exception.py:658
+msgid "Cannot disassociate auto assigined floating ip"
+msgstr ""
+
+#: nova/exception.py:662
+#, 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
+#, python-format
+msgid "Service %(service_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:674
+#, python-format
+msgid "Host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:678
+#, python-format
+msgid "Compute host %(host)s could not be found."
+msgstr ""
+
+#: nova/exception.py:682
+#, python-format
+msgid "Could not find binary %(binary)s on host %(host)s."
+msgstr ""
+
+#: nova/exception.py:686
+#, python-format
+msgid "Invalid reservation expiration %(expire)s."
+msgstr ""
+
+#: nova/exception.py:690
+#, python-format
+msgid ""
+"Change would make usage less than 0 for the following resources: "
+"%(unders)s"
+msgstr ""
+
+#: nova/exception.py:695
+msgid "Quota could not be found"
+msgstr ""
+
+#: nova/exception.py:699
+#, python-format
+msgid "Unknown quota resources %(unknown)s."
+msgstr ""
+
+#: nova/exception.py:703
+#, python-format
+msgid "Quota for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:707
+#, python-format
+msgid "Quota class %(class_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:711
+#, python-format
+msgid "Quota usage for project %(project_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:715
+#, python-format
+msgid "Quota reservation %(uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:719
+#, python-format
+msgid "Quota exceeded for resources: %(overs)s"
+msgstr ""
+
+#: nova/exception.py:723
+#, python-format
+msgid "Security group %(security_group_id)s not found."
+msgstr ""
+
+#: nova/exception.py:727
+#, python-format
+msgid "Security group %(security_group_id)s not found for project %(project_id)s."
+msgstr ""
+
+#: nova/exception.py:732
+#, python-format
+msgid "Security group with rule %(rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:736
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is already associated with the "
+"instance %(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:741
+#, python-format
+msgid ""
+"Security group %(security_group_id)s is not associated with the instance "
+"%(instance_id)s"
+msgstr ""
+
+#: nova/exception.py:746
+#, python-format
+msgid "Security group default rule (%rule_id)s not found."
+msgstr ""
+
+#: nova/exception.py:750
+msgid ""
+"Network requires port_security_enabled and subnet associated in order to "
+"apply security groups."
+msgstr ""
+
+#: nova/exception.py:755
+msgid "No Unique Match Found."
+msgstr ""
+
+#: nova/exception.py:760
+#, python-format
+msgid "Migration %(migration_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:764
+#, python-format
+msgid "Migration not found for instance %(instance_id)s with status %(status)s."
+msgstr ""
+
+#: nova/exception.py:769
+#, python-format
+msgid "Console pool %(pool_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:773
+#, 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
+#, python-format
+msgid "Console %(console_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:783
+#, python-format
+msgid "Console for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:787
+#, python-format
+msgid ""
+"Console for instance %(instance_uuid)s in pool %(pool_id)s could not be "
+"found."
+msgstr ""
+
+#: nova/exception.py:792
+#, python-format
+msgid "Invalid console type %(console_type)s"
+msgstr ""
+
+#: nova/exception.py:796
+#, python-format
+msgid "Instance type %(instance_type_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:800
+#, python-format
+msgid "Instance type with name %(instance_type_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:805
+#, python-format
+msgid "Flavor %(flavor_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:809
+#, python-format
+msgid "Flavor access not found for %(flavor_id)s / %(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:814
+#, python-format
+msgid "Cell %(cell_name)s doesn't exist."
+msgstr ""
+
+#: nova/exception.py:818
+#, python-format
+msgid "Inconsistency in cell routing: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:822
+#, python-format
+msgid "Service API method not found: %(detail)s"
+msgstr ""
+
+#: nova/exception.py:826
+msgid "Timeout waiting for response from cell"
+msgstr ""
+
+#: nova/exception.py:830
+#, python-format
+msgid "Cell message has reached maximum hop count: %(hop_count)s"
+msgstr ""
+
+#: nova/exception.py:834
+msgid "No cells available matching scheduling criteria."
+msgstr ""
+
+#: nova/exception.py:838
+#, python-format
+msgid "Exception received during cell processing: %(exc_name)s."
+msgstr ""
+
+#: nova/exception.py:842
+#, python-format
+msgid "Cell is not known for instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/exception.py:846
+#, python-format
+msgid "Scheduler Host Filter %(filter_name)s could not be found."
+msgstr ""
+
+#: nova/exception.py:850
+#, python-format
+msgid "Instance %(instance_uuid)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:855
+#, python-format
+msgid ""
+"Instance %(instance_uuid)s has no system metadata with key "
+"%(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:860
+#, python-format
+msgid ""
+"Instance Type %(instance_type_id)s has no extra specs with key "
+"%(extra_specs_key)s."
+msgstr ""
+
+#: nova/exception.py:865
+#, python-format
+msgid "File %(file_path)s could not be found."
+msgstr ""
+
+#: nova/exception.py:869
+msgid "Zero files could be found."
+msgstr ""
+
+#: nova/exception.py:873
+#, python-format
+msgid "Virtual switch associated with the network adapter %(adapter)s not found."
+msgstr ""
+
+#: nova/exception.py:878
+#, python-format
+msgid "Network adapter %(adapter)s could not be found."
+msgstr ""
+
+#: nova/exception.py:882
+#, python-format
+msgid "Class %(class_name)s could not be found: %(exception)s"
+msgstr ""
+
+#: nova/exception.py:886
+msgid "Action not allowed."
+msgstr ""
+
+#: nova/exception.py:890
+msgid "Rotation is not allowed for snapshots"
+msgstr ""
+
+#: nova/exception.py:894
+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:902
+#, python-format
+msgid "Instance %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:906
+#, python-format
+msgid "Instance Type with name %(name)s already exists."
+msgstr ""
+
+#: nova/exception.py:910
+#, python-format
+msgid "Instance Type with ID %(flavor_id)s already exists."
+msgstr ""
+
+#: nova/exception.py:914
+#, python-format
+msgid ""
+"Flavor access alreay exists for flavor %(flavor_id)s and project "
+"%(project_id)s combination."
+msgstr ""
+
+#: nova/exception.py:919
+#, python-format
+msgid "%(path)s is not on shared storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:923
+#, python-format
+msgid "%(path)s is not on local storage: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:927
+msgid "Migration error"
+msgstr ""
+
+#: nova/exception.py:931
+msgid "Migration pre-check error"
+msgstr ""
+
+#: nova/exception.py:935
+#, python-format
+msgid "Malformed message body: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:941
+#, python-format
+msgid "Could not find config at %(path)s"
+msgstr ""
+
+#: nova/exception.py:945
+#, python-format
+msgid "Could not load paste app '%(name)s' from %(path)s"
+msgstr ""
+
+#: nova/exception.py:949
+msgid "When resizing, instances must change flavor!"
+msgstr ""
+
+#: nova/exception.py:953
+#, python-format
+msgid "Resize error: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:957
+msgid "Image is larger than instance type allows"
+msgstr ""
+
+#: nova/exception.py:961
+msgid "Instance type's memory is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:965
+msgid "Instance type's disk is too small for requested image."
+msgstr ""
+
+#: nova/exception.py:969
+#, python-format
+msgid "Insufficient free memory on compute node to start %(uuid)s."
+msgstr ""
+
+#: nova/exception.py:973
+msgid "Could not fetch bandwidth/cpu/disk metrics for this host."
+msgstr ""
+
+#: nova/exception.py:977
+#, python-format
+msgid "No valid host was found. %(reason)s"
+msgstr ""
+
+#: nova/exception.py:981
+msgid "Quota exceeded"
+msgstr ""
+
+#: nova/exception.py:988
+#, 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:993
+msgid "Maximum number of floating ips exceeded"
+msgstr ""
+
+#: nova/exception.py:997
+msgid "Maximum number of fixed ips exceeded"
+msgstr ""
+
+#: nova/exception.py:1001
+#, python-format
+msgid "Maximum number of metadata items exceeds %(allowed)d"
+msgstr ""
+
+#: nova/exception.py:1005
+msgid "Personality file limit exceeded"
+msgstr ""
+
+#: nova/exception.py:1009
+msgid "Personality file path too long"
+msgstr ""
+
+#: nova/exception.py:1013
+msgid "Personality file content too long"
+msgstr ""
+
+#: nova/exception.py:1017
+msgid "Maximum number of key pairs exceeded"
+msgstr ""
+
+#: nova/exception.py:1021
+msgid "Maximum number of security groups or rules exceeded"
+msgstr ""
+
+#: nova/exception.py:1025
+#, python-format
+msgid ""
+"Aggregate %(aggregate_id)s: action '%(action)s' caused an error: "
+"%(reason)s."
+msgstr ""
+
+#: nova/exception.py:1030
+#, python-format
+msgid "Aggregate %(aggregate_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1034
+#, python-format
+msgid "Aggregate %(aggregate_name)s already exists."
+msgstr ""
+
+#: nova/exception.py:1038
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1042
+#, python-format
+msgid "Aggregate %(aggregate_id)s has no metadata with key %(metadata_key)s."
+msgstr ""
+
+#: nova/exception.py:1047
+#, python-format
+msgid "Aggregate %(aggregate_id)s already has host %(host)s."
+msgstr ""
+
+#: nova/exception.py:1051
+msgid "Unable to create instance type"
+msgstr ""
+
+#: nova/exception.py:1055
+#, python-format
+msgid "Failed to set admin password on %(instance)s because %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1061
+#, python-format
+msgid "Detected existing vlan with id %(vlan)d"
+msgstr ""
+
+#: nova/exception.py:1065
+msgid "There was a conflict when trying to complete your request."
+msgstr ""
+
+#: nova/exception.py:1070
+#, python-format
+msgid "Instance %(instance_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1074
+#, python-format
+msgid "Info cache for instance %(instance_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1079
+#, python-format
+msgid "Node %(node_id)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1083
+#, python-format
+msgid "Node with UUID %(node_uuid)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1087
+#, python-format
+msgid "Marker %(marker)s could not be found."
+msgstr ""
+
+#: nova/exception.py:1091
+#, python-format
+msgid "Invalid id: %(val)s (expecting \"i-...\")."
+msgstr ""
+
+#: nova/exception.py:1095
+#, python-format
+msgid "Could not fetch image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1099
+#, python-format
+msgid "Could not upload image %(image_id)s"
+msgstr ""
+
+#: nova/exception.py:1103
+#, python-format
+msgid "Task %(task_name)s is already running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1107
+#, python-format
+msgid "Task %(task_name)s is not running on host %(host)s"
+msgstr ""
+
+#: nova/exception.py:1111
+#, python-format
+msgid "Instance %(instance_uuid)s is locked"
+msgstr ""
+
+#: nova/exception.py:1115
+#, python-format
+msgid "Could not mount vfat config drive. %(operation)s failed. Error: %(error)s"
+msgstr ""
+
+#: nova/exception.py:1120
+#, python-format
+msgid "Unknown config drive format %(format)s. Select one of iso9660 or vfat."
+msgstr ""
+
+#: nova/exception.py:1125
+#, python-format
+msgid "Failed to attach network adapter device to %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1129
+#, python-format
+msgid "Failed to detach network adapter device from %(instance)s"
+msgstr ""
+
+#: nova/exception.py:1133
+#, 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:1139
+msgid "User data needs to be valid base 64."
+msgstr ""
+
+#: nova/exception.py:1143
+#, python-format
+msgid ""
+"unexpected task state: expecting %(expected)s but the actual state is "
+"%(actual)s"
+msgstr ""
+
+#: nova/exception.py:1148
+#, python-format
+msgid ""
+"Action for request_id %(request_id)s on instance %(instance_uuid)s not "
+"found"
+msgstr ""
+
+#: nova/exception.py:1153
+#, python-format
+msgid "Event %(event)s not found for action id %(action_id)s"
+msgstr ""
+
+#: nova/exception.py:1157
+#, python-format
+msgid "The CA file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1161
+#, python-format
+msgid "The CRL file for %(project)s could not be found"
+msgstr ""
+
+#: nova/exception.py:1165
+msgid "Instance recreate is not implemented by this virt driver."
+msgstr ""
+
+#: nova/exception.py:1169
+#, python-format
+msgid "The service from servicegroup driver %(driver) is temporarily unavailable."
+msgstr ""
+
+#: nova/exception.py:1174
+#, python-format
+msgid "%(binary)s attempted direct database access which is not allowed by policy"
+msgstr ""
+
+#: nova/exception.py:1179
+#, python-format
+msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
+msgstr ""
+
+#: nova/exception.py:1184
+#, python-format
+msgid ""
+"Requested hardware '%(model)s' is not supported by the '%(virt)s' virt "
+"driver"
+msgstr ""
+
+#: nova/exception.py:1189
+#, python-format
+msgid "Invalid Base 64 data for file %(path)s"
+msgstr ""
+
+#: nova/exception.py:1193
+#, python-format
+msgid "Build of instance %(instance_uuid)s aborted: %(reason)s"
+msgstr ""
+
+#: nova/exception.py:1197
+#, python-format
+msgid "Build of instance %(instance_uuid)s was re-scheduled: %(reason)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:166
+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:232
+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:966
+#, python-format
+msgid "Created reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:988
+#, python-format
+msgid "Failed to commit reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:990
+#, python-format
+msgid "Committed reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1010
+#, python-format
+msgid "Failed to roll back reservations %(reservations)s"
+msgstr ""
+
+#: nova/quota.py:1012
+#, python-format
+msgid "Rolled back reservations %(reservations)s"
+msgstr ""
+
+#: nova/service.py:197
+msgid "Full set of CONF:"
+msgstr ""
+
+#: nova/service.py:204
+#, python-format
+msgid "%(flag)s : FLAG SET "
+msgstr ""
+
+#: nova/service.py:214 nova/service.py:312
+#, python-format
+msgid "Caught %s, exiting"
+msgstr ""
+
+#: nova/service.py:258
+msgid "Parent process has died unexpectedly, exiting"
+msgstr ""
+
+#: nova/service.py:294
+msgid "Forking too fast, sleeping"
+msgstr ""
+
+#: nova/service.py:317
+msgid "Unhandled exception"
+msgstr ""
+
+#: nova/service.py:324
+#, python-format
+msgid "Started child %d"
+msgstr ""
+
+#: nova/service.py:334
+#, python-format
+msgid "Starting %d workers"
+msgstr ""
+
+#: nova/service.py:348
+#, python-format
+msgid "Child %(pid)d killed by signal %(sig)d"
+msgstr ""
+
+#: nova/service.py:351
+#, python-format
+msgid "Child %(pid)d exited with status %(code)d"
+msgstr ""
+
+#: nova/service.py:354
+#, python-format
+msgid "pid %d not in child list"
+msgstr ""
+
+#: nova/service.py:374
+#, python-format
+msgid "Caught %s, stopping children"
+msgstr ""
+
+#: nova/service.py:385
+#, python-format
+msgid "Waiting on %d children to exit"
+msgstr ""
+
+#: nova/service.py:427
+#, python-format
+msgid "Starting %(topic)s node (version %(version)s)"
+msgstr ""
+
+#: nova/service.py:444 nova/openstack/common/rpc/service.py:47
+#, python-format
+msgid "Creating Consumer connection for Service %s"
+msgstr ""
+
+#: nova/service.py:464
+#, python-format
+msgid "Join ServiceGroup membership for this service %s"
+msgstr ""
+
+#: nova/service.py:546
+msgid "Service killed that has no database entry"
+msgstr ""
+
+#: nova/service.py:581
+#, python-format
+msgid "Temporary directory is invalid: %s"
+msgstr ""
+
+#: nova/service.py:679
+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:187 nova/openstack/common/processutils.py:219
+#, python-format
+msgid "Running cmd (SSH): %s"
+msgstr ""
+
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
+msgid "Environment not supported over SSH"
+msgstr ""
+
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
+msgid "process_input not supported over SSH"
+msgstr ""
+
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
+#, python-format
+msgid "Result was %s"
+msgstr ""
+
+#: nova/utils.py:231
+#, python-format
+msgid "debug in callback: %s"
+msgstr ""
+
+#: nova/utils.py:393
+#, python-format
+msgid "Link Local address is not found.:%s"
+msgstr ""
+
+#: nova/utils.py:396
+#, python-format
+msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s"
+msgstr ""
+
+#: nova/utils.py:435
+#, python-format
+msgid "Invalid backend: %s"
+msgstr ""
+
+#: nova/utils.py:496
+#, python-format
+msgid "Unknown byte multiplier: %s"
+msgstr ""
+
+#: nova/utils.py:625
+#, python-format
+msgid "Expected object of type: %s"
+msgstr ""
+
+#: nova/utils.py:654
+#, python-format
+msgid "Invalid server_string: %s"
+msgstr ""
+
+#: nova/utils.py:810
+#, python-format
+msgid "timefunc: '%(name)s' took %(total_time).2f secs"
+msgstr ""
+
+#: nova/utils.py:876
+#, python-format
+msgid "Reloading cached file %s"
+msgstr ""
+
+#: nova/utils.py:1008 nova/virt/configdrive.py:177
+#, python-format
+msgid "Could not remove tmpdir: %s"
+msgstr ""
+
+#: nova/utils.py:1160
+#, python-format
+msgid "%s is not a string or unicode"
+msgstr ""
+
+#: nova/utils.py:1164
+#, python-format
+msgid "%(name)s has less than %(min_length)s characters."
+msgstr ""
+
+#: nova/utils.py:1169
+#, python-format
+msgid "%(name)s has more than %(max_length)s characters."
+msgstr ""
+
+#: nova/wsgi.py:122
+#, python-format
+msgid "%(name)s listening on %(host)s:%(port)s"
+msgstr ""
+
+#: nova/wsgi.py:137
+#, python-format
+msgid "Unable to find cert_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:141
+#, python-format
+msgid "Unable to find ca_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:145
+#, python-format
+msgid "Unable to find key_file : %s"
+msgstr ""
+
+#: nova/wsgi.py:149
+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
+#, python-format
+msgid "Failed to start %(name)s on %(host)s:%(port)s with SSL support"
+msgstr ""
+
+#: nova/wsgi.py:207
+msgid "Stopping WSGI server."
+msgstr ""
+
+#: nova/wsgi.py:225
+msgid "WSGI server has stopped."
+msgstr ""
+
+#: nova/wsgi.py:294
+msgid "You must implement __call__"
+msgstr ""
+
+#: nova/wsgi.py:480
+#, 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:62
+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:174
+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:201
+msgid "Signature not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:205
+msgid "Access key not provided"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:240 nova/api/ec2/__init__.py:255
+msgid "Failure communicating with keystone"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:254
+#, python-format
+msgid "Keystone failure: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:314
+msgid "Timestamp failed validation."
+msgstr ""
+
+#: nova/api/ec2/__init__.py:334
+#, python-format
+msgid "action: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:336
+#, python-format
+msgid "arg: %(key)s\t\tval: %(value)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:411
+#, python-format
+msgid "Unauthorized request for controller=%(controller)s and action=%(action)s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:483
+#, python-format
+msgid "InstanceNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:489
+#, python-format
+msgid "VolumeNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:495
+#, python-format
+msgid "SnapshotNotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:501
+#, python-format
+msgid "NotFound raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:504
+#, python-format
+msgid "EC2APIError raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:512
+#, python-format
+msgid "KeyPairExists raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:517
+#, python-format
+msgid "InvalidKeypair raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:522
+#, python-format
+msgid "InvalidParameterValue raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:526
+#, python-format
+msgid "InvalidPortRange raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:530
+#, python-format
+msgid "NotAuthorized raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:534
+#, python-format
+msgid "InvalidRequest raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:538
+#, python-format
+msgid "QuotaError raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:542
+#, python-format
+msgid "Invalid id: bogus (expecting \"i-...\"): %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:551
+#, python-format
+msgid "Unexpected error raised: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:552
+#, python-format
+msgid "Environment: %s"
+msgstr ""
+
+#: nova/api/ec2/__init__.py:554 nova/api/metadata/handler.py:136
+#: nova/api/metadata/handler.py:183
+msgid "An unknown error has occurred. Please try your request again."
+msgstr ""
+
+#: nova/api/ec2/apirequest.py:62
+#, python-format
+msgid "Unsupported API request: controller = %(controller)s, action = %(action)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:391
+#, python-format
+msgid "Create snapshot of volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:417
+#, python-format
+msgid "Could not find key pair(s): %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:434
+#, python-format
+msgid "Create key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:441 nova/api/ec2/cloud.py:460
+#: nova/api/openstack/compute/contrib/keypairs.py:93
+msgid "Quota exceeded, too many key pairs."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:450
+#, python-format
+msgid "Import key %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:470
+#, python-format
+msgid "Delete key pair %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:612 nova/api/ec2/cloud.py:733
+msgid "Not enough parameters, need group_name or group_id"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:617
+#, python-format
+msgid "%s Not enough parameters to build a valid rule"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:655 nova/api/ec2/cloud.py:687
+msgid "No rule for the specified parameters."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:678
+#, python-format
+msgid "%s - This rule already exists in group"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:761
+#, python-format
+msgid "Get console output for instance %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:834
+#, python-format
+msgid "Create volume from snapshot %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:838 nova/api/openstack/compute/contrib/volumes.py:243
+#, python-format
+msgid "Create volume of %s GB"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:866
+msgid "Delete Failed"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:879
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:887
+msgid "Attach Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:909 nova/api/openstack/compute/contrib/volumes.py:439
+#, python-format
+msgid "Detach volume %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:916
+msgid "Detach Volume Failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:942 nova/api/ec2/cloud.py:999
+#: nova/api/ec2/cloud.py:1553 nova/api/ec2/cloud.py:1568
+#, python-format
+msgid "attribute not supported: %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1073
+#, python-format
+msgid "vol = %s\n"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1233
+msgid "Allocate address"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1237
+msgid "No more floating IPs available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1241
+#, python-format
+msgid "Release address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1246
+msgid "Unable to release IP Address."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1249
+#, python-format
+msgid "Associate address %(public_ip)s to instance %(instance_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1257
+msgid "Unable to associate IP Address, no fixed_ips."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1265
+#: 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:1274
+msgid "Floating ip is already associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1277
+msgid "l3driver call to add floating ip failed."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1280
+msgid "Error, unable to associate floating ip."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1288
+#, python-format
+msgid "Disassociate address %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1293
+msgid "Floating ip is not associated."
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1296
+#: nova/api/openstack/compute/contrib/floating_ips.py:97
+msgid "Cannot disassociate auto assigned floating ip"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1323
+msgid "Image must be available"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1355
+msgid "Going to start terminating instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1365
+#, python-format
+msgid "Reboot instance %r"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1374
+msgid "Going to stop instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1383
+msgid "Going to start instances"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1474
+#, python-format
+msgid "De-registering image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1490
+msgid "imageLocation is required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1509
+#, python-format
+msgid "Registered image %(image_location)s with id %(image_id)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1571
+msgid "user or group not specified"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1573
+msgid "only group \"all\" is supported"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1575
+msgid "operation_type must be add or remove"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1577
+#, python-format
+msgid "Updating image %s publicity"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1590
+#, python-format
+msgid "Not allowed to modify attributes for image %s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1619
+#, 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:1649
+#, python-format
+msgid "Couldn't stop instance with in %d sec"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1667
+#, python-format
+msgid "image of %(instance)s at %(now)s"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1691 nova/api/ec2/cloud.py:1736
+msgid "resource_id and tag are required"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1694 nova/api/ec2/cloud.py:1739
+msgid "Expecting a list of resources"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1698 nova/api/ec2/cloud.py:1743
+msgid "Only instances implemented"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1701 nova/api/ec2/cloud.py:1746
+msgid "Expecting a list of tagSets"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1758
+msgid "Expecting key to be set"
+msgstr ""
+
+#: nova/api/ec2/cloud.py:1831
+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:174
+msgid "Invalid proxy request signature."
+msgstr ""
+
+#: nova/api/metadata/handler.py:181 nova/api/metadata/handler.py:188
+#, python-format
+msgid "Failed to get metadata for instance id: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:53
+#, python-format
+msgid "Caught error: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:62
+#, python-format
+msgid "%(url)s returned with HTTP %(status)d"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:137
+msgid "Must specify an ExtensionManager class"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
+#, python-format
+msgid "Extended resource: %s"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
+#, python-format
+msgid ""
+"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
+"resource"
+msgstr ""
+
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
+#, python-format
+msgid "Extension %(ext_name)s extending resource: %(collection)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:153 nova/api/openstack/common.py:187
+msgid "limit param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:156 nova/api/openstack/common.py:191
+msgid "limit param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:181
+msgid "offset param must be an integer"
+msgstr ""
+
+#: nova/api/openstack/common.py:195
+msgid "offset param must be positive"
+msgstr ""
+
+#: nova/api/openstack/common.py:230 nova/api/openstack/compute/servers.py:554
+#, python-format
+msgid "marker [%s] not found"
+msgstr ""
+
+#: nova/api/openstack/common.py:270
+#, python-format
+msgid "href %s does not contain version"
+msgstr ""
+
+#: nova/api/openstack/common.py:285
+msgid "Image metadata limit exceeded"
+msgstr ""
+
+#: nova/api/openstack/common.py:293
+msgid "Image metadata key cannot be blank"
+msgstr ""
+
+#: nova/api/openstack/common.py:296
+msgid "Image metadata key too long"
+msgstr ""
+
+#: nova/api/openstack/common.py:299
+msgid "Invalid image metadata"
+msgstr ""
+
+#: nova/api/openstack/common.py:361
+#, python-format
+msgid "Cannot '%(action)s' while instance is in %(attr)s %(state)s"
+msgstr ""
+
+#: nova/api/openstack/common.py:364
+#, python-format
+msgid "Instance is in an invalid state for '%(action)s'"
+msgstr ""
+
+#: nova/api/openstack/common.py:444
+msgid "Rejecting snapshot request, snapshots currently disabled"
+msgstr ""
+
+#: nova/api/openstack/common.py:446
+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
+#, python-format
+msgid "Ext name: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:236
+#, python-format
+msgid "Ext alias: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:237
+#, python-format
+msgid "Ext description: %s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:239
+#, 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
+#, 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:346
+#, python-format
+msgid "Failed to load extension %(classpath)s: %(exc)s"
+msgstr ""
+
+#: nova/api/openstack/extensions.py:370
+#, 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:932
+#: 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:46
+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:920
+#, python-format
+msgid "Calling method %s"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:929
+msgid "Unsupported Content-Type"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:941
+msgid "Malformed request url"
+msgstr ""
+
+#: nova/api/openstack/wsgi.py:1172
+#, 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:744
+#, python-format
+msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s"
+msgstr ""
+
+#: nova/api/openstack/xmlutil.py:863
+msgid "subclasses must implement construct()!"
+msgstr ""
+
+#: nova/api/openstack/compute/extensions.py:39
+msgid "Initializing extension manager."
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:111
+#, python-format
+msgid "Invalid is_public filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:130
+#, python-format
+msgid "Invalid minRam filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/flavors.py:137
+#, python-format
+msgid "Invalid minDisk filter [%s]"
+msgstr ""
+
+#: nova/api/openstack/compute/image_metadata.py:36
+#: nova/api/openstack/compute/images.py:141
+#: nova/api/openstack/compute/images.py:157
+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
+msgid "Instance does not exist"
+msgstr ""
+
+#: nova/api/openstack/compute/ips.py:91
+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:519
+#: nova/api/openstack/compute/contrib/cells.py:272
+msgid "Invalid changes-since value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:538
+msgid "Only administrators may list deleted instances"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:557
+#, python-format
+msgid "Flavor '%s' could not be found "
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:574
+#: nova/api/openstack/compute/servers.py:741
+#: nova/api/openstack/compute/servers.py:1011
+#: nova/api/openstack/compute/servers.py:1108
+#: nova/api/openstack/compute/servers.py:1281
+msgid "Instance could not be found"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:593
+msgid "Device name cannot include spaces."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:610
+#, python-format
+msgid "Bad personality format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:613
+msgid "Bad personality format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:616
+#, python-format
+msgid "Personality content for %s cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:647
+msgid "Unknown argment : port"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:650
+#, python-format
+msgid "Bad port format: port uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:660
+#, python-format
+msgid "Bad networks format: network uuid is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:670
+#, python-format
+msgid "Invalid fixed IP address (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:683
+#, python-format
+msgid "Duplicate networks (%s) are not allowed"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:689
+#, python-format
+msgid "Bad network format: missing %s"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:692
+msgid "Bad networks format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:718
+msgid "Userdata content cannot be decoded"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:723
+msgid "accessIPv4 is not proper IPv4 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:728
+msgid "accessIPv6 is not proper IPv6 format"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:757
+msgid "Server name is not defined"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:806
+#: nova/api/openstack/compute/servers.py:922
+msgid "Invalid flavorRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:847
+msgid "min_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:850
+msgid "min_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:856
+msgid "max_count must be an integer value"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:859
+msgid "max_count must be > 0"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:863
+msgid "min_count must be <= max_count"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:917
+msgid "Can not find requested image"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:925
+msgid "Invalid key_name provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:999
+msgid "HostId cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1003
+msgid "Personality cannot be updated."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1029
+#: nova/api/openstack/compute/servers.py:1046
+msgid "Instance has not been resized."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1049
+msgid "Flavor used by the instance could not be found."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1065
+msgid "Argument 'type' for reboot is not HARD or SOFT"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1069
+msgid "Missing argument 'type' for reboot"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1091
+msgid "Unable to locate requested flavor."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1094
+msgid "Resize requires a flavor change."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1118
+msgid "Missing imageRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1127
+msgid "Invalid imageRef provided."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1154
+msgid "Missing flavorRef attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1167
+msgid "No adminPass was specified"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1171
+#: nova/api/openstack/compute/servers.py:1382
+msgid "Invalid adminPass"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1177
+msgid "Unable to set password on instance"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1186
+msgid "Unable to parse metadata key/value pairs."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1199
+msgid "Resize request has invalid 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1202
+msgid "Resize requests require 'flavorRef' attribute."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1220
+#: 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
+msgid "Invalid request body"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1226
+msgid "Could not parse imageRef from request."
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1290
+msgid "Cannot find image for rebuild"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1323
+msgid "createImage entity requires name attribute"
+msgstr ""
+
+#: nova/api/openstack/compute/servers.py:1409
+#, python-format
+msgid "Removing options '%(unk_opt_str)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:38
+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 %(id)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: %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:115
+#, python-format
+msgid "Cannot update aggregate: %(id)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/aggregates.py:127
+#, python-format
+msgid "Cannot delete aggregate: %(id)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:193
+msgid "Cell name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:197
+msgid "Cell name cannot contain '!' or '.'"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:204
+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
+msgid "No cell information in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:229
+msgid "No cell name in request"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/cells.py:266
+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:58
+msgid "admin password can't be changed on existing disk"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:66
+msgid "host and onSharedStorage must be specified."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/evacuate.py:77
+#, python-format
+msgid "Error in evacuate, %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
+#, python-format
+msgid "Fixed IP %s has been deleted"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
+#, 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:413
+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:378
+#, 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:205
+#, python-format
+msgid "Putting host %(host_name)s in maintenance mode %(mode)s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:210
+msgid "Virt driver does not implement host maintenance mode."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:223
+#, python-format
+msgid "Enabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:225
+#, python-format
+msgid "Disabling host %s."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:230
+msgid "Virt driver does not implement host disabled status."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:246
+msgid "Virt driver does not implement host power management."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/hosts.py:332
+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/keypairs.py:101
+#, python-format
+msgid "Key pair '%s' already exists."
+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:65
+msgid "Quota limit must be -1 or greater."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:100
+#, python-format
+msgid "Bad key(s) %s in quota_set"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/quotas.py:107
+#, python-format
+msgid "Quota for %s should be integer."
+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:324
+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:332
+#, python-format
+msgid "Bad prefix for network in cidr %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:416
+msgid "Security group not specified"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/security_groups.py:420
+msgid "Security group name cannot be empty"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:46
+msgid "start instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/server_start_stop.py:58
+msgid "stop instance"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:123
+msgid "Unknown action"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/services.py:137
+msgid "Unknown service"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/simple_tenant_usage.py:226
+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:356
+#: nova/api/openstack/compute/contrib/volumes.py:450
+#, python-format
+msgid "Instance %s is not attached."
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:377
+#, python-format
+msgid "Bad volumeId format: volumeId is not in proper format (%s)"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:396
+#, python-format
+msgid "Attach volume %(volume_id)s to instance %(server_id)s at %(device)s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:573
+#, python-format
+msgid "Delete snapshot with id: %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:616
+#, python-format
+msgid "Create snapshot from volume %s"
+msgstr ""
+
+#: nova/api/openstack/compute/contrib/volumes.py:620
+#, python-format
+msgid "Invalid value '%s' for force."
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/views/servers.py:186
+msgid "Instance has had its instance_type removed from the DB"
+msgstr ""
+
+#: nova/cells/messaging.py:203
+#, python-format
+msgid "Error processing message locally: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:357 nova/cells/messaging.py:363
+#, python-format
+msgid "destination is %(target_cell)s but routing_path is %(routing_path)s"
+msgstr ""
+
+#: nova/cells/messaging.py:373
+#, python-format
+msgid "Unknown %(cell_type)s when routing to %(target_cell)s"
+msgstr ""
+
+#: nova/cells/messaging.py:397
+#, python-format
+msgid "Error locating next hop for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:424
+#, python-format
+msgid "Failed to send message to cell: %(next_hop)s: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:503
+#, python-format
+msgid "Error locating next hops for message: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:523
+#, python-format
+msgid "Error sending message to next hops: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:541
+#, python-format
+msgid "Error waiting for responses from neighbor cells: %(exc)s"
+msgstr ""
+
+#: nova/cells/messaging.py:652
+#, python-format
+msgid "Unknown method '%(method)s' in compute API"
+msgstr ""
+
+#: nova/cells/messaging.py:675
+#, python-format
+msgid "Received capabilities from child cell %(cell_name)s: %(capabilities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:684
+#, python-format
+msgid "Received capacities from child cell %(cell_name)s: %(capacities)s"
+msgstr ""
+
+#: nova/cells/messaging.py:810
+#, python-format
+msgid "Got update for instance %(instance_uuid)s: %(instance)s"
+msgstr ""
+
+#: nova/cells/messaging.py:838
+#, python-format
+msgid "Got update to delete instance %(instance_uuid)s"
+msgstr ""
+
+#: nova/cells/messaging.py:853
+#, python-format
+msgid "Got broadcast to %(delete_type)s delete instance"
+msgstr ""
+
+#: nova/cells/messaging.py:867
+#, python-format
+msgid "Got message to create instance fault: %(instance_fault)s"
+msgstr ""
+
+#: nova/cells/messaging.py:888
+#, python-format
+msgid ""
+"Forcing a sync of instances, project_id=%(projid_str)s, "
+"updated_since=%(since_str)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1072
+#, python-format
+msgid "Updating parents with our capabilities: %(capabs)s"
+msgstr ""
+
+#: nova/cells/messaging.py:1092
+#, python-format
+msgid "Updating parents with our capacities: %(capacities)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:106
+#, python-format
+msgid "Scheduling with routing_path=%(routing_path)s"
+msgstr ""
+
+#: nova/cells/scheduler.py:132
+#, python-format
+msgid ""
+"No cells available when scheduling. Will retry in %(sleep_time)s "
+"second(s)"
+msgstr ""
+
+#: nova/cells/scheduler.py:139
+#, python-format
+msgid "Error scheduling instances %(instance_uuids)s"
+msgstr ""
+
+#: nova/cells/state.py:270
+msgid "Updating cell cache from db."
+msgstr ""
+
+#: nova/cells/state.py:315
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capabilities"
+msgstr ""
+
+#: nova/cells/state.py:330
+#, python-format
+msgid "Unknown cell '%(cell_name)s' when trying to update capacities"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:48
+msgid "Instance type for vpn instances"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:51
+msgid "Template for cloudpipe instance boot script"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:54
+msgid "Network to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:57
+msgid "Netmask to push into openvpn config"
+msgstr ""
+
+#: nova/cloudpipe/pipelib.py:126
+#, python-format
+msgid "Launching VPN for %s"
+msgstr ""
+
+#: nova/cmd/all.py:61 nova/cmd/all.py:67 nova/cmd/all.py:90
+#, python-format
+msgid "Failed to load %s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:236
+#, python-format
+msgid "start deployment for node %(node_id)s, params %(params)s"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:244
+#, python-format
+msgid "deployment to node %s failed"
+msgstr ""
+
+#: nova/cmd/baremetal_deploy_helper.py:248
+#, python-format
+msgid "deployment to node %s done"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
+#, python-format
+msgid "Could not read %s. Re-running with sudo"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
+msgid "sudo failed, continuing as if nothing happened"
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
+msgid "Please re-run nova-manage as root."
+msgstr ""
+
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
+msgid "Command failed, please check log for more info"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:47
+msgid "leasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:67
+msgid "releasing ip"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:122
+#, python-format
+msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
+msgstr ""
+
+#: nova/cmd/dhcpbridge.py:132
+msgid "Environment variable 'NETWORK_ID' must be set."
+msgstr ""
+
+#: nova/cmd/manage.py:203
+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:238
+#, python-format
+msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
+msgstr ""
+
+#: nova/cmd/manage.py:244
+msgid "Quota"
+msgstr ""
+
+#: nova/cmd/manage.py:245
+msgid "Limit"
+msgstr ""
+
+#: nova/cmd/manage.py:246
+msgid "In Use"
+msgstr ""
+
+#: nova/cmd/manage.py:247
+msgid "Reserved"
+msgstr ""
+
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
+#, python-format
+msgid "error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:295
+msgid "network"
+msgstr ""
+
+#: nova/cmd/manage.py:296
+msgid "IP address"
+msgstr ""
+
+#: nova/cmd/manage.py:297
+msgid "hostname"
+msgstr ""
+
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
+msgid "host"
+msgstr ""
+
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
+msgid "No fixed IP found."
+msgstr ""
+
+#: nova/cmd/manage.py:326
+#, python-format
+msgid "WARNING: fixed ip %s allocated to missing instance"
+msgstr ""
+
+#: nova/cmd/manage.py:385
+#, python-format
+msgid ""
+"Too many IP addresses will be generated. Please increase /%s to reduce "
+"the number generated."
+msgstr ""
+
+#: nova/cmd/manage.py:434
+msgid "No floating IP addresses have been defined."
+msgstr ""
+
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
+msgid "id"
+msgstr ""
+
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
+msgid "IPv4"
+msgstr ""
+
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
+msgid "IPv6"
+msgstr ""
+
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
+msgid "start address"
+msgstr ""
+
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
+msgid "DNS1"
+msgstr ""
+
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
+msgid "DNS2"
+msgstr ""
+
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
+msgid "VlanID"
+msgstr ""
+
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
+#: nova/tests/test_nova_manage.py:219
+msgid "project"
+msgstr ""
+
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
+msgid "uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:511
+msgid "No networks found"
+msgstr ""
+
+#: nova/cmd/manage.py:530
+msgid "Please specify either fixed_range or uuid"
+msgstr ""
+
+#: nova/cmd/manage.py:535
+msgid "UUID is required to delete Quantum Networks"
+msgstr ""
+
+#: nova/cmd/manage.py:538
+msgid "Deleting by fixed_range is not supported with the QuantumManager"
+msgstr ""
+
+#: nova/cmd/manage.py:601
+msgid "instance"
+msgstr ""
+
+#: nova/cmd/manage.py:602
+msgid "node"
+msgstr ""
+
+#: nova/cmd/manage.py:603
+msgid "type"
+msgstr ""
+
+#: nova/cmd/manage.py:604
+msgid "state"
+msgstr ""
+
+#: nova/cmd/manage.py:605
+msgid "launched"
+msgstr ""
+
+#: nova/cmd/manage.py:606
+msgid "image"
+msgstr ""
+
+#: nova/cmd/manage.py:607
+msgid "kernel"
+msgstr ""
+
+#: nova/cmd/manage.py:608
+msgid "ramdisk"
+msgstr ""
+
+#: nova/cmd/manage.py:610
+msgid "user"
+msgstr ""
+
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
+msgid "zone"
+msgstr ""
+
+#: nova/cmd/manage.py:612
+msgid "index"
+msgstr ""
+
+#: nova/cmd/manage.py:657
+msgid "Binary"
+msgstr ""
+
+#: nova/cmd/manage.py:658
+msgid "Host"
+msgstr ""
+
+#: nova/cmd/manage.py:659
+msgid "Zone"
+msgstr ""
+
+#: nova/cmd/manage.py:660
+msgid "Status"
+msgstr ""
+
+#: nova/cmd/manage.py:661
+msgid "State"
+msgstr ""
+
+#: nova/cmd/manage.py:662
+msgid "Updated_At"
+msgstr ""
+
+#: nova/cmd/manage.py:684
+#, python-format
+msgid "Service %(service)s on host %(host)s enabled."
+msgstr ""
+
+#: nova/cmd/manage.py:697
+#, python-format
+msgid "Service %(service)s on host %(host)s disabled."
+msgstr ""
+
+#: nova/cmd/manage.py:764
+msgid "An unexpected error has occurred."
+msgstr ""
+
+#: nova/cmd/manage.py:765
+msgid "[Result]"
+msgstr ""
+
+#: nova/cmd/manage.py:769
+msgid "HOST"
+msgstr ""
+
+#: nova/cmd/manage.py:770
+msgid "PROJECT"
+msgstr ""
+
+#: nova/cmd/manage.py:771
+msgid "cpu"
+msgstr ""
+
+#: nova/cmd/manage.py:772
+msgid "mem(mb)"
+msgstr ""
+
+#: nova/cmd/manage.py:773
+msgid "hdd"
+msgstr ""
+
+#: nova/cmd/manage.py:855
+msgid "Must supply a positive value for max_rows"
+msgstr ""
+
+#: nova/cmd/manage.py:893
+msgid "Must supply valid parameters to create instance_type"
+msgstr ""
+
+#: nova/cmd/manage.py:897
+msgid "Instance Type exists."
+msgstr ""
+
+#: nova/cmd/manage.py:898
+msgid "Please ensure instance_type name and flavorid are unique."
+msgstr ""
+
+#: nova/cmd/manage.py:900
+msgid "Currently defined instance_type names and flavorids:"
+msgstr ""
+
+#: nova/cmd/manage.py:905
+msgid "Unknown error"
+msgstr ""
+
+#: nova/cmd/manage.py:908
+#, python-format
+msgid "%s created"
+msgstr ""
+
+#: nova/cmd/manage.py:916
+msgid "Valid instance type name is required"
+msgstr ""
+
+#: nova/cmd/manage.py:919
+#, python-format
+msgid "DB Error: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:924
+#, python-format
+msgid "%s deleted"
+msgstr ""
+
+#: nova/cmd/manage.py:960
+#, python-format
+msgid "Key %(key)s set to %(value)s on instance type %(name)s"
+msgstr ""
+
+#: nova/cmd/manage.py:982
+#, python-format
+msgid "Key %(key)s on instance type %(name)s unset"
+msgstr ""
+
+#: nova/cmd/manage.py:1026
+#, python-format
+msgid "Hypervisor: %s"
+msgstr ""
+
+#: nova/cmd/manage.py:1067
+#, python-format
+msgid "Line %(linenum)d : %(line)s"
+msgstr ""
+
+#: nova/cmd/manage.py:1069
+msgid "No errors in logfiles!"
+msgstr ""
+
+#: nova/cmd/manage.py:1081
+msgid "Unable to find system log file!"
+msgstr ""
+
+#: nova/cmd/manage.py:1085
+#, python-format
+msgid "Last %s nova syslog entries:-"
+msgstr ""
+
+#: nova/cmd/manage.py:1094
+msgid "No nova entries in syslog!"
+msgstr ""
+
+#: nova/compute/api.py:281
+msgid "Cannot run any more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:288
+#, python-format
+msgid "Can only run %s more instances of this type."
+msgstr ""
+
+#: nova/compute/api.py:297
+#, python-format
+msgid ""
+"%(overs)s quota exceeded for %(pid)s, tried to run %(min_count)s "
+"instances. %(msg)s"
+msgstr ""
+
+#: nova/compute/api.py:317
+#, python-format
+msgid ""
+"Quota exceeded for %(pid)s, tried to set %(num_metadata)s metadata "
+"properties"
+msgstr ""
+
+#: nova/compute/api.py:327
+msgid "Metadata property key blank"
+msgstr ""
+
+#: nova/compute/api.py:331
+msgid "Metadata property key greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:335
+msgid "Metadata property value greater than 255 characters"
+msgstr ""
+
+#: nova/compute/api.py:468
+msgid "Failed to set instance name using multi_instance_display_name_template."
+msgstr ""
+
+#: nova/compute/api.py:508
+msgid "Cannot attach one or more volumes to multiple instances"
+msgstr ""
+
+#: nova/compute/api.py:622
+#, python-format
+msgid "Going to run %s instances..."
+msgstr ""
+
+#: nova/compute/api.py:738
+#, python-format
+msgid "bdm %s"
+msgstr ""
+
+#: nova/compute/api.py:765
+#, python-format
+msgid "block_device_mapping %s"
+msgstr ""
+
+#: nova/compute/api.py:1036
+msgid "instance termination disabled"
+msgstr ""
+
+#: nova/compute/api.py:1172
+#, python-format
+msgid "instance type %(old_inst_type_id)d not found"
+msgstr ""
+
+#: nova/compute/api.py:1178
+msgid "going to delete a resizing instance"
+msgstr ""
+
+#: nova/compute/api.py:1188
+#, python-format
+msgid "instance's host %s is down, deleting from database"
+msgstr ""
+
+#: nova/compute/api.py:1232
+msgid "Going to try to soft delete instance"
+msgstr ""
+
+#: nova/compute/api.py:1256
+msgid "Going to try to terminate instance"
+msgstr ""
+
+#: nova/compute/api.py:1306
+msgid "Going to try to stop instance"
+msgstr ""
+
+#: nova/compute/api.py:1323
+msgid "Going to try to start instance"
+msgstr ""
+
+#: nova/compute/api.py:1396
+#, python-format
+msgid "Searching by: %s"
+msgstr ""
+
+#: nova/compute/api.py:1633
+#, python-format
+msgid "snapshot for %s"
+msgstr ""
+
+#: nova/compute/api.py:1984
+msgid "flavor_id is None. Assuming migration."
+msgstr ""
+
+#: nova/compute/api.py:1993
+#, python-format
+msgid ""
+"Old instance type %(current_instance_type_name)s, new instance type "
+"%(new_instance_type_name)s"
+msgstr ""
+
+#: nova/compute/api.py:2035
+#, python-format
+msgid "%(overs)s quota exceeded for %(pid)s, tried to resize instance."
+msgstr ""
+
+#: nova/compute/api.py:2175
+msgid "Cannot rescue a volume-backed instance"
+msgstr ""
+
+#: nova/compute/api.py:2282
+msgid "Locking"
+msgstr ""
+
+#: nova/compute/api.py:2290
+msgid "Unlocking"
+msgstr ""
+
+#: nova/compute/api.py:2362
+msgid "Volume must be attached in order to detach."
+msgstr ""
+
+#: nova/compute/api.py:2475
+#, python-format
+msgid "Going to try to live migrate instance to %s"
+msgstr ""
+
+#: nova/compute/api.py:2494
+msgid "vm evacuation scheduled"
+msgstr ""
+
+#: nova/compute/api.py:2498
+#, python-format
+msgid ""
+"Instance compute service state on %(inst_host)s expected to be down, but "
+"it was up."
+msgstr ""
+
+#: nova/compute/api.py:2745
+msgid "Keypair name contains unsafe characters"
+msgstr ""
+
+#: nova/compute/api.py:2749
+msgid "Keypair name must be between 1 and 255 characters long"
+msgstr ""
+
+#: nova/compute/api.py:2845
+#, python-format
+msgid "Security group %s is not a string or unicode"
+msgstr ""
+
+#: nova/compute/api.py:2848
+#, python-format
+msgid "Security group %s cannot be empty."
+msgstr ""
+
+#: nova/compute/api.py:2856
+#, python-format
+msgid ""
+"Value (%(value)s) for parameter Group%(property)s is invalid. Content "
+"limited to '%(allowed)'."
+msgstr ""
+
+#: nova/compute/api.py:2862
+#, python-format
+msgid "Security group %s should not be greater than 255 characters."
+msgstr ""
+
+#: nova/compute/api.py:2880
+msgid "Quota exceeded, too many security groups."
+msgstr ""
+
+#: nova/compute/api.py:2883
+#, python-format
+msgid "Create Security Group %s"
+msgstr ""
+
+#: nova/compute/api.py:2890
+#, python-format
+msgid "Security group %s already exists"
+msgstr ""
+
+#: nova/compute/api.py:2954
+#, python-format
+msgid "Unable to delete system group '%s'"
+msgstr ""
+
+#: nova/compute/api.py:2959
+msgid "Security group is still in use"
+msgstr ""
+
+#: nova/compute/api.py:2967
+msgid "Failed to update usages deallocating security group"
+msgstr ""
+
+#: nova/compute/api.py:2970
+#, python-format
+msgid "Delete security group %s"
+msgstr ""
+
+#: nova/compute/api.py:3047 nova/compute/api.py:3121
+#, python-format
+msgid "Rule (%s) not found"
+msgstr ""
+
+#: nova/compute/api.py:3063
+msgid "Quota exceeded, too many security group rules."
+msgstr ""
+
+#: nova/compute/api.py:3066
+#, python-format
+msgid "Authorize security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3075
+#, python-format
+msgid "Revoke security group ingress %s"
+msgstr ""
+
+#: nova/compute/api.py:3128
+msgid "Security group id should be integer"
+msgstr ""
+
+#: nova/compute/claims.py:91 nova/compute/claims.py:214
+#, 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)d %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:167
+#, python-format
+msgid "%(type_)s limit not specified, defaulting to unlimited"
+msgstr ""
+
+#: nova/compute/claims.py:174
+#, python-format
+msgid "%(type_)s limit: %(limit)d %(unit)s, free: %(free)d %(unit)s"
+msgstr ""
+
+#: nova/compute/claims.py:181
+#, python-format
+msgid ""
+"Unable to claim resources. Free %(type_)s %(free)d %(unit)s < requested "
+"%(requested)d %(unit)s"
+msgstr ""
+
+#: nova/compute/flavors.py:96
+msgid "names can only contain [a-zA-Z0-9_.- ]"
+msgstr ""
+
+#: nova/compute/flavors.py:105
+#, python-format
+msgid "'%s' argument must be a positive integer"
+msgstr ""
+
+#: nova/compute/flavors.py:113
+msgid "'rxtx_factor' argument must be a positive float"
+msgstr ""
+
+#: nova/compute/flavors.py:121
+#, python-format
+msgid "'%s' argument must be greater than 0"
+msgstr ""
+
+#: nova/compute/flavors.py:131
+msgid "is_public must be a boolean"
+msgstr ""
+
+#: nova/compute/flavors.py:138
+#, python-format
+msgid "DB error: %s"
+msgstr ""
+
+#: nova/compute/flavors.py:148
+#, python-format
+msgid "Instance type %s not found for deletion"
+msgstr ""
+
+#: nova/compute/manager.py:206
+msgid "Possibly task preempted."
+msgstr ""
+
+#: nova/compute/manager.py:364
+#, python-format
+msgid "%(nodename)s is not a valid node managed by this compute host."
+msgstr ""
+
+#: nova/compute/manager.py:393
+msgid "Instance has been destroyed from under us while trying to set it to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:408
+#, python-format
+msgid "Instance %(uuid)s found in the hypervisor, but not in the database"
+msgstr ""
+
+#: nova/compute/manager.py:424
+#, python-format
+msgid ""
+"Instance %(driver_instance)s found in the hypervisor, but not in the "
+"database"
+msgstr ""
+
+#: nova/compute/manager.py:445
+#, 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:460
+msgid "Instance has been marked deleted already, removing it from the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:481
+msgid ""
+"Hypervisor driver does not support instance shared storage check, "
+"assuming it's not on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:487
+msgid "Failed to check if instance shared"
+msgstr ""
+
+#: nova/compute/manager.py:530
+msgid "Failed to revert crashed migration"
+msgstr ""
+
+#: nova/compute/manager.py:533
+msgid "Instance found in migrating state during startup. Resetting task_state"
+msgstr ""
+
+#: nova/compute/manager.py:544
+#, python-format
+msgid "Current state is %(drv_state)s, state in DB is %(db_state)s."
+msgstr ""
+
+#: nova/compute/manager.py:549
+msgid "Rebooting instance after nova-compute restart."
+msgstr ""
+
+#: nova/compute/manager.py:563
+msgid "Hypervisor driver does not support resume guests"
+msgstr ""
+
+#: nova/compute/manager.py:568
+msgid "Failed to resume instance"
+msgstr ""
+
+#: nova/compute/manager.py:578
+msgid "Hypervisor driver does not support firewall rules"
+msgstr ""
+
+#: nova/compute/manager.py:582
+#, python-format
+msgid "Lifecycle event %(state)d on VM %(uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:598
+#, python-format
+msgid "Unexpected power state %d"
+msgstr ""
+
+#: nova/compute/manager.py:610
+#, python-format
+msgid "Ignoring event %s"
+msgstr ""
+
+#: nova/compute/manager.py:648
+msgid "Checking state"
+msgstr ""
+
+#: nova/compute/manager.py:746
+#, python-format
+msgid "Volume id: %s finished being created but was not set as 'available'"
+msgstr ""
+
+#: nova/compute/manager.py:763
+#, python-format
+msgid "Setting up bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:863
+msgid "Success"
+msgstr ""
+
+#: nova/compute/manager.py:886
+msgid "Instance disappeared before we could start it"
+msgstr ""
+
+#: nova/compute/manager.py:907 nova/compute/manager.py:2385
+#, python-format
+msgid "No node specified, defaulting to %(node)s"
+msgstr ""
+
+#: nova/compute/manager.py:949
+msgid "Failed to dealloc network for deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:955
+msgid "Instance was deleted during spawn."
+msgstr ""
+
+#: nova/compute/manager.py:983
+#, python-format
+msgid "Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1000
+msgid "Clean up resource before rescheduling."
+msgstr ""
+
+#: nova/compute/manager.py:1025 nova/compute/manager.py:2439
+msgid "Error trying to reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1038
+msgid "Retry info not present, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1043
+msgid "No request spec, will not reschedule"
+msgstr ""
+
+#: nova/compute/manager.py:1049
+#, python-format
+msgid "Re-scheduling %(method)s: attempt %(num)d"
+msgstr ""
+
+#: nova/compute/manager.py:1078
+msgid "Instance build timed out. Set to error state."
+msgstr ""
+
+#: nova/compute/manager.py:1129
+#, python-format
+msgid ""
+"image_id=%(image_id)s, image_size_bytes=%(size_bytes)d, "
+"allowed_size_bytes=%(allowed_size_bytes)d"
+msgstr ""
+
+#: nova/compute/manager.py:1135
+#, python-format
+msgid ""
+"Image '%(image_id)s' size %(size_bytes)d exceeded instance_type allowed "
+"size %(allowed_size_bytes)d"
+msgstr ""
+
+#: nova/compute/manager.py:1145
+msgid "Starting instance..."
+msgstr ""
+
+#: nova/compute/manager.py:1171
+msgid "Instance failed network setup"
+msgstr ""
+
+#: nova/compute/manager.py:1174
+#, python-format
+msgid "Instance network_info: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:1185
+msgid "Instance failed block device setup"
+msgstr ""
+
+#: nova/compute/manager.py:1204
+msgid "Instance failed to spawn"
+msgstr ""
+
+#: nova/compute/manager.py:1255
+msgid "Deallocating network for instance"
+msgstr ""
+
+#: nova/compute/manager.py:1326
+#, python-format
+msgid "%(action_str)s instance"
+msgstr ""
+
+#: nova/compute/manager.py:1342
+msgid "Failed to deallocate network for instance."
+msgstr ""
+
+#: nova/compute/manager.py:1363
+#, python-format
+msgid "Ignoring DiskNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1366
+#, python-format
+msgid "Ignoring VolumeNotFound: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1373
+#, python-format
+msgid "terminating bdm %s"
+msgstr ""
+
+#: nova/compute/manager.py:1421
+#, python-format
+msgid "Ignoring volume cleanup failure due to %s"
+msgstr ""
+
+#: nova/compute/manager.py:1474 nova/compute/manager.py:2615
+#: nova/compute/manager.py:4124
+#, python-format
+msgid "%s. Setting instance vm_state to ERROR"
+msgstr ""
+
+#: nova/compute/manager.py:1626
+msgid "Rebuilding instance"
+msgstr ""
+
+#: nova/compute/manager.py:1639
+msgid "Invalid state of instance files on shared storage"
+msgstr ""
+
+#: nova/compute/manager.py:1643
+msgid "disk on shared storage, recreating using existing disk"
+msgstr ""
+
+#: nova/compute/manager.py:1647
+#, python-format
+msgid "disk not on shared storagerebuilding from: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1731
+#, python-format
+msgid "bringing vm to original state: '%s'"
+msgstr ""
+
+#: nova/compute/manager.py:1763
+#, python-format
+msgid "Detaching from volume api: %s"
+msgstr ""
+
+#: nova/compute/manager.py:1781
+msgid "Rebooting instance"
+msgstr ""
+
+#: nova/compute/manager.py:1806
+#, python-format
+msgid ""
+"trying to reboot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1822
+#, python-format
+msgid "Cannot reboot instance: %(exc)s"
+msgstr ""
+
+#: nova/compute/manager.py:1835
+msgid "Instance disappeared during reboot"
+msgstr ""
+
+#: nova/compute/manager.py:1862
+msgid "instance snapshotting"
+msgstr ""
+
+#: nova/compute/manager.py:1868
+#, python-format
+msgid ""
+"trying to snapshot a non-running instance: (state: %(state)s expected: "
+"%(running)s)"
+msgstr ""
+
+#: nova/compute/manager.py:1929
+#, python-format
+msgid "Found %(num_images)d images (rotation: %(rotation)d)"
+msgstr ""
+
+#: nova/compute/manager.py:1936
+#, python-format
+msgid "Rotating out %d backups"
+msgstr ""
+
+#: nova/compute/manager.py:1941
+#, python-format
+msgid "Deleting image %s"
+msgstr ""
+
+#: nova/compute/manager.py:1969
+#, python-format
+msgid "Failed to set admin password. Instance %s is not running"
+msgstr ""
+
+#: nova/compute/manager.py:1976
+msgid "Root password set"
+msgstr ""
+
+#: nova/compute/manager.py:1983
+msgid "set_admin_password is not implemented by this driver or guest instance."
+msgstr ""
+
+#: nova/compute/manager.py:1998
+#, python-format
+msgid "set_admin_password failed: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2005
+msgid "error setting admin password"
+msgstr ""
+
+#: nova/compute/manager.py:2018
+#, python-format
+msgid ""
+"trying to inject a file into a non-running (state: "
+"%(current_power_state)s expected: %(expected_state)s)"
+msgstr ""
+
+#: nova/compute/manager.py:2022
+#, python-format
+msgid "injecting file to %(path)s"
+msgstr ""
+
+#: nova/compute/manager.py:2042
+msgid ""
+"Unable to find a different image to use for rescue VM, using instance's "
+"current image"
+msgstr ""
+
+#: nova/compute/manager.py:2055
+msgid "Rescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2074
+msgid "Error trying to Rescue Instance"
+msgstr ""
+
+#: nova/compute/manager.py:2078
+#, python-format
+msgid "Driver Error: %s"
+msgstr ""
+
+#: nova/compute/manager.py:2096
+msgid "Unrescuing"
+msgstr ""
+
+#: nova/compute/manager.py:2117
+#, python-format
+msgid "Changing instance metadata according to %(diff)r"
+msgstr ""
+
+#: nova/compute/manager.py:2343
+msgid "Instance has no source host"
+msgstr ""
+
+#: nova/compute/manager.py:2349
+msgid "destination same as source!"
+msgstr ""
+
+#: nova/compute/manager.py:2366
+msgid "Migrating"
+msgstr ""
+
+#: nova/compute/manager.py:2612
+#, python-format
+msgid "Failed to rollback quota for failed finish_resize: %(qr_error)s"
+msgstr ""
+
+#: nova/compute/manager.py:2675
+msgid "Pausing"
+msgstr ""
+
+#: nova/compute/manager.py:2693
+msgid "Unpausing"
+msgstr ""
+
+#: nova/compute/manager.py:2731
+msgid "Retrieving diagnostics"
+msgstr ""
+
+#: nova/compute/manager.py:2762
+msgid "Resuming"
+msgstr ""
+
+#: nova/compute/manager.py:2782
+msgid "Reset network"
+msgstr ""
+
+#: nova/compute/manager.py:2787
+msgid "Inject network info"
+msgstr ""
+
+#: nova/compute/manager.py:2790
+#, python-format
+msgid "network_info to inject: |%s|"
+msgstr ""
+
+#: nova/compute/manager.py:2807
+msgid "Get console output"
+msgstr ""
+
+#: nova/compute/manager.py:2834
+msgid "Getting vnc console"
+msgstr ""
+
+#: nova/compute/manager.py:2869
+msgid "Getting spice console"
+msgstr ""
+
+#: nova/compute/manager.py:2916
+#, python-format
+msgid "Booting with volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:2967
+#, python-format
+msgid "Attaching volume %(volume_id)s to %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:2976
+#, python-format
+msgid ""
+"Failed to connect to volume %(volume_id)s while attaching at "
+"%(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:2991
+#, python-format
+msgid "Failed to attach volume %(volume_id)s at %(mountpoint)s"
+msgstr ""
+
+#: nova/compute/manager.py:3021
+#, python-format
+msgid "Detach volume %(volume_id)s from mountpoint %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3031
+msgid "Detaching volume from unknown instance"
+msgstr ""
+
+#: nova/compute/manager.py:3038
+#, python-format
+msgid "Failed to detach volume %(volume_id)s from %(mp)s"
+msgstr ""
+
+#: nova/compute/manager.py:3062
+msgid "Updating volume usage cache with totals"
+msgstr ""
+
+#: nova/compute/manager.py:3100
+#, python-format
+msgid "allocate_port_for_instance returned %(ports)s ports"
+msgstr ""
+
+#: nova/compute/manager.py:3120
+#, python-format
+msgid "Port %(port_id)s is not attached"
+msgstr ""
+
+#: nova/compute/manager.py:3134
+#, python-format
+msgid "Host %(host)s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3278
+#, python-format
+msgid "Pre live migration failed at %(dest)s"
+msgstr ""
+
+#: nova/compute/manager.py:3306
+msgid "_post_live_migration() is started.."
+msgstr ""
+
+#: nova/compute/manager.py:3361
+#, python-format
+msgid "Migrating instance to %(dest)s finished successfully."
+msgstr ""
+
+#: nova/compute/manager.py:3363
+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:3377
+msgid "Post operation of migration started"
+msgstr ""
+
+#: nova/compute/manager.py:3406
+#, python-format
+msgid "Failed to get compute_info for %s"
+msgstr ""
+
+#: nova/compute/manager.py:3525
+msgid "Updated the info_cache for instance"
+msgstr ""
+
+#: nova/compute/manager.py:3570
+#, python-format
+msgid ""
+"Found %(migration_count)d unconfirmed migrations older than "
+"%(confirm_window)d seconds"
+msgstr ""
+
+#: nova/compute/manager.py:3576
+#, python-format
+msgid "Setting migration %(migration_id)s to error: %(reason)s"
+msgstr ""
+
+#: nova/compute/manager.py:3585
+#, python-format
+msgid ""
+"Automatically confirming migration %(migration_id)s for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/compute/manager.py:3592
+#, python-format
+msgid "Instance %(instance_uuid)s not found"
+msgstr ""
+
+#: nova/compute/manager.py:3596
+msgid "In ERROR state"
+msgstr ""
+
+#: nova/compute/manager.py:3603
+#, python-format
+msgid "In states %(vm_state)s/%(task_state)s, not RESIZED/None"
+msgstr ""
+
+#: nova/compute/manager.py:3612
+#, python-format
+msgid "Error auto-confirming resize: %(e)s. Will retry later."
+msgstr ""
+
+#: nova/compute/manager.py:3629
+#, 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:3648
+#, python-format
+msgid "Failed to generate usage audit for instance on host %s"
+msgstr ""
+
+#: nova/compute/manager.py:3672
+msgid "Updating bandwidth usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3789
+msgid "Updating volume usage cache"
+msgstr ""
+
+#: nova/compute/manager.py:3806
+msgid "Updating host status"
+msgstr ""
+
+#: nova/compute/manager.py:3833
+#, python-format
+msgid ""
+"Found %(num_db_instances)s in the database and %(num_vm_instances)s on "
+"the hypervisor."
+msgstr ""
+
+#: nova/compute/manager.py:3838 nova/compute/manager.py:3888
+msgid "During sync_power_state the instance has a pending task. Skip."
+msgstr ""
+
+#: nova/compute/manager.py:3875
+#, 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:3913
+msgid "Instance shutdown by itself. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:3925 nova/compute/manager.py:3934
+#: nova/compute/manager.py:3964
+msgid "error during stop() in sync_power_state."
+msgstr ""
+
+#: nova/compute/manager.py:3929
+msgid "Instance is suspended unexpectedly. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:3945
+msgid "Instance is paused unexpectedly. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:3951
+msgid "Instance is unexpectedly not found. Ignore."
+msgstr ""
+
+#: nova/compute/manager.py:3957
+msgid "Instance is not stopped. Calling the stop API."
+msgstr ""
+
+#: nova/compute/manager.py:3973
+msgid "Instance is not (soft-)deleted."
+msgstr ""
+
+#: nova/compute/manager.py:3981
+msgid "CONF.reclaim_instance_interval <= 0, skipping..."
+msgstr ""
+
+#: nova/compute/manager.py:4001
+msgid "Reclaiming deleted instance"
+msgstr ""
+
+#: nova/compute/manager.py:4028
+#, python-format
+msgid "Deleting orphan compute node %s"
+msgstr ""
+
+#: nova/compute/manager.py:4038 nova/compute/resource_tracker.py:321
+#, python-format
+msgid "No service record for host %s"
+msgstr ""
+
+#: nova/compute/manager.py:4079
+#, python-format
+msgid ""
+"Detected instance with name label '%(name)s' which is marked as DELETED "
+"but still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4086
+#, python-format
+msgid ""
+"Destroying instance with name label '%(name)s' which is marked as DELETED"
+" but still present on host."
+msgstr ""
+
+#: nova/compute/manager.py:4093
+#, python-format
+msgid "Unrecognized value '%(action)s' for CONF.running_deleted_instance_action"
+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:51
+msgid "No compute host specified"
+msgstr ""
+
+#: nova/compute/rpcapi.py:54
+#, 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:380
+msgid ""
+"Timed out waiting for nova-conductor. Is it running? Or did this service "
+"start before nova-conductor?"
+msgstr ""
+
+#: nova/conductor/manager.py:91
+#, python-format
+msgid "Instance update attempted for '%(key)s' on %(instance_uuid)s"
+msgstr ""
+
+#: nova/conductor/manager.py:262
+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:673 nova/db/api.py:694
+msgid "Failed to notify cells of instance update"
+msgstr ""
+
+#: nova/db/api.py:734
+msgid "Failed to notify cells of instance info cache update"
+msgstr ""
+
+#: nova/db/api.py:1456
+msgid "Failed to notify cells of bw_usage update"
+msgstr ""
+
+#: nova/db/api.py:1591
+msgid "Failed to notify cells of instance fault"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:157
+#, python-format
+msgid "Deadlock detected when running '%(func_name)s': Retrying..."
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:192
+msgid "model or base_model parameter should be subclass of NovaBase"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#, python-format
+msgid "Unrecognized read_deleted value '%s'"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:1408
+#, 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:1546
+#, python-format
+msgid "Invalid instance id %s in request"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:2836
+#, python-format
+msgid "Change will make usage less than 0 for the following resources: %(unders)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/api.py:4344
+#, 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:53
+#, 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:59
+#, 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:161
+#, python-format
+msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
+#: 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/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:495
+#, python-format
+msgid "fetching image %s from glance"
+msgstr ""
+
+#: nova/image/s3.py:335
+#, python-format
+msgid "Failed to download %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:352
+#, python-format
+msgid "Failed to decrypt %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:362
+#, python-format
+msgid "Failed to untar %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:372
+#, python-format
+msgid "Failed to upload %(image_location)s to %(image_path)s"
+msgstr ""
+
+#: nova/image/s3.py:396
+#, python-format
+msgid "Failed to decrypt private key: %s"
+msgstr ""
+
+#: nova/image/s3.py:403
+#, python-format
+msgid "Failed to decrypt initialization vector: %s"
+msgstr ""
+
+#: nova/image/s3.py:414
+#, python-format
+msgid "Failed to decrypt image file %(image_file)s: %(err)s"
+msgstr ""
+
+#: nova/image/s3.py:426
+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:55
+msgid "instance is a required argument to use @refresh_cache"
+msgstr ""
+
+#: nova/network/api.py:80
+msgid "Failed storing info cache"
+msgstr ""
+
+#: nova/network/api.py:235
+#, 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:100
+#, python-format
+msgid ""
+"Found multiple matches for domain %(domain)s.\n"
+"%(entry)s"
+msgstr ""
+
+#: nova/network/ldapdns.py:127
+#, python-format
+msgid "Unable to dequalify. %(name)s is not in %(domain)s.\n"
+msgstr ""
+
+#: nova/network/ldapdns.py:322
+msgid "This driver only supports type 'a' entries."
+msgstr ""
+
+#: nova/network/ldapdns.py:365
+msgid "This shouldn't be getting called except during testing."
+msgstr ""
+
+#: nova/network/linux_net.py:220
+#, python-format
+msgid "Attempted to remove chain %s which does not exist"
+msgstr ""
+
+#: nova/network/linux_net.py:255
+#, python-format
+msgid "Unknown chain: %r"
+msgstr ""
+
+#: nova/network/linux_net.py:280
+#, 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:425
+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:776
+#, python-format
+msgid "Error deleting conntrack entries for %s"
+msgstr ""
+
+#: nova/network/linux_net.py:975
+#, python-format
+msgid "Pid %d is stale, skip killing dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1020
+#, python-format
+msgid "Hupping dnsmasq threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1022
+#, python-format
+msgid "Pid %d is stale, relaunching dnsmasq"
+msgstr ""
+
+#: nova/network/linux_net.py:1102
+#, python-format
+msgid "killing radvd threw %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1104
+#, python-format
+msgid "Pid %d is stale, relaunching radvd"
+msgstr ""
+
+#: nova/network/linux_net.py:1280
+#, python-format
+msgid "Net device removed: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1283
+#, python-format
+msgid "Failed removing net device: '%s'"
+msgstr ""
+
+#: nova/network/linux_net.py:1401
+#, python-format
+msgid "Starting VLAN interface %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1447
+#, python-format
+msgid "Starting Bridge %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1459
+#, python-format
+msgid "Adding interface %(interface)s to bridge %(bridge)s"
+msgstr ""
+
+#: nova/network/linux_net.py:1495
+#, python-format
+msgid "Failed to add interface: %s"
+msgstr ""
+
+#: nova/network/linux_net.py:1732
+#, python-format
+msgid "Starting bridge %s "
+msgstr ""
+
+#: nova/network/linux_net.py:1740
+#, python-format
+msgid "Done starting bridge %s"
+msgstr ""
+
+#: nova/network/manager.py:364
+#, python-format
+msgid "Disassociated %s stale fixed ip(s)"
+msgstr ""
+
+#: nova/network/manager.py:368
+msgid "setting network host"
+msgstr ""
+
+#: nova/network/manager.py:480
+msgid "network allocations"
+msgstr ""
+
+#: nova/network/manager.py:487
+#, python-format
+msgid "networks retrieved for instance: |%(networks_list)s|"
+msgstr ""
+
+#: nova/network/manager.py:535
+msgid "network deallocation for instance"
+msgstr ""
+
+#: nova/network/manager.py:801
+#, 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:827
+#, python-format
+msgid "Quota exceeded for %(pid)s, tried to allocate fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:879
+msgid "Failed to update usages deallocating fixed IP"
+msgstr ""
+
+#: nova/network/manager.py:911
+#, python-format
+msgid "Unable to release %s because vif doesn't exist."
+msgstr ""
+
+#: nova/network/manager.py:934
+#, python-format
+msgid "Leased IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:938
+#, python-format
+msgid "IP %s leased that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:947
+#, python-format
+msgid "IP |%s| leased that isn't allocated"
+msgstr ""
+
+#: nova/network/manager.py:952
+#, python-format
+msgid "Released IP |%(address)s|"
+msgstr ""
+
+#: nova/network/manager.py:956
+#, python-format
+msgid "IP %s released that is not associated"
+msgstr ""
+
+#: nova/network/manager.py:960
+#, python-format
+msgid "IP %s released that was not leased"
+msgstr ""
+
+#: nova/network/manager.py:979
+#, python-format
+msgid "%s must be an integer"
+msgstr ""
+
+#: nova/network/manager.py:1003
+msgid "Maximum allowed length for 'label' is 255."
+msgstr ""
+
+#: nova/network/manager.py:1023
+#, python-format
+msgid ""
+"Subnet(s) too large, defaulting to /%s. To override, specify "
+"network_size flag."
+msgstr ""
+
+#: nova/network/manager.py:1104
+msgid "cidr already in use"
+msgstr ""
+
+#: nova/network/manager.py:1107
+#, python-format
+msgid "requested cidr (%(cidr)s) conflicts with existing supernet (%(super)s)"
+msgstr ""
+
+#: nova/network/manager.py:1118
+#, python-format
+msgid ""
+"requested cidr (%(cidr)s) conflicts with existing smaller cidr "
+"(%(smaller)s)"
+msgstr ""
+
+#: nova/network/manager.py:1175
+msgid "Network already exists!"
+msgstr ""
+
+#: nova/network/manager.py:1194
+#, python-format
+msgid "Network must be disassociated from project %s before delete"
+msgstr ""
+
+#: nova/network/manager.py:1794
+msgid ""
+"The sum between the number of networks and the vlan start cannot be "
+"greater than 4094"
+msgstr ""
+
+#: nova/network/manager.py:1801
+#, 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:375
+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:104
+#, python-format
+msgid "Quantum security group %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:107
+#: nova/network/security_group/quantum_driver.py:153
+#: nova/network/security_group/quantum_driver.py:242
+#, python-format
+msgid "Quantum Error: %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:127
+msgid "Quantum Error getting security groups"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:137
+msgid "Security group id should be uuid"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:171
+#, python-format
+msgid "Quantum Error getting security group %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:175
+#: nova/network/security_group/quantum_driver.py:340
+#: nova/network/security_group/quantum_driver.py:346
+#: nova/network/security_group/quantum_driver.py:373
+#: nova/network/security_group/quantum_driver.py:388
+#: nova/network/security_group/quantum_driver.py:394
+#: nova/network/security_group/quantum_driver.py:423
+msgid "Quantum Error:"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:228
+#, python-format
+msgid "Quantum Error unable to delete %s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:239
+#, python-format
+msgid "Quantum security group rule %s not found"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:356
+#, 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:366
+#: nova/network/security_group/quantum_driver.py:416
+#, python-format
+msgid "Adding security group %(security_group_id)s to port %(port_id)s"
+msgstr ""
+
+#: nova/network/security_group/quantum_driver.py:426
+#, 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/openstack/common/excutils.py:48
+#, python-format
+msgid "Original exception being dropped: %s"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:98
+#, python-format
+msgid "Could not release the acquired lock `%s`"
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:184
+#, python-format
+msgid "Got semaphore \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:195
+#, python-format
+msgid "Attempting to grab file lock \"%(lock)s\" for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:222
+#, python-format
+msgid "Got file lock \"%(lock)s\" at %(path)s for method \"%(method)s\"..."
+msgstr ""
+
+#: nova/openstack/common/lockutils.py:230
+#, 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:347
+#, python-format
+msgid "Error loading logging config %(log_config)s: %(err_msg)s"
+msgstr ""
+
+#: nova/openstack/common/log.py:397
+#, python-format
+msgid "syslog facility must be one of: %s"
+msgstr ""
+
+#: nova/openstack/common/log.py:563
+#, 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:179
+#, python-format
+msgid "%r failed. Retrying."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:461
+msgid "DB exception wrapped."
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:512
+#, python-format
+msgid "Got mysql server has gone away: %s"
+msgstr ""
+
+#: nova/openstack/common/db/sqlalchemy/session.py:584
+#, 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:74
+msgid "An unknown RPC related exception occurred."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:104
+#, python-format
+msgid ""
+"Remote error: %(exc_type)s %(value)s\n"
+"%(traceback)s."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:121
+#, 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:137
+#: nova/openstack/common/rpc/common.py:138
+#: nova/openstack/common/rpc/common.py:139
+msgid "<unknown>"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:143
+#, python-format
+msgid "Found duplicate message(%(msg_id)s). Skipping it."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:147
+msgid "Invalid reuse of an RPC connection."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:151
+#, python-format
+msgid "Specified RPC version, %(version)s, not supported by this endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:156
+#, python-format
+msgid ""
+"Specified RPC envelope version, %(version)s, not supported by this "
+"endpoint."
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:280
+#, python-format
+msgid "Failed to sanitize %(item)s. Key error %(err)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/common.py:302
+#, python-format
+msgid "Returning exception %s to caller"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_kombu.py:169
+#: nova/openstack/common/rpc/impl_qpid.py:133
+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:404
+#, 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
+#, 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
+#, 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
+#, python-format
+msgid "Failed to publish message to topic '%(topic)s': %(err_str)s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:352
+#, python-format
+msgid "Unable to connect to AMQP server: %(e)s. Sleeping %(delay)s seconds"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:358
+#, python-format
+msgid "Connected to AMQP server on %s"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:371
+msgid "Re-established AMQP queues"
+msgstr ""
+
+#: nova/openstack/common/rpc/impl_qpid.py:431
+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:222
+#, 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:335
+#, 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)"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:227
+msgid "Invalid value for 'scheduler_max_attempts', must be >= 1"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:244
+#, python-format
+msgid "Error from last host: %(last_host)s (node %(last_node)s): %(exc)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:276
+#, python-format
+msgid ""
+"Exceeded max scheduling attempts %(max_attempts)d for instance "
+"%(instance_uuid)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:344
+#, python-format
+msgid "Filtered %(hosts)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:357
+#, python-format
+msgid "Choosing host %(chosen_host)s"
+msgstr ""
+
+#: nova/scheduler/filter_scheduler.py:391
+#, 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:208
+#, 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
+#: 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"
+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_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:66
+#, 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:82
+#, 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:42
+#, 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:46
+msgid "service is a mandatory argument for DB based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:76
+#, python-format
+msgid "DB_Driver: get_all members of the %s group"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:99 nova/servicegroup/drivers/mc.py:103
+msgid "Recovered model server connection!"
+msgstr ""
+
+#: nova/servicegroup/drivers/db.py:105 nova/servicegroup/drivers/mc.py:109
+msgid "model server went away"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:44
+msgid "memcached_servers not defined"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:52
+#, 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:57
+msgid "service is a mandatory argument for Memcached based ServiceGroup driver"
+msgstr ""
+
+#: nova/servicegroup/drivers/mc.py:78
+#, 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:119
+#, python-format
+msgid "Couldn't find multipath device %(line)s"
+msgstr ""
+
+#: nova/storage/linuxscsi.py:123
+#, python-format
+msgid "Found multipath device = %(mdev)s"
+msgstr ""
+
+#: nova/tests/fake_ldap.py:34
+msgid "Attempted to instantiate singleton"
+msgstr ""
+
+#: nova/tests/fake_utils.py:72
+#, python-format
+msgid "Faking execution of cmd (subprocess): %s"
+msgstr ""
+
+#: nova/tests/fake_utils.py:80
+#, python-format
+msgid "Faked command matched %s"
+msgstr ""
+
+#: nova/tests/fake_utils.py:96
+#, python-format
+msgid "Faked command raised an exception %s"
+msgstr ""
+
+#: nova/tests/fake_utils.py:101
+#, python-format
+msgid "Reply to faked command is stdout='%(stdout)s' stderr='%(stderr)s'"
+msgstr ""
+
+#: nova/tests/fake_volume.py:187
+msgid "status must be available"
+msgstr ""
+
+#: nova/tests/fake_volume.py:191 nova/volume/cinder.py:228
+msgid "already attached"
+msgstr ""
+
+#: nova/tests/fake_volume.py:195 nova/volume/cinder.py:232
+msgid "Instance and volume not in same availability_zone"
+msgstr ""
+
+#: nova/tests/fake_volume.py:200 nova/volume/cinder.py:238
+msgid "already detached"
+msgstr ""
+
+#: nova/tests/fakelibvirt.py:892
+msgid "Please extend mock libvirt module to support flags"
+msgstr ""
+
+#: nova/tests/fakelibvirt.py:896
+msgid "Expected a list for 'auth' parameter"
+msgstr ""
+
+#: nova/tests/fakelibvirt.py:900
+msgid "Expected a function in 'auth[0]' parameter"
+msgstr ""
+
+#: nova/tests/fakelibvirt.py:904
+msgid "Expected a function in 'auth[1]' parameter"
+msgstr ""
+
+#: nova/tests/test_hypervapi.py:433
+msgid "fake vswitch not found"
+msgstr ""
+
+#: nova/tests/test_misc.py:59
+#, python-format
+msgid ""
+"The following migrations are missing a downgrade:\n"
+"\t%s"
+msgstr ""
+
+#: nova/tests/test_xenapi.py:897
+#, python-format
+msgid "Creating files in %s to simulate guest agent"
+msgstr ""
+
+#: nova/tests/test_xenapi.py:908
+#, python-format
+msgid "Removing simulated guest agent files in %s"
+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:3340
+msgid ""
+"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
+"instances"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3345
+msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
+msgstr ""
+
+#: nova/tests/api/openstack/compute/test_servers.py:3350
+msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1099
+#: nova/tests/compute/test_compute.py:1117
+#: nova/tests/compute/test_compute.py:1168
+#: nova/tests/compute/test_compute.py:1195
+#: nova/tests/compute/test_compute.py:1241
+#: nova/tests/compute/test_compute.py:3725
+#, python-format
+msgid "Running instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1105
+#: nova/tests/compute/test_compute.py:1140
+#: nova/tests/compute/test_compute.py:1183
+#: nova/tests/compute/test_compute.py:1213
+#, python-format
+msgid "After terminating instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:1723
+msgid "Internal error"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:3736
+#, python-format
+msgid "After force-killing instances: %s"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:4238
+msgid "wrong host/node"
+msgstr ""
+
+#: nova/tests/compute/test_compute.py:8725
+msgid "spawn error"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:177
+#, python-format
+msgid "%(result_str)s: %(result)s is not a dict."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:191
+#, 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:202
+#, python-format
+msgid "%(result_str)s: %(result)s is not a list."
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:221
+msgid "Extra list items in template:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:225
+#, python-format
+msgid "Extra list items in %(result_str)s:"
+msgstr ""
+
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
+#, 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/virt/configdrive.py:97
+#, python-format
+msgid "Added %(filepath)s to config drive"
+msgstr ""
+
+#: nova/virt/driver.py:924
+msgid "Event must be an instance of nova.virt.event.Event"
+msgstr ""
+
+#: nova/virt/driver.py:930
+#, python-format
+msgid "Exception dispatching event %(event)s: %(ex)s"
+msgstr ""
+
+#: nova/virt/driver.py:952
+msgid "Compute driver option required, but not specified"
+msgstr ""
+
+#: nova/virt/driver.py:955
+#, python-format
+msgid "Loading compute driver '%s'"
+msgstr ""
+
+#: nova/virt/driver.py:962
+#, python-format
+msgid "Unable to load the virtualization driver: %s"
+msgstr ""
+
+#: nova/virt/fake.py:210
+#, python-format
+msgid "Key '%(key)s' not in instances '%(inst)s'"
+msgstr ""
+
+#: nova/virt/firewall.py:184 nova/virt/libvirt/firewall.py:305
+msgid "Attempted to unfilter instance which is not filtered"
+msgstr ""
+
+#: nova/virt/firewall.py:195
+msgid "Filters added to instance"
+msgstr ""
+
+#: nova/virt/firewall.py:197
+msgid "Provider Firewall Rules refreshed"
+msgstr ""
+
+#: nova/virt/firewall.py:377
+#, python-format
+msgid "Adding security group rule: %r"
+msgstr ""
+
+#: nova/virt/firewall.py:511 nova/virt/xenapi/firewall.py:74
+#, python-format
+msgid "Adding provider rule: %s"
+msgstr ""
+
+#: nova/virt/images.py:113
+msgid "Snapshot list encountered but no header found!"
+msgstr ""
+
+#: nova/virt/images.py:215
+msgid "'qemu-img info' parsing failed."
+msgstr ""
+
+#: nova/virt/images.py:221
+#, python-format
+msgid "fmt=%(fmt)s backed by: %(backing_file)s"
+msgstr ""
+
+#: nova/virt/images.py:233
+#, 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:161
+msgid "IPMI power on failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:183
+msgid "IPMI power off failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:193
+msgid "IPMI set next bootdev failed"
+msgstr ""
+
+#: nova/virt/baremetal/ipmi.py:198 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:179
+#, python-format
+msgid "Fetching kernel and ramdisk for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:287 nova/virt/baremetal/tilera.py:210
+#, python-format
+msgid "Fetching image %(ami)s for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:327 nova/virt/baremetal/tilera.py:246
+#, python-format
+msgid "Injecting files into image for instance %(name)s"
+msgstr ""
+
+#: nova/virt/baremetal/pxe.py:459 nova/virt/baremetal/tilera.py:365
+#, 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:390
+#, 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:154
+#, 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
+#, python-format
+msgid "Tilera deploy started for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:377
+#, python-format
+msgid "Tilera deploy completed for instance %s"
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:385
+msgid "Node is unknown error state."
+msgstr ""
+
+#: nova/virt/baremetal/tilera.py:388
+#, 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:112
+msgid "virtual_power_ssh_host not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:116
+msgid "virtual_power_host_user not defined. Can not Start"
+msgstr ""
+
+#: nova/virt/baremetal/virtual_power_driver.py:122
+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:139
+#, python-format
+msgid "Cannot resize filesystem %s to a smaller size."
+msgstr ""
+
+#: nova/virt/disk/api.py:150
+#, python-format
+msgid "Unable to mount image %(image)s with error %(error)s. Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:160
+#, python-format
+msgid ""
+"Unable to determine label for image %(image)s with error %(errror)s. "
+"Cannot resize."
+msgstr ""
+
+#: nova/virt/disk/api.py:227
+msgid "image already mounted"
+msgstr ""
+
+#: nova/virt/disk/api.py:283
+#, python-format
+msgid ""
+"Inject data image=%(image)s key=%(key)s net=%(net)s metadata=%(metadata)s"
+" admin_password=ha-ha-not-telling-you files=%(files)s "
+"partition=%(partition)s use_cow=%(use_cow)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:300
+#, python-format
+msgid "Ignoring error injecting data into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:319
+#, python-format
+msgid ""
+"Failed to mount container filesystem '%(image)s' on '%(target)s': "
+"%(errors)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:336
+#, python-format
+msgid "Failed to teardown ntainer filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:349
+#, python-format
+msgid "Failed to umount container filesystem: %s"
+msgstr ""
+
+#: nova/virt/disk/api.py:374
+#, python-format
+msgid "Ignoring error injecting %(inject)s into image (%(e)s)"
+msgstr ""
+
+#: nova/virt/disk/api.py:386
+#, python-format
+msgid "Inject file fs=%(fs)s path=%(path)s append=%(append)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:395
+#, python-format
+msgid "Inject metadata fs=%(fs)s metadata=%(metadata)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:436
+#, python-format
+msgid "Inject key fs=%(fs)s key=%(key)s"
+msgstr ""
+
+#: nova/virt/disk/api.py:465
+#, 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=ha-ha-not-telling-you"
+msgstr ""
+
+#: nova/virt/disk/api.py:536
+msgid "Not implemented on Windows"
+msgstr ""
+
+#: nova/virt/disk/api.py:565
+#, python-format
+msgid "User %(username)s not found in password file."
+msgstr ""
+
+#: nova/virt/disk/api.py:581
+#, 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:3835
+#: nova/virt/xenapi/host.py:148
+msgid "Updating host stats"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:159
+msgid "get_host_stats called"
+msgstr ""
+
+#: nova/virt/hyperv/hostops.py:174
+#, python-format
+msgid "Host IP address is: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:48
+#, python-format
+msgid "The image is not a valid VHD: %s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:68
+#, 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:83
+#, python-format
+msgid "Copying VHD %(vhd_path)s to %(resized_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/imagecache.py:86
+#, 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:166
+#, python-format
+msgid "Copying base disk %(base_vhd_path)s to %(base_vhd_copy_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:170
+#, 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:176
+#, python-format
+msgid "Merging base disk %(base_vhd_copy_path)s and diff disk %(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:188
+#, python-format
+msgid "Getting info for disk: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:193
+#, python-format
+msgid "Resizing disk \"%(vhd_path)s\" to new max size %(new_size)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:204
+#, python-format
+msgid ""
+"Reconnecting copied base VHD %(base_vhd_path)s and diff VHD "
+"%(diff_vhd_path)s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:213
+msgid "finish_migration called"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:222
+#, python-format
+msgid "Cannot find boot VHD file: %s"
+msgstr ""
+
+#: nova/virt/hyperv/migrationops.py:235 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:1876
+#, python-format
+msgid "Creating config drive at %(path)s"
+msgstr ""
+
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
+#, 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:902
+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:127
+#, python-format
+msgid "Unable to determine disk prefix for %s"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:174
+#, python-format
+msgid "No free disk device names for prefix '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/blockinfo.py:264
+#, python-format
+msgid "Unable to determine disk bus for '%s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:346
+#, python-format
+msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:552
+#, python-format
+msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:560
+#, python-format
+msgid "Connecting to libvirt: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:577
+#, python-format
+msgid "URI %s does not support events"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:593
+msgid "Connection to libvirt broke"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
+#, python-format
+msgid "Can not handle authentication request for %d credentials"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:636
+#, python-format
+msgid "Connection to libvirt failed: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:727
+#, python-format
+msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:742
+msgid "During wait destroy, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:747
+msgid "Instance destroyed successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:757
+msgid "Instance may be started again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:767
+msgid "Going to destroy instance again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:786
+msgid "Error from libvirt during undefineFlags. Retrying with undefine"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:802
+#, python-format
+msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:822
+msgid "Instance may be still running, destroy it again."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:828
+#, python-format
+msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:856
+#, python-format
+msgid "Deleting instance files %(target)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:865
+#, python-format
+msgid "Failed to cleanup directory %(target)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:908
+msgid "Could not determine fibre channel world wide node names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:915
+msgid "Could not determine fibre channel world wide port names"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:920
+msgid "No Volume Connector found."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1042
+msgid "During detach_volume, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1066
+msgid "attaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1086
+msgid "During detach_interface, instance disappeared."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1090
+msgid "detaching network adapter failed."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1179
+msgid "Beginning live snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1182
+msgid "Beginning cold snapshot process"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1211
+msgid "Snapshot extracted, beginning image upload"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1223
+msgid "Snapshot image upload complete"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1296
+msgid "Instance soft rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1300
+msgid "Failed to soft reboot instance."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1335
+msgid "Instance shutdown successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1343
+msgid "Instance may have been rebooted during soft reboot, so return now."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1391
+msgid "Instance rebooted successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1537
+msgid "Instance is running"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
+msgid "Instance spawned successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1560
+#, python-format
+msgid "data: %(data)r, fpath: %(fpath)r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
+#, python-format
+msgid "Truncated console log returned, %d bytes ignored"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1612
+msgid "Guest does not have a console available"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1681
+#, python-format
+msgid "Path '%(path)s' supports direct I/O"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1685
+#, python-format
+msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
+#, python-format
+msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1766
+msgid "Creating image"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1867
+msgid "Using config drive"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1916
+#, python-format
+msgid "Injecting %(inj)s into image %(img_id)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1926
+#, python-format
+msgid "Error injecting data into image %(img_id)s (%(e)s)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1983
+#, 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:1989
+msgid "Config requested a custom CPU model, but no model name was provided"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1993
+msgid "A CPU model name should not be set when a host CPU model is requested"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:1997
+#, python-format
+msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2013
+msgid ""
+"Passthrough of the host CPU was requested but this libvirt version does "
+"not support this feature"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2337
+#, 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:2352
+#, python-format
+msgid "End to_xml instance=%(instance)s xml=%(xml)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2369
+#, 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:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
+msgid ""
+"Cannot get the number of cpu, because this function is not implemented "
+"for this platform. "
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
+#, python-format
+msgid "couldn't obtain the vpu count from domain id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2657
+#, python-format
+msgid "List of domains returned by libVirt: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2659
+#, python-format
+msgid "libVirt can't find a domain with id: %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2723
+msgid "libvirt version is too old (does not support getVersion)"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2807
+#, python-format
+msgid "Trying to get stats for the volume %s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2820
+#, 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:2838
+#, 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:2843
+#, python-format
+msgid ""
+"Could not find domain in libvirt for instance %s. Cannot get block stats "
+"for device"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2920
+#, 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:3002
+msgid "Block migration can not be used with shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3010
+msgid "Live migration can not be used without shared storage."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3047
+#, 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:3072
+#, python-format
+msgid ""
+"Instance launched has CPU info:\n"
+"%s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3084
+#, python-format
+msgid ""
+"CPU doesn't have compatibility.\n"
+"\n"
+"%(ret)s\n"
+"\n"
+"Refer to %(u)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3101
+#, 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:3149
+#, python-format
+msgid "The firewall filter for %s does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3221
+#, python-format
+msgid "Live Migration failure: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3314
+#, python-format
+msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3426
+#, 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:3443
+#, python-format
+msgid "skipping %(path)s since it looks like volume"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3448
+#, python-format
+msgid "skipping disk for %(instance_name)s as it does not have a path"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3489
+#, python-format
+msgid "Getting disk size of %(i_name)s: %(e)s"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3558
+msgid "Starting migrate_disk_and_power_off"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3619
+msgid "Instance running successfully."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3625
+msgid "Starting finish_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3687
+msgid "Starting finish_revert_migration"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:3808
+#, 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:107
+msgid "Called setup_basic_filtering in nwfilter"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:115
+msgid "Ensuring static filters"
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:247
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:270
+#, python-format
+msgid "The nwfilter(%(instance_filter_name)s) for%(name)s is not found."
+msgstr ""
+
+#: nova/virt/libvirt/firewall.py:286
+msgid "iptables firewall: Setup Basic Filtering"
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:298
+msgid "You should specify libvirt_images_volume_group flag to use LVM images."
+msgstr ""
+
+#: nova/virt/libvirt/imagebackend.py:383
+#, python-format
+msgid "Unknown image_type=%s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:140
+#, python-format
+msgid "Error reading image info file %(filename)s: %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:180
+#, python-format
+msgid "Reading image info file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:202
+#, python-format
+msgid "Writing stored info to %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:332
+#, python-format
+msgid "%s is a valid instance name"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:335
+#, python-format
+msgid "%s has a disk file"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:337
+#, python-format
+msgid "Instance %(instance)s is backed by %(backing)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:350
+#, 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:426
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image verification failed"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:436
+#, python-format
+msgid ""
+"image %(id)s at (%(base_file)s): image verification skipped, no hash "
+"stored"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:445
+#, python-format
+msgid "%(id)s (%(base_file)s): generating checksum"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:460
+#, python-format
+msgid "Cannot remove %(base_file)s, it does not exist"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:472
+#, python-format
+msgid "Base file too young to remove: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:475
+#, python-format
+msgid "Removing base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:482
+#, python-format
+msgid "Failed to remove %(base_file)s, error was %(error)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:493
+#, python-format
+msgid "image %(id)s at (%(base_file)s): checking"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:517
+#, 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:529
+#, 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:541
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is not in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:548
+#, python-format
+msgid "image %(id)s at (%(base_file)s): image is in use"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:572
+#, python-format
+msgid "Skipping verification, no base directory at %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:576
+msgid "Verify base images"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:583
+#, python-format
+msgid "Image id %(id)s yields fingerprint %(fingerprint)s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:601
+#, python-format
+msgid "Unknown base file: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:606
+#, python-format
+msgid "Active base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:609
+#, python-format
+msgid "Corrupt base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:613
+#, python-format
+msgid "Removable base files: %s"
+msgstr ""
+
+#: nova/virt/libvirt/imagecache.py:621
+msgid "Verification complete"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:72 nova/virt/libvirt/utils.py:78
+msgid "systool is not installed"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:82
+msgid "Cannot find any Fibre Channel HBAs"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:224
+#, 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:233
+#, 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:264
+#, python-format
+msgid "vg %s must be LVM volume group"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:293
+#, python-format
+msgid "Path %s must be LVM logical volume"
+msgstr ""
+
+#: nova/virt/libvirt/utils.py:558
+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:501
+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
+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:555
+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:583
+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:609
+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:239
+#, python-format
+msgid "iSCSI device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:242
+#, 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
+#, python-format
+msgid "Found iSCSI node %(disk_dev)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:490 nova/virt/libvirt/volume.py:611
+#, python-format
+msgid "%s is already mounted"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:546
+#, python-format
+msgid "AoE device not found at %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:548
+#, python-format
+msgid "AoE volume not yet found at: %(aoedevpath)s. Try number: %(tries)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:562
+#, python-format
+msgid "Found AoE device %(aoedevpath)s (after %(tries)s rediscover)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:690
+msgid "We are unable to locate any Fibre Channel devices"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:699
+#, python-format
+msgid "Looking for Fibre Channel dev %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:709
+msgid "Fibre Channel device not found."
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:712
+#, 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:728
+#, python-format
+msgid "Found Fibre Channel volume %(mount_device)s (after %(tries)s rescans)"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:735
+#, python-format
+msgid "Multipath device discovered %(device)s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:801
+msgid "Value required for 'scality_sofs_config'"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:812
+#, python-format
+msgid "Cannot access 'scality_sofs_config': %s"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:818
+msgid "Cannot execute /sbin/mount.sofs"
+msgstr ""
+
+#: nova/virt/libvirt/volume.py:833
+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:185
+#, python-format
+msgid "Creating logical volume of size %s bytes"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:188
+#, python-format
+msgid "Copying image to the device '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:191
+msgid "Error while creating logical volume from image. Will attempt cleanup."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:198
+msgid "Error while attempting cleanup of failed deploy to logical volume."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:244
+msgid "Snapshot added to glance."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:250
+#, python-format
+msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:335
+msgid "Could not create logical volume. No space left on any volume group."
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
+msgid "Unable to get checksum"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
+msgid "Image checksums do not match"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:450
+#, python-format
+msgid "Image found on host at '%s'"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:458
+msgid "Uncompressed image file not found"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
+#, python-format
+msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
+#, python-format
+msgid "Found error stream for command \"%(command)s\": %(error_text)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:68
+msgid "Connection error connecting PowerVM manager"
+msgstr ""
+
+#: nova/virt/powervm/common.py:101
+#, python-format
+msgid "Running cmd (SSH-as-root): %s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:150
+msgid "File transfer to PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/common.py:169
+#, python-format
+msgid "ftp GET %(remote_path)s to: %(local_path)s"
+msgstr ""
+
+#: nova/virt/powervm/common.py:175
+msgid "File transfer from PowerVM manager failed"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:124
+msgid "In get_host_ip_addr"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:127
+#, python-format
+msgid "Attempting to resolve %s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:129
+#, python-format
+msgid "%(hostname)s was successfully resolved to %(ip_addr)s"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:174
+#, python-format
+msgid "%(inst_name)s captured in %(snapshot_time)s seconds"
+msgstr ""
+
+#: nova/virt/powervm/driver.py:305
+#, 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:99
+#, python-format
+msgid "LPAR instance '%s' not found"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:187
+#, python-format
+msgid "PowerVM image creation failed: %s"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:201
+#, python-format
+msgid "Creating LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:203
+#, python-format
+msgid "LPAR instance '%s' creation failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:209
+#, python-format
+msgid "Activating the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:226
+#, python-format
+msgid "Instance '%s' failed to boot"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:238
+msgid "Error while attempting to clean up failed instance launch."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:242
+#, python-format
+msgid "Instance spawned in %s seconds"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:253
+#, python-format
+msgid "During destroy, LPAR instance '%s' was not found on PowerVM system."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:272
+#, python-format
+msgid "Stopping instance %s for snapshot."
+msgstr ""
+
+#: nova/virt/powervm/operator.py:295
+#, python-format
+msgid "Shutting down the instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:300
+#, python-format
+msgid "Deleting the LPAR instance '%s'"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:312
+msgid "PowerVM instance cleanup failed"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:334 nova/virt/powervm/operator.py:390
+msgid "Not enough free memory in the host"
+msgstr ""
+
+#: nova/virt/powervm/operator.py:345 nova/virt/powervm/operator.py:396
+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:355
+#, python-format
+msgid "VMware Cluster %s is not found"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:456
+#, python-format
+msgid "In vmwareapi:_create_session, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:539
+#, python-format
+msgid "In vmwareapi:_call_method, got this exception: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:575
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: success"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:580
+#, python-format
+msgid "Task [%(task_name)s] %(task_ref)s status: error %(error_info)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/driver.py:584
+#, 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:45 nova/virt/xenapi/fake.py:77
+#, python-format
+msgid "%(text)s: _db_content => %(content)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:132
+#, python-format
+msgid "Property %(attr)s not set for the managed object %(name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:492
+msgid "There is no VM registered"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
+#, python-format
+msgid "Virtual Machine with ref %s is not there"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:557
+#, python-format
+msgid "Logging out a session that is invalid or already logged out: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:572
+msgid "Session is faulty"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:575
+msgid "Session Invalid"
+msgstr ""
+
+#: nova/virt/vmwareapi/fake.py:666
+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:63
+#, python-format
+msgid "Set maintenance mod on %(host)s to %(mode)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:112
+#, python-format
+msgid "Glance image %s is in killed state"
+msgstr ""
+
+#: nova/virt/vmwareapi/io_util.py:120
+#, python-format
+msgid "Glance image %(image_id)s is in unknown state - %(state)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:138
+msgid ""
+"ESX SOAP server returned an empty port group for the host system in its "
+"response"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:164
+#, python-format
+msgid "Creating Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/network_util.py:178
+#, python-format
+msgid "Created Port Group with name %s on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/read_write_util.py:142
+#, 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:198
+msgid "Creating VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:206
+msgid "Created VM on the ESX host"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:230
+#, 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
+#, 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
+#, 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
+#, 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
+#, 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
+#, 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
+#, 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:335
+#, 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
+msgid "Powering on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:420
+msgid "Powered on the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:466
+msgid "Creating Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:476
+msgid "Created Snapshot of the VM instance"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:521
+msgid "Copying disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:534
+msgid "Copied disk data before snapshot of the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:543
+#, python-format
+msgid "Uploading image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:557
+#, python-format
+msgid "Uploaded image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:570
+#, python-format
+msgid "Deleting temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:579
+#, python-format
+msgid "Deleted temporary vmdk file %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:611
+msgid "instance is not powered on"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:618
+msgid "Rebooting guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:621
+msgid "Rebooted guest OS of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:623
+msgid "Doing hard reboot of VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:627
+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
+msgid "Destroying the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:650 nova/virt/vmwareapi/vmops.py:973
+msgid "Destroyed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:652
+#, 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
+msgid "Powering off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:695 nova/virt/vmwareapi/vmops.py:848
+msgid "Powered off the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:699
+msgid "Unregistering the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:702
+msgid "Unregistered the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:704
+#, python-format
+msgid ""
+"In vmwareapi:vmops:destroy, got this exception while un-registering the "
+"VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:717
+#, python-format
+msgid "Deleting contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:729
+#, python-format
+msgid "Deleted contents of the VM from datastore %(datastore_name)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:734
+#, 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
+msgid "pause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:746
+msgid "unpause not supported for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:760
+msgid "Suspending the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:764
+msgid "Suspended the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:767
+msgid "instance is powered off and cannot be suspended."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:770
+msgid "VM was already in suspended state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:783
+msgid "Resuming the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:788
+msgid "Resumed the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:790
+msgid "instance is not in a suspended state"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:851
+msgid "instance is suspended and cannot be powered off."
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:854
+msgid "VM was already in powered off state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:867
+msgid "VM was already in powered on state. So returning without doing anything"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:871
+msgid "Powering on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:876
+msgid "Powered on the VM"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:893
+#, python-format
+msgid "Updating instance '%(instance_uuid)s' progress to %(progress)d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:924
+#, python-format
+msgid "Renaming the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:930
+#, python-format
+msgid "Renamed the VM to %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:945
+#, python-format
+msgid "Cloning VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:953
+#, python-format
+msgid "Cloned VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:975
+#, python-format
+msgid ""
+"In vmwareapi:vmops:confirm_migration, got this exception while destroying"
+" the VM: %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:990
+#, python-format
+msgid "Renaming the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:996
+#, python-format
+msgid "Renamed the VM from %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1019
+#, python-format
+msgid "Migrating VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1031
+#, python-format
+msgid "Migrated VM to host %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1041 nova/virt/xenapi/vmops.py:1327
+#, python-format
+msgid "Found %(instance_count)d hung reboots older than %(timeout)d seconds"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1045
+#, python-format
+msgid "Automatically hard rebooting %d"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1081
+msgid "get_diagnostics not implemented for vmwareapi"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1163
+msgid "Reconfiguring VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1169
+msgid "Reconfigured VM instance to set the machine id"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1183
+#, python-format
+msgid "Reconfiguring VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1190
+#, python-format
+msgid "Reconfigured VM instance to enable vnc on port - %(port)s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1283
+#, python-format
+msgid "Creating directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmops.py:1289
+#, python-format
+msgid "Created directory with path %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:91
+#, python-format
+msgid "Downloading image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:107
+#, python-format
+msgid "Downloaded image %s from glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:113
+#, python-format
+msgid "Uploading image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:139
+#, python-format
+msgid "Uploaded image %s to the Glance image server"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:150
+#, python-format
+msgid "Getting image size for the image %s"
+msgstr ""
+
+#: nova/virt/vmwareapi/vmware_images.py:155
+#, 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 nova/virt/xenapi/volumeops.py:47
+#, 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:57
+#, 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
+#, 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:147
+#, python-format
+msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:88 nova/virt/xenapi/vmops.py:1569
+#, python-format
+msgid "TIMEOUT: The call to %(method)s timed out. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:92 nova/virt/xenapi/vmops.py:1573
+#, 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:97 nova/virt/xenapi/vmops.py:1578
+#, python-format
+msgid "The call to %(method)s returned an error: %(e)s. args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:107
+#, python-format
+msgid ""
+"The agent call to %(method)s returned an invalid response: %(ret)r. "
+"path=%(path)s; args=%(args)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:117
+#, python-format
+msgid "Failed to query agent version: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:136
+msgid "Querying agent version"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:150
+msgid "Reached maximum time attempting to query agent version"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:158
+#, python-format
+msgid "Updating agent to %s"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:166
+#, python-format
+msgid "Failed to update agent: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:180
+msgid "Setting admin password"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:191
+#, python-format
+msgid "Failed to exchange keys: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:211
+#, python-format
+msgid "Failed to update password: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:232
+msgid "Skipping setting of ssh key for Windows."
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:247
+#, python-format
+msgid "Injecting file path: %r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:260
+#, python-format
+msgid "Failed to inject file: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:267
+msgid "Resetting network"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:273
+#, python-format
+msgid "Failed to reset network: %(resp)r"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:296
+msgid ""
+"XenServer tools installed in this image are capable of network injection."
+" Networking files will not bemanipulated"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:304
+msgid ""
+"XenServer tools are present in this image but are not capable of network "
+"injection"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:308
+msgid "XenServer tools are not installed in this image"
+msgstr ""
+
+#: nova/virt/xenapi/agent.py:360
+#, 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:354
+#, python-format
+msgid "Could not determine key: %s"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:570
+msgid "Host startup on XenServer is not supported."
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:630
+msgid "Unable to log in to XenAPI (is the Dom0 disk full?)"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:670
+msgid "Host is member of a pool, but DB says otherwise"
+msgstr ""
+
+#: nova/virt/xenapi/driver.py:754 nova/virt/xenapi/driver.py:768
+#, 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
+msgid "Raising NotImplemented"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:689
+#, python-format
+msgid "xenapi.fake does not have an implementation for %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:723
+#, python-format
+msgid "Calling %(localname)s %(impl)s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:728
+#, python-format
+msgid "Calling getter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:731
+#, python-format
+msgid "Calling setter %s"
+msgstr ""
+
+#: nova/virt/xenapi/fake.py:793
+#, 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
+#, 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
+#, 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"
+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:71
+#, 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 %(host)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 ""
+
+#: nova/virt/xenapi/pool.py:192
+#, python-format
+msgid "Pool-Join failed: %(e)s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:195
+#, python-format
+msgid "Unable to join %(host)s in the pool"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:211
+#, python-format
+msgid "Pool-eject failed: %(e)s"
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:223
+#, python-format
+msgid "Unable to set up pool: %(e)s."
+msgstr ""
+
+#: nova/virt/xenapi/pool.py:234
+#, python-format
+msgid "Pool-set_name_label failed: %(e)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_rec['uuid'])s for network %(bridge)s has VLAN id %(pif_vlan)d. "
+"Expected %(vlan_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:272
+msgid "Created VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:284
+msgid "VM destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:289 nova/virt/xenapi/vm_utils.py:304
+msgid "VM already halted, skipping shutdown..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:293
+msgid "Shutting down VM (cleanly)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:308
+msgid "Shutting down VM (hard)"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:346
+#, python-format
+msgid "VBD not found in instance %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:363
+#, python-format
+msgid "VBD %s already detached"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:366
+#, python-format
+msgid "VBD %(vbd_ref)s detach rejected, attempt %(num_attempt)d/%(max_attempts)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:371
+#, python-format
+msgid "Unable to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:376
+#, python-format
+msgid "Reached maximum number of retries trying to unplug VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:387
+#, python-format
+msgid "Unable to destroy VBD %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:409
+#, 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:412
+#, python-format
+msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:438
+#, python-format
+msgid "Unable to destroy VDI %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:465
+#, 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:479
+msgid "SR not present and could not be introduced"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:504
+#, python-format
+msgid "block device info: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:590
+#, python-format
+msgid "Cloned VDI %(vdi_ref)s from VDI %(vdi_to_clone_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:635
+#, python-format
+msgid "No primary VDI found for %(vm_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:648
+msgid "Starting snapshot for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:698
+#, python-format
+msgid "Destroying cached VDI '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:951
+#, 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 ""
+
+#: nova/virt/xenapi/vm_utils.py:1007
+#, python-format
+msgid "Unrecognized cache_images value '%s', defaulting to True"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1041
+#, python-format
+msgid "Fetched VDIs of type '%(vdi_type)s' with UUID '%(vdi_uuid)s'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1053
+#, 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:1066
+#, python-format
+msgid "download_vhd failed: %r"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1100
+#, python-format
+msgid "Invalid value '%s' for xenapi_torrent_images"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1111
+#, python-format
+msgid "Asking xapi to fetch vhd image %(image_id)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1186
+#, python-format
+msgid "vdi_uuid=%(cur_vdi_uuid)s vdi_size_bytes=%(vdi_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1201
+#, python-format
+msgid "image_size_bytes=%(size_bytes)d, allowed_size_bytes=%(allowed_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1205
+#, python-format
+msgid ""
+"Image size %(size_bytes)d exceeded instance_type allowed size "
+"%(allowed_size_bytes)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1227
+#, python-format
+msgid "Fetching image %(image_id)s, type %(image_type_str)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1240
+#, python-format
+msgid "Size for image %(image_id)s: %(virtual_size)d"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1249
+#, 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:1268
+#, python-format
+msgid "Copying VDI %s to /boot/guest on dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1282
+#, python-format
+msgid "Kernel/Ramdisk VDI %s destroyed"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1291
+msgid "Failed to fetch glance image"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1332
+#, python-format
+msgid "Detected %(image_type_str)s format for image %(image_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1363
+#, python-format
+msgid "Looking up vdi %s for PV kernel"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1381
+#, 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:1387
+#, python-format
+msgid "Unknown image format %(disk_image_type)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1418
+#, python-format
+msgid "VDI %s is still available"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1521
+#, python-format
+msgid "Unable to parse rrd of %(vm_uuid)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1548
+#, python-format
+msgid "Re-scanning SR %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1576
+#, python-format
+msgid "Flag sr_matching_filter '%s' does not respect formatting convention"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1594
+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:1607
+msgid "Cannot find SR of content-type ISO"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1615
+#, python-format
+msgid "ISO: looking at SR %(sr_rec)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1617
+msgid "ISO: not iso content"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1620
+msgid "ISO: iso content_type, no 'i18n-key' key"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1623
+msgid "ISO: iso content_type, i18n-key value not 'local-storage-iso'"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1627
+msgid "ISO: SR MATCHing our criteria"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1629
+msgid "ISO: ISO, looking to see if it is host local"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1632
+#, python-format
+msgid "ISO: PBD %(pbd_ref)s disappeared"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1635
+#, python-format
+msgid "ISO: PBD matching, want %(pbd_rec)s, have %(host)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1638
+msgid "ISO: SR with local PBD"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1660
+#, 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:1676
+#, python-format
+msgid "Unable to obtain RRD XML updates with server details: %(server)s."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1730
+#, python-format
+msgid "Invalid statistics data from Xenserver: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1790
+#, python-format
+msgid "VHD %(vdi_uuid)s has parent %(parent_uuid)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1877
+#, 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:1887
+#, python-format
+msgid "VHD coalesce attempts exceeded (%(max_attempts)d), giving up..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1922
+#, python-format
+msgid "Timeout waiting for device %s to be created"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1942
+#, python-format
+msgid "Disconnecting stale VDI %s from compute domU"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1955
+#, python-format
+msgid "Plugging VBD %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1958
+#, python-format
+msgid "Plugging VBD %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1960
+#, python-format
+msgid "VBD %(vbd_ref)s plugged as %(orig_dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1963
+#, python-format
+msgid "VBD %(vbd_ref)s plugged into wrong dev, remapping to %(dev)s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1968
+#, python-format
+msgid "Destroying VBD for VDI %s ... "
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:1976
+#, python-format
+msgid "Destroying VBD for VDI %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2003
+#, python-format
+msgid "Running pygrub against %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2011
+#, python-format
+msgid "Found Xen kernel %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2013
+msgid "No Xen kernel found. Booting HVM."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2015
+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:2032
+msgid "Partitions:"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2038
+#, python-format
+msgid " %(num)s: %(ptype)s %(size)d sectors"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2063
+#, python-format
+msgid ""
+"Writing partition table %(primary_first)d %(primary_last)d to "
+"%(dev_path)s..."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2076
+#, python-format
+msgid "Writing partition table %s done."
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2130
+#, 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:2163
+#, python-format
+msgid ""
+"Finished sparse_copy in %(duration).2f secs, %(compression_pct).2f%% "
+"reduction in size"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2215
+msgid "Manipulating interface files directly"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2224
+#, python-format
+msgid "Failed to mount filesystem (expected for non-linux instances): %s"
+msgstr ""
+
+#: nova/virt/xenapi/vm_utils.py:2336
+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:795
+#, python-format
+msgid "Updating progress to %(progress)d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:174
+#, python-format
+msgid "Importing image upload handler: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:187
+msgid "Error: Agent is disabled"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:295
+msgid "Starting instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:381
+msgid "Removing kernel/ramdisk files from dom0"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:454
+#, python-format
+msgid "Block device information present: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:485
+msgid "Failed to spawn, rolling back"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:584
+msgid "Auto configuring disk, attempting to resize partition..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:630
+msgid "Starting VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:636
+msgid "Waiting for instance state to become running"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:650
+#, python-format
+msgid ""
+"Latest agent build for %(hypervisor)s/%(os)s/%(architecture)s is "
+"%(version)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:653
+#, python-format
+msgid "No agent build found for %(hypervisor)s/%(os)s/%(architecture)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:664
+#, python-format
+msgid "Instance agent version: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:695
+msgid "Setting VCPU weight"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:706
+#, python-format
+msgid "Could not find VM with name %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:764
+msgid "Finished snapshot and upload for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:768
+#, python-format
+msgid "Migrating VHD '%(vdi_uuid)s' with seq_num %(seq_num)d"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:776
+msgid "Failed to transfer vhd to new host"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:813
+#, python-format
+msgid "Resizing down VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:819 nova/virt/xenapi/vmops.py:869
+msgid "Clean shutdown did not complete successfully, trying hard shutdown."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:898
+msgid "Resize down not allowed without auto_disk_config"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:943
+#, python-format
+msgid "Resizing up VDI %(vdi_uuid)s from %(old_gb)dGB to %(new_gb)dGB"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:948
+msgid "Resize complete"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:992
+msgid "Starting halted instance found during reboot"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:998
+msgid ""
+"Reboot failed due to bad volumes, detaching bad volumes and starting "
+"halted instance"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1092
+msgid "Unable to find root VBD/VDI for VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1096
+msgid "Destroying VDIs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1123
+msgid "Using RAW or VHD, skipping kernel and ramdisk deletion"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1130
+msgid "instance has a kernel or ramdisk but not both"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1137
+msgid "kernel/ramdisk files removed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1164
+msgid "Destroying VM"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1193
+msgid "VM is not present, skipping destroy..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1244
+#, python-format
+msgid "Instance is already in Rescue Mode: %s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1278
+msgid "VM is not present, skipping soft delete..."
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1331
+msgid "Automatically hard rebooting"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1471
+msgid "Injecting network info to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1490
+msgid "Creating vifs"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1499
+#, python-format
+msgid "Creating VIF for network %(network_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1502
+#, python-format
+msgid "Created VIF %(vif_ref)s, network %(network_ref)s"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1530
+msgid "Injecting hostname to xenstore"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1628
+#, python-format
+msgid ""
+"Destination host:%(hostname)s must be in the same aggregate as the source"
+" server"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1649
+msgid "No suitable network for migrate"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1661
+msgid "Migrate Receive failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1735
+msgid "XAPI supporting relax-xsm-sr-check=true requried"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1746
+msgid "VM.assert_can_migrate failed"
+msgstr ""
+
+#: nova/virt/xenapi/vmops.py:1799
+msgid "Migrate Send failed"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:51
+#, python-format
+msgid "Creating SR %(label)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:61
+#, python-format
+msgid "Introducing SR %(label)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
+#, python-format
+msgid "Unable to obtain target information %(mountpoint)s"
+msgstr ""
+
+#: nova/virt/xenapi/volume_utils.py:241
+#, python-format
+msgid "Unable to obtain target information %(connection_data)s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:70
+#, python-format
+msgid "Connect_volume: %(connection_info)s"
+msgstr ""
+
+#: nova/virt/xenapi/volumeops.py:139
+#, python-format
+msgid "Skipping detach because VBD for %(instance_name)s was not found"
+msgstr ""
+
+#: nova/virt/xenapi/imageupload/glance.py:64
+#, 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:77
+#, 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:116
+#, python-format
+msgid "Invalid request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:136
+#, python-format
+msgid "Request: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:139
+#, python-format
+msgid "Request made with missing token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:149
+#, python-format
+msgid "Request made with invalid token: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:156
+#, python-format
+msgid "Unexpected error: %s"
+msgstr ""
+
+#: nova/vnc/xvp_proxy.py:176
+#, python-format
+msgid "Starting nova-xvpvncproxy node (version %s)"
+msgstr ""
+
+#: nova/volume/cinder.py:94
+#, python-format
+msgid "Cinderclient connection created using URL: %s"
+msgstr ""
+
+#: nova/volume/cinder.py:219
+msgid "status must be 'in-use'"
+msgstr ""
+
+#: nova/volume/cinder.py:225
+msgid "status must be 'available'"
+msgstr ""
+
diff --git a/nova/locale/zh_CN/LC_MESSAGES/nova.po b/nova/locale/zh_CN/LC_MESSAGES/nova.po
index b9665d14b..3e0a9b0e5 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1452,21 +1452,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr "运行cmd (SSH):%s"
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr "SSH上不支持环境变量"
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr "SSH上不支持的进程输入参数。"
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr "运行结果为 %s"
@@ -1874,7 +1874,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr "无法找到地址 %r"
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, fuzzy, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr "存在多个固定IP,使用第一个:%s"
@@ -2058,33 +2058,33 @@ msgstr "无效的请求:%s"
msgid "Failed to get metadata for instance id: %s"
msgstr "为ip: %s获取元数据失败"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr "抓到错误:%s"
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr "%(url)s 随HTTP %(status)d返回"
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr "必须明确一个ExtensionManager类"
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr "扩展资源:%s"
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, 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:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr "扩展资源的扩展 %(ext_name)s:%(collection)s"
@@ -2157,62 +2157,62 @@ msgstr "拒绝快照请求,快照当前未被激活"
msgid "Instance snapshots are not permitted at this time."
msgstr "该时刻实例快照是不允许的。"
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr "加载的扩展:%s"
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr "Ext name: %s"
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr "Ext alias: %s"
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr "Ext 描述: %s"
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr "Ext 命名空间: %s"
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr "Ext updated: %s"
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr "加载扩展发生异常:%s"
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr "正在加载扩展 %s"
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr "调用扩展工厂 %s"
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr "加载扩展 %(ext_factory)s 失败:%(exc)s"
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr "加载扩展 %(classpath)s 失败:%(exc)s"
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr "加载扩展 %(ext_name)s 失败:%(exc)s"
@@ -2904,11 +2904,13 @@ msgid "Error in evacuate, %s"
msgstr "迁移错误 %s"
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, fuzzy, python-format
msgid "Fixed IP %s not found"
msgstr "证书 %(certificate_id)s 没有找到。"
@@ -2957,57 +2959,62 @@ msgstr "没有更多的浮动ip。"
msgid "Floating ip %s has been disassociated"
msgstr "浮动ip %(address)s 没有被关联。"
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr "缺少参数 dict"
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: nova/api/openstack/compute/contrib/floating_ips.py:226
#, fuzzy
msgid "No nw_info cache associated with instance"
msgstr "没有固定ip与实例关联"
-#: nova/api/openstack/compute/contrib/floating_ips.py:230
+#: nova/api/openstack/compute/contrib/floating_ips.py:231
msgid "No fixed ips associated to instance"
msgstr "没有固定ip与实例关联"
-#: nova/api/openstack/compute/contrib/floating_ips.py:246
+#: nova/api/openstack/compute/contrib/floating_ips.py:242
+#, fuzzy
+msgid "Specified fixed address not assigned to instance"
+msgstr "没有固定ip与实例关联"
+
+#: nova/api/openstack/compute/contrib/floating_ips.py:256
#, fuzzy
msgid "floating ip is already associated"
msgstr "浮动ip %(address)s 已被关联。"
-#: nova/api/openstack/compute/contrib/floating_ips.py:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: nova/api/openstack/compute/contrib/floating_ips.py:263
+#: nova/api/openstack/compute/contrib/floating_ips.py:292
#, fuzzy
msgid "floating ip not found"
msgstr "没有找到floating_ip"
-#: nova/api/openstack/compute/contrib/floating_ips.py:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
#, fuzzy
msgid "Floating ip is not associated"
msgstr "浮动ip %(address)s 没有被关联。"
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: nova/api/openstack/compute/contrib/floating_ips.py:311
#, fuzzy, python-format
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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3325,6 +3332,16 @@ msgstr "为卷 %s 创建快照"
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, fuzzy, python-format
+msgid "Reserving IP address %s"
+msgstr "释放地址 %s"
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, fuzzy, python-format
+msgid "Unreserving IP address %s"
+msgstr "释放地址 %s"
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3494,362 +3511,362 @@ msgstr "元素不是子节点"
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
#, fuzzy
msgid "leasing ip"
msgstr "正在创建镜像"
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
#, fuzzy
msgid "releasing ip"
msgstr "正在创建镜像"
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
#, fuzzy
msgid "Reserved"
msgstr "已接收 %s"
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, fuzzy, python-format
msgid "error: %s"
msgstr "数据库错误:%s"
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
#, fuzzy
msgid "network"
msgstr "重置网络"
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
#, fuzzy
msgid "IP address"
msgstr "起始地址"
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
#, fuzzy
msgid "No fixed IP found."
msgstr "找不到固定IP。"
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, fuzzy, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr "没有固定ip与实例关联"
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
#, fuzzy
msgid "No floating IP addresses have been defined."
msgstr "浮动ip %(address)s 已被关联。"
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr "id"
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr "IPv4"
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr "IPv6"
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr "起始地址"
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr "DNS1"
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr "DNS2"
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr "VlanID"
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr "项目"
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr "uuid"
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
#, fuzzy
msgid "No networks found"
msgstr "没有找到网络"
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
#, fuzzy
msgid "UUID is required to delete Quantum Networks"
msgstr "创建网络 %(req)s 是必要的。"
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
#, fuzzy
msgid "instance"
msgstr "停止实例 %r"
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr "服务 %(service_id)s 没有找到。"
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, fuzzy, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr "服务 %(service_id)s 没有找到。"
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
#, fuzzy
msgid "An unexpected error has occurred."
msgstr "意外错误:%s"
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
#, fuzzy
msgid "PROJECT"
msgstr "项目"
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
#, fuzzy
msgid "Must supply valid parameters to create instance_type"
msgstr "无法创建实例类型。"
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
#, fuzzy
msgid "Instance Type exists."
msgstr "实例 - %s 不存在"
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
#, fuzzy
msgid "Unknown error"
msgstr "未知的guestmount错误"
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, fuzzy, python-format
msgid "%s created"
msgstr "表 |%s| 没有创建"
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
#, fuzzy
msgid "Valid instance type name is required"
msgstr "%s 是一个正确的实例名称"
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, fuzzy, python-format
msgid "DB Error: %s"
msgstr "数据库错误:%s"
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, fuzzy, python-format
msgid "Hypervisor: %s"
msgstr "类型is = %s"
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -5103,38 +5120,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr "重新启动实例失败"
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr "无法识别的 read_deleted 取值”%s“"
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, fuzzy, python-format
msgid "Invalid instance id %s in request"
msgstr "实例 %s:已救援"
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5151,34 +5168,60 @@ msgstr "version应该是整数"
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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
#, fuzzy
msgid "volume_usage_cache table not dropped"
@@ -5908,17 +5951,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr "注入文件失败:%(resp)r"
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr "发现未知的 utils.execute 关键字参数:%r"
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr "正在运行cmd (subprocess):%s"
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr "%r 失败,重试。"
@@ -6852,18 +6895,18 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
#, fuzzy
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr "%(pid)s 已经超过配额,试图运行 %(min_count)s 个实例"
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6903,12 +6946,12 @@ msgstr ""
msgid "spawn error"
msgstr "未知的guestmount错误"
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr "地址 |%(address)s| 没有分配"
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6918,22 +6961,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, fuzzy, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr "地址 |%(address)s| 没有分配"
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7829,7 +7872,7 @@ msgstr "实例代理版本:%s"
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr "正在更新主机状态"
@@ -8195,12 +8238,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "为实例 |%s| 分配浮动IP"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, fuzzy, python-format
msgid "Creating config drive at %(path)s"
msgstr "注入文件路径:'%s'"
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, fuzzy, python-format
msgid "Creating config drive failed with error: %s"
msgstr "注入文件路径:'%s'"
@@ -8366,7 +8409,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr "无法确定iscsi initiator名字"
@@ -8400,247 +8443,247 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr "无法为VDI %s 找到VBD"
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, fuzzy, python-format
msgid "URI %s does not support events"
msgstr "卷组 %s 不存在"
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr "连接 libvirt 失败"
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "正在连接 libvirt:%s"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, 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:737
+#: nova/virt/libvirt/driver.py:742
#, fuzzy
msgid "During wait destroy, instance disappeared."
msgstr "%s 在运行中消失了。"
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr "实例销毁成功。"
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
#, fuzzy
msgid "Going to destroy instance again."
msgstr "准备停止实例"
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, 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:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, 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:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr "删除实例文件 %(target)s"
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, fuzzy, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr "schedule_%(method)s 失败:%(ex)s"
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
#, fuzzy
msgid "Could not determine fibre channel world wide node names"
msgstr "无法确定iscsi initiator名字"
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
#, fuzzy
msgid "Could not determine fibre channel world wide port names"
msgstr "无法确定iscsi initiator名字"
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
#, fuzzy
msgid "During detach_volume, instance disappeared."
msgstr "%s 在运行中消失了。"
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
#, fuzzy
msgid "attaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
#, fuzzy
msgid "During detach_interface, instance disappeared."
msgstr "%s 在运行中消失了。"
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
#, fuzzy
msgid "detaching network adapter failed."
msgstr "没有网络定义。"
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
#, fuzzy
msgid "Instance soft rebooted successfully."
msgstr "实例成功重启。"
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
#, fuzzy
msgid "Failed to soft reboot instance."
msgstr "重新启动实例失败"
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
#, fuzzy
msgid "Instance shutdown successfully."
msgstr "实例成功生产。"
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr "实例成功重启。"
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr "实例在运行"
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr "实例成功生产。"
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr "data:%(data)r, fpath: %(fpath)r"
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "用户没有管理员权限"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr "正在创建镜像"
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, fuzzy, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr "将 %(injection)s 注入到镜像 %(img_id)s"
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, 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:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8648,50 +8691,74 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
#, fuzzy
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr "无法得到CPU的数目,因为这个函数不是给这个平台执行的。这个错误可以被放心忽略。"
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr "libvirt版本过旧(不支持getVersion)"
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "正在获取镜像 %s 的大小"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8699,37 +8766,37 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr "块存储迁移无法在共享存储使用"
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
#, fuzzy
msgid "Live migration can not be used without shared storage."
msgstr "块存储迁移无法在共享存储使用"
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, fuzzy, python-format
msgid ""
"Unable to migrate %(instance_uuid)s: Disk of instance is too "
@@ -8738,7 +8805,7 @@ msgstr ""
"无法迁移%(instance_id)s 到 %(dest)s 上:缺少磁盘(主机:%(available)s <= "
"实例:%(necessary)s)"
-#: nova/virt/libvirt/driver.py:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
@@ -8747,7 +8814,7 @@ msgstr ""
"已启动实例的CPU信息:\n"
"%s"
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8762,71 +8829,71 @@ msgstr ""
"\n"
"参考 %(u)s"
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, fuzzy, python-format
msgid "Live Migration failure: %(e)s"
msgstr "预在线迁移在%(dest)s失败"
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, 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:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr "因它像卷,所以跳过 %(path)s"
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
#, fuzzy
msgid "Starting migrate_disk_and_power_off"
msgstr "实例 %s:开始执行 migrate_disk_and_power_off"
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
#, fuzzy
msgid "Instance running successfully."
msgstr "实例 %s 成功运行。"
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
#, fuzzy
msgid "Starting finish_migration"
msgstr "实例 %s:开始执行 finish_migration"
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
#, fuzzy
msgid "Starting finish_revert_migration"
msgstr "实例 %s:开始执行 finish_revert_migration"
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, fuzzy, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr "删除实例文件 %(target)s"
@@ -8859,11 +8926,11 @@ msgstr "名称为 %(name)s 的nwfilter(%(instance_filter_name)s) 未找到。"
msgid "iptables firewall: Setup Basic Filtering"
msgstr "iptables 防火墙:设置基本的过滤规则"
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, fuzzy, python-format
msgid "Unknown image_type=%s"
msgstr "未知的磁盘镜像句柄:%s"
@@ -9208,106 +9275,106 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "无法找到 %s 卷"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, fuzzy, python-format
msgid "Fetching image '%s' from glance"
msgstr "正在从glance镜像服务器中下载镜像 %s"
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, fuzzy, python-format
msgid "Using image found at '%s'"
msgstr "正在删除基文件:%s"
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, fuzzy, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr "上传镜像 %s"
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "在volume_utils创建存储库"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, fuzzy, python-format
msgid "Copying image to the device '%s'"
msgstr "正在获取镜像 %s 的大小"
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
#, fuzzy
msgid "Snapshot added to glance."
msgstr "过滤器添加给实例 %s"
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "无法使用全局角色 %(role_id)s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
#, fuzzy
msgid "Connection error connecting PowerVM manager"
msgstr "glance服务器连接错误,重试中"
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, fuzzy, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr "正在运行cmd (subprocess):%s"
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "连接到melange失败"
@@ -9524,29 +9591,29 @@ msgstr "%(text)s: _db_content => %(content)s"
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr "属性 %(attr)s 没有为管理对象 %(objName)s 设置"
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr "没有虚拟机注册"
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr "ref 为 %s 的虚拟机不存在"
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr "退出无效的会话或者已经退出了:%s"
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr "会话有错误"
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr "会话无效"
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
#, fuzzy
msgid "No Virtual Machine has been registered yet"
msgstr " 还没有虚拟机被注册"
diff --git a/nova/locale/zh_TW/LC_MESSAGES/nova.po b/nova/locale/zh_TW/LC_MESSAGES/nova.po
index 8332f68b4..9caf4c16a 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-05-10 19:38+0000\n"
+"POT-Creation-Date: 2013-05-13 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"
@@ -1433,21 +1433,21 @@ msgstr ""
msgid "Expected to receive %(exp)s bytes, but actually %(act)s"
msgstr ""
-#: nova/utils.py:187
+#: nova/utils.py:187 nova/openstack/common/processutils.py:219
#, python-format
msgid "Running cmd (SSH): %s"
msgstr ""
-#: nova/utils.py:189
+#: nova/utils.py:189 nova/openstack/common/processutils.py:221
msgid "Environment not supported over SSH"
msgstr ""
-#: nova/utils.py:193
+#: nova/utils.py:193 nova/openstack/common/processutils.py:225
msgid "process_input not supported over SSH"
msgstr ""
-#: nova/utils.py:212 nova/openstack/common/processutils.py:162
-#: nova/virt/powervm/common.py:90
+#: nova/utils.py:212 nova/openstack/common/processutils.py:167
+#: nova/openstack/common/processutils.py:240 nova/virt/powervm/common.py:118
#, python-format
msgid "Result was %s"
msgstr ""
@@ -1848,7 +1848,7 @@ msgid "Unable to associate IP Address, no fixed_ips."
msgstr ""
#: nova/api/ec2/cloud.py:1265
-#: nova/api/openstack/compute/contrib/floating_ips.py:238
+#: nova/api/openstack/compute/contrib/floating_ips.py:248
#, python-format
msgid "multiple fixed_ips exist, using the first: %s"
msgstr ""
@@ -2023,33 +2023,33 @@ msgstr ""
msgid "Failed to get metadata for instance id: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/api/openstack/__init__.py:51
+#: nova/api/openstack/__init__.py:53
#, python-format
msgid "Caught error: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:60
+#: nova/api/openstack/__init__.py:62
#, python-format
msgid "%(url)s returned with HTTP %(status)d"
msgstr ""
-#: nova/api/openstack/__init__.py:135
+#: nova/api/openstack/__init__.py:137
msgid "Must specify an ExtensionManager class"
msgstr ""
-#: nova/api/openstack/__init__.py:146
+#: nova/api/openstack/__init__.py:148 nova/api/openstack/__init__.py:252
#, python-format
msgid "Extended resource: %s"
msgstr ""
-#: nova/api/openstack/__init__.py:180
+#: nova/api/openstack/__init__.py:182 nova/api/openstack/__init__.py:292
#, python-format
msgid ""
"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such "
"resource"
msgstr ""
-#: nova/api/openstack/__init__.py:185
+#: nova/api/openstack/__init__.py:187 nova/api/openstack/__init__.py:297
#, python-format
msgid "Extension %(ext_name)s extending resource: %(collection)s"
msgstr ""
@@ -2121,62 +2121,62 @@ msgstr ""
msgid "Instance snapshots are not permitted at this time."
msgstr ""
-#: nova/api/openstack/extensions.py:195
+#: nova/api/openstack/extensions.py:196
#, python-format
msgid "Loaded extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:234
+#: nova/api/openstack/extensions.py:235
#, python-format
msgid "Ext name: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:235
+#: nova/api/openstack/extensions.py:236
#, python-format
msgid "Ext alias: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:236
+#: nova/api/openstack/extensions.py:237
#, python-format
msgid "Ext description: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:238
+#: nova/api/openstack/extensions.py:239
#, python-format
msgid "Ext namespace: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:239
+#: nova/api/openstack/extensions.py:240
#, python-format
msgid "Ext updated: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:241
+#: nova/api/openstack/extensions.py:242
#, python-format
msgid "Exception loading extension: %s"
msgstr ""
-#: nova/api/openstack/extensions.py:255
+#: nova/api/openstack/extensions.py:256
#, python-format
msgid "Loading extension %s"
msgstr ""
-#: nova/api/openstack/extensions.py:264
+#: nova/api/openstack/extensions.py:265
#, python-format
msgid "Calling extension factory %s"
msgstr ""
-#: nova/api/openstack/extensions.py:276
+#: nova/api/openstack/extensions.py:277
#, python-format
msgid "Failed to load extension %(ext_factory)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:345
+#: nova/api/openstack/extensions.py:346
#, python-format
msgid "Failed to load extension %(classpath)s: %(exc)s"
msgstr ""
-#: nova/api/openstack/extensions.py:369
+#: nova/api/openstack/extensions.py:370
#, python-format
msgid "Failed to load extension %(ext_name)s: %(exc)s"
msgstr ""
@@ -2849,11 +2849,13 @@ msgid "Error in evacuate, %s"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:39
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:41
#, python-format
msgid "Fixed IP %s has been deleted"
msgstr ""
#: nova/api/openstack/compute/contrib/fixed_ips.py:71
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:75
#, python-format
msgid "Fixed IP %s not found"
msgstr ""
@@ -2899,53 +2901,57 @@ msgstr ""
msgid "Floating ip %s has been disassociated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:215
-#: nova/api/openstack/compute/contrib/floating_ips.py:271
+#: 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:413
msgid "Missing parameter dict"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:218
-#: nova/api/openstack/compute/contrib/floating_ips.py:274
+#: 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:225
+#: 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:230
+#: 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:246
+#: 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:249
+#: 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:253
-#: nova/api/openstack/compute/contrib/floating_ips.py:282
+#: 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:256
+#: 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:297
+#: nova/api/openstack/compute/contrib/floating_ips.py:307
msgid "Floating ip is not associated"
msgstr ""
-#: nova/api/openstack/compute/contrib/floating_ips.py:301
+#: 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:381
+#: nova/cmd/manage.py:378
#, python-format
msgid "/%s should be specified as single address(es) not in cidr format"
msgstr ""
@@ -3251,6 +3257,16 @@ msgstr ""
msgid "Invalid value '%s' for force."
msgstr ""
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:60
+#, python-format
+msgid "Reserving IP address %s"
+msgstr ""
+
+#: nova/api/openstack/compute/plugins/v3/fixed_ips.py:63
+#, python-format
+msgid "Unreserving IP address %s"
+msgstr ""
+
#: nova/api/openstack/compute/views/servers.py:186
msgid "Instance has had its instance_type removed from the DB"
msgstr ""
@@ -3419,346 +3435,346 @@ msgstr ""
msgid "deployment to node %s done"
msgstr ""
-#: nova/cmd/baremetal_manage.py:160 nova/cmd/manage.py:1245
+#: nova/cmd/baremetal_manage.py:157 nova/cmd/manage.py:1242
#, python-format
msgid "Could not read %s. Re-running with sudo"
msgstr ""
-#: nova/cmd/baremetal_manage.py:164 nova/cmd/manage.py:1249
+#: nova/cmd/baremetal_manage.py:161 nova/cmd/manage.py:1246
msgid "sudo failed, continuing as if nothing happened"
msgstr ""
-#: nova/cmd/baremetal_manage.py:166 nova/cmd/manage.py:1251
+#: nova/cmd/baremetal_manage.py:163 nova/cmd/manage.py:1248
msgid "Please re-run nova-manage as root."
msgstr ""
-#: nova/cmd/baremetal_manage.py:206 nova/cmd/manage.py:1296
+#: nova/cmd/baremetal_manage.py:203 nova/cmd/manage.py:1293
msgid "Command failed, please check log for more info"
msgstr ""
-#: nova/cmd/dhcpbridge.py:50
+#: nova/cmd/dhcpbridge.py:47
msgid "leasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:70
+#: nova/cmd/dhcpbridge.py:67
msgid "releasing ip"
msgstr ""
-#: nova/cmd/dhcpbridge.py:125
+#: nova/cmd/dhcpbridge.py:122
#, python-format
msgid "Called '%(action)s' for mac '%(mac)s' with ip '%(ip)s'"
msgstr ""
-#: nova/cmd/dhcpbridge.py:135
+#: nova/cmd/dhcpbridge.py:132
msgid "Environment variable 'NETWORK_ID' must be set."
msgstr ""
-#: nova/cmd/manage.py:206
+#: nova/cmd/manage.py:203
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
+#: nova/cmd/manage.py:238
#, python-format
msgid "%(key)s is not a valid quota key. Valid options are: %(options)s."
msgstr ""
-#: nova/cmd/manage.py:247
+#: nova/cmd/manage.py:244
msgid "Quota"
msgstr ""
-#: nova/cmd/manage.py:248
+#: nova/cmd/manage.py:245
msgid "Limit"
msgstr ""
-#: nova/cmd/manage.py:249
+#: nova/cmd/manage.py:246
msgid "In Use"
msgstr ""
-#: nova/cmd/manage.py:250
+#: nova/cmd/manage.py:247
msgid "Reserved"
msgstr ""
-#: nova/cmd/manage.py:290 nova/cmd/manage.py:361 nova/cmd/manage.py:685
-#: nova/cmd/manage.py:698
+#: nova/cmd/manage.py:287 nova/cmd/manage.py:358 nova/cmd/manage.py:682
+#: nova/cmd/manage.py:695
#, python-format
msgid "error: %s"
msgstr ""
-#: nova/cmd/manage.py:298
+#: nova/cmd/manage.py:295
msgid "network"
msgstr ""
-#: nova/cmd/manage.py:299
+#: nova/cmd/manage.py:296
msgid "IP address"
msgstr ""
-#: nova/cmd/manage.py:300
+#: nova/cmd/manage.py:297
msgid "hostname"
msgstr ""
-#: nova/cmd/manage.py:301 nova/cmd/manage.py:818
+#: nova/cmd/manage.py:298 nova/cmd/manage.py:815
msgid "host"
msgstr ""
-#: nova/cmd/manage.py:313 nova/cmd/manage.py:337
+#: nova/cmd/manage.py:310 nova/cmd/manage.py:334
msgid "No fixed IP found."
msgstr ""
-#: nova/cmd/manage.py:329
+#: nova/cmd/manage.py:326
#, python-format
msgid "WARNING: fixed ip %s allocated to missing instance"
msgstr ""
-#: nova/cmd/manage.py:388
+#: nova/cmd/manage.py:385
#, python-format
msgid ""
"Too many IP addresses will be generated. Please increase /%s to reduce "
"the number generated."
msgstr ""
-#: nova/cmd/manage.py:437
+#: nova/cmd/manage.py:434
msgid "No floating IP addresses have been defined."
msgstr ""
-#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:212
+#: nova/cmd/manage.py:496 nova/tests/test_nova_manage.py:212
msgid "id"
msgstr ""
-#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:213
+#: nova/cmd/manage.py:497 nova/tests/test_nova_manage.py:213
msgid "IPv4"
msgstr ""
-#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:214
+#: nova/cmd/manage.py:498 nova/tests/test_nova_manage.py:214
msgid "IPv6"
msgstr ""
-#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:215
+#: nova/cmd/manage.py:499 nova/tests/test_nova_manage.py:215
msgid "start address"
msgstr ""
-#: nova/cmd/manage.py:503 nova/tests/test_nova_manage.py:216
+#: nova/cmd/manage.py:500 nova/tests/test_nova_manage.py:216
msgid "DNS1"
msgstr ""
-#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:217
+#: nova/cmd/manage.py:501 nova/tests/test_nova_manage.py:217
msgid "DNS2"
msgstr ""
-#: nova/cmd/manage.py:505 nova/tests/test_nova_manage.py:218
+#: nova/cmd/manage.py:502 nova/tests/test_nova_manage.py:218
msgid "VlanID"
msgstr ""
-#: nova/cmd/manage.py:506 nova/cmd/manage.py:612
+#: nova/cmd/manage.py:503 nova/cmd/manage.py:609
#: nova/tests/test_nova_manage.py:219
msgid "project"
msgstr ""
-#: nova/cmd/manage.py:507 nova/tests/test_nova_manage.py:220
+#: nova/cmd/manage.py:504 nova/tests/test_nova_manage.py:220
msgid "uuid"
msgstr ""
-#: nova/cmd/manage.py:514
+#: nova/cmd/manage.py:511
msgid "No networks found"
msgstr ""
-#: nova/cmd/manage.py:533
+#: nova/cmd/manage.py:530
msgid "Please specify either fixed_range or uuid"
msgstr ""
-#: nova/cmd/manage.py:538
+#: nova/cmd/manage.py:535
msgid "UUID is required to delete Quantum Networks"
msgstr ""
-#: nova/cmd/manage.py:541
+#: nova/cmd/manage.py:538
msgid "Deleting by fixed_range is not supported with the QuantumManager"
msgstr ""
-#: nova/cmd/manage.py:604
+#: nova/cmd/manage.py:601
msgid "instance"
msgstr ""
-#: nova/cmd/manage.py:605
+#: nova/cmd/manage.py:602
msgid "node"
msgstr ""
-#: nova/cmd/manage.py:606
+#: nova/cmd/manage.py:603
msgid "type"
msgstr ""
-#: nova/cmd/manage.py:607
+#: nova/cmd/manage.py:604
msgid "state"
msgstr ""
-#: nova/cmd/manage.py:608
+#: nova/cmd/manage.py:605
msgid "launched"
msgstr ""
-#: nova/cmd/manage.py:609
+#: nova/cmd/manage.py:606
msgid "image"
msgstr ""
-#: nova/cmd/manage.py:610
+#: nova/cmd/manage.py:607
msgid "kernel"
msgstr ""
-#: nova/cmd/manage.py:611
+#: nova/cmd/manage.py:608
msgid "ramdisk"
msgstr ""
-#: nova/cmd/manage.py:613
+#: nova/cmd/manage.py:610
msgid "user"
msgstr ""
-#: nova/cmd/manage.py:614 nova/cmd/manage.py:819
+#: nova/cmd/manage.py:611 nova/cmd/manage.py:816
msgid "zone"
msgstr ""
-#: nova/cmd/manage.py:615
+#: nova/cmd/manage.py:612
msgid "index"
msgstr ""
-#: nova/cmd/manage.py:660
+#: nova/cmd/manage.py:657
msgid "Binary"
msgstr ""
-#: nova/cmd/manage.py:661
+#: nova/cmd/manage.py:658
msgid "Host"
msgstr ""
-#: nova/cmd/manage.py:662
+#: nova/cmd/manage.py:659
msgid "Zone"
msgstr ""
-#: nova/cmd/manage.py:663
+#: nova/cmd/manage.py:660
msgid "Status"
msgstr ""
-#: nova/cmd/manage.py:664
+#: nova/cmd/manage.py:661
msgid "State"
msgstr ""
-#: nova/cmd/manage.py:665
+#: nova/cmd/manage.py:662
msgid "Updated_At"
msgstr ""
-#: nova/cmd/manage.py:687
+#: nova/cmd/manage.py:684
#, python-format
msgid "Service %(service)s on host %(host)s enabled."
msgstr ""
-#: nova/cmd/manage.py:700
+#: nova/cmd/manage.py:697
#, python-format
msgid "Service %(service)s on host %(host)s disabled."
msgstr ""
-#: nova/cmd/manage.py:767
+#: nova/cmd/manage.py:764
msgid "An unexpected error has occurred."
msgstr ""
-#: nova/cmd/manage.py:768
+#: nova/cmd/manage.py:765
msgid "[Result]"
msgstr ""
-#: nova/cmd/manage.py:772
+#: nova/cmd/manage.py:769
msgid "HOST"
msgstr ""
-#: nova/cmd/manage.py:773
+#: nova/cmd/manage.py:770
msgid "PROJECT"
msgstr ""
-#: nova/cmd/manage.py:774
+#: nova/cmd/manage.py:771
msgid "cpu"
msgstr ""
-#: nova/cmd/manage.py:775
+#: nova/cmd/manage.py:772
msgid "mem(mb)"
msgstr ""
-#: nova/cmd/manage.py:776
+#: nova/cmd/manage.py:773
msgid "hdd"
msgstr ""
-#: nova/cmd/manage.py:858
+#: nova/cmd/manage.py:855
msgid "Must supply a positive value for max_rows"
msgstr ""
-#: nova/cmd/manage.py:896
+#: nova/cmd/manage.py:893
msgid "Must supply valid parameters to create instance_type"
msgstr ""
-#: nova/cmd/manage.py:900
+#: nova/cmd/manage.py:897
msgid "Instance Type exists."
msgstr ""
-#: nova/cmd/manage.py:901
+#: nova/cmd/manage.py:898
msgid "Please ensure instance_type name and flavorid are unique."
msgstr ""
-#: nova/cmd/manage.py:903
+#: nova/cmd/manage.py:900
msgid "Currently defined instance_type names and flavorids:"
msgstr ""
-#: nova/cmd/manage.py:908
+#: nova/cmd/manage.py:905
msgid "Unknown error"
msgstr ""
-#: nova/cmd/manage.py:911
+#: nova/cmd/manage.py:908
#, python-format
msgid "%s created"
msgstr ""
-#: nova/cmd/manage.py:919
+#: nova/cmd/manage.py:916
msgid "Valid instance type name is required"
msgstr ""
-#: nova/cmd/manage.py:922
+#: nova/cmd/manage.py:919
#, python-format
msgid "DB Error: %s"
msgstr ""
-#: nova/cmd/manage.py:927
+#: nova/cmd/manage.py:924
#, python-format
msgid "%s deleted"
msgstr ""
-#: nova/cmd/manage.py:963
+#: nova/cmd/manage.py:960
#, python-format
msgid "Key %(key)s set to %(value)s on instance type %(name)s"
msgstr ""
-#: nova/cmd/manage.py:985
+#: nova/cmd/manage.py:982
#, python-format
msgid "Key %(key)s on instance type %(name)s unset"
msgstr ""
-#: nova/cmd/manage.py:1029
+#: nova/cmd/manage.py:1026
#, python-format
msgid "Hypervisor: %s"
msgstr ""
-#: nova/cmd/manage.py:1070
+#: nova/cmd/manage.py:1067
#, python-format
msgid "Line %(linenum)d : %(line)s"
msgstr ""
-#: nova/cmd/manage.py:1072
+#: nova/cmd/manage.py:1069
msgid "No errors in logfiles!"
msgstr ""
-#: nova/cmd/manage.py:1084
+#: nova/cmd/manage.py:1081
msgid "Unable to find system log file!"
msgstr ""
-#: nova/cmd/manage.py:1088
+#: nova/cmd/manage.py:1085
#, python-format
msgid "Last %s nova syslog entries:-"
msgstr ""
-#: nova/cmd/manage.py:1097
+#: nova/cmd/manage.py:1094
msgid "No nova entries in syslog!"
msgstr ""
@@ -4958,38 +4974,38 @@ msgstr ""
msgid "Failed to notify cells of instance fault"
msgstr ""
-#: nova/db/sqlalchemy/api.py:154
+#: nova/db/sqlalchemy/api.py:157
#, python-format
msgid "Deadlock detected when running '%(func_name)s': Retrying..."
msgstr ""
-#: nova/db/sqlalchemy/api.py:189
+#: nova/db/sqlalchemy/api.py:192
msgid "model or base_model parameter should be subclass of NovaBase"
msgstr ""
-#: nova/db/sqlalchemy/api.py:202 nova/virt/baremetal/db/sqlalchemy/api.py:61
+#: nova/db/sqlalchemy/api.py:205 nova/virt/baremetal/db/sqlalchemy/api.py:61
#, python-format
msgid "Unrecognized read_deleted value '%s'"
msgstr ""
-#: nova/db/sqlalchemy/api.py:1405
+#: nova/db/sqlalchemy/api.py:1408
#, 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:1543
+#: nova/db/sqlalchemy/api.py:1546
#, python-format
msgid "Invalid instance id %s in request"
msgstr ""
-#: nova/db/sqlalchemy/api.py:2833
+#: nova/db/sqlalchemy/api.py:2836
#, python-format
msgid "Change will make usage less than 0 for the following resources: %(unders)s"
msgstr ""
-#: nova/db/sqlalchemy/api.py:4341
+#: nova/db/sqlalchemy/api.py:4344
#, python-format
msgid ""
"Volume(%s) has lower stats then what is in the database. Instance must "
@@ -5006,34 +5022,60 @@ msgstr ""
msgid "Upgrade DB using Essex release first."
msgstr ""
-#: nova/db/sqlalchemy/utils.py:61
+#: nova/db/sqlalchemy/utils.py:53
#, 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:67
+#: nova/db/sqlalchemy/utils.py:59
#, 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:155
+#: nova/db/sqlalchemy/utils.py:161
#, python-format
msgid "Deleted duplicated row with id: %(id)s from table: %(table)s"
msgstr ""
-#: nova/db/sqlalchemy/migrate_repo/versions/133_folsom.py:62
-msgid "Exception while seeding instance_types table"
+#: nova/db/sqlalchemy/utils.py:195
+#, python-format
+msgid "Missing column %(table)s.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:201
+#, 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:210
+#, python-format
+msgid "Extra column %(table)%.%(column)s in shadow table"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:231
+msgid "Specify `table_name` or `table` param"
msgstr ""
+#: nova/db/sqlalchemy/utils.py:234
+msgid "Specify only one param `table_name` `table`"
+msgstr ""
+
+#: nova/db/sqlalchemy/utils.py:255
#: 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/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 ""
@@ -5749,17 +5791,17 @@ msgstr ""
msgid "Failed to understand rule %(rule)r"
msgstr ""
-#: nova/openstack/common/processutils.py:122
+#: nova/openstack/common/processutils.py:127
#, python-format
msgid "Got unknown keyword args to utils.execute: %r"
msgstr ""
-#: nova/openstack/common/processutils.py:137
+#: nova/openstack/common/processutils.py:142
#, python-format
msgid "Running cmd (subprocess): %s"
msgstr ""
-#: nova/openstack/common/processutils.py:174
+#: nova/openstack/common/processutils.py:179
#, python-format
msgid "%r failed. Retrying."
msgstr ""
@@ -6678,17 +6720,17 @@ msgstr ""
msgid "unexpected role header"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3338
+#: nova/tests/api/openstack/compute/test_servers.py:3340
msgid ""
"Quota exceeded for instances: Requested 1, but already used 10 of 10 "
"instances"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3343
+#: nova/tests/api/openstack/compute/test_servers.py:3345
msgid "Quota exceeded for ram: Requested 4096, but already used 8192 of 10240 ram"
msgstr ""
-#: nova/tests/api/openstack/compute/test_servers.py:3348
+#: nova/tests/api/openstack/compute/test_servers.py:3350
msgid "Quota exceeded for cores: Requested 2, but already used 9 of 10 cores"
msgstr ""
@@ -6727,12 +6769,12 @@ msgstr ""
msgid "spawn error"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:174
+#: nova/tests/integrated/test_api_samples.py:177
#, python-format
msgid "%(result_str)s: %(result)s is not a dict."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:188
+#: nova/tests/integrated/test_api_samples.py:191
#, python-format
msgid ""
"Dictionary key mismatch:\n"
@@ -6742,22 +6784,22 @@ msgid ""
"%(res_delta)s\n"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:199
+#: nova/tests/integrated/test_api_samples.py:202
#, python-format
msgid "%(result_str)s: %(result)s is not a list."
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:218
+#: nova/tests/integrated/test_api_samples.py:221
msgid "Extra list items in template:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:222
+#: nova/tests/integrated/test_api_samples.py:225
#, python-format
msgid "Extra list items in %(result_str)s:"
msgstr ""
-#: nova/tests/integrated/test_api_samples.py:243
-#: nova/tests/integrated/test_api_samples.py:258
+#: nova/tests/integrated/test_api_samples.py:246
+#: nova/tests/integrated/test_api_samples.py:261
#, python-format
msgid ""
"Values do not match:\n"
@@ -7642,7 +7684,7 @@ msgstr ""
msgid "get_available_resource called"
msgstr ""
-#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3741
+#: nova/virt/hyperv/hostops.py:135 nova/virt/libvirt/driver.py:3835
#: nova/virt/xenapi/host.py:148
msgid "Updating host stats"
msgstr ""
@@ -7994,12 +8036,12 @@ msgstr ""
msgid "Using config drive for instance: %s"
msgstr "無法掛載Volume 到虛擬機器 %s"
-#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1871
+#: nova/virt/hyperv/vmops.py:227 nova/virt/libvirt/driver.py:1876
#, python-format
msgid "Creating config drive at %(path)s"
msgstr ""
-#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1878
+#: nova/virt/hyperv/vmops.py:235 nova/virt/libvirt/driver.py:1883
#, python-format
msgid "Creating config drive failed with error: %s"
msgstr ""
@@ -8158,7 +8200,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:897
+#: nova/virt/hyperv/volumeops.py:186 nova/virt/libvirt/driver.py:902
msgid "Could not determine iscsi initiator name"
msgstr ""
@@ -8192,236 +8234,236 @@ msgstr ""
msgid "Unable to determine disk bus for '%s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:341
+#: nova/virt/libvirt/driver.py:346
#, python-format
msgid "Invalid cachemode %(cache_mode)s specified for disk type %(disk_type)s."
msgstr ""
-#: nova/virt/libvirt/driver.py:547
+#: nova/virt/libvirt/driver.py:552
#, python-format
msgid "Nova requires libvirt version %(major)i.%(minor)i.%(micro)i or greater."
msgstr ""
-#: nova/virt/libvirt/driver.py:555
+#: nova/virt/libvirt/driver.py:560
#, python-format
msgid "Connecting to libvirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:572
+#: nova/virt/libvirt/driver.py:577
#, python-format
msgid "URI %s does not support events"
msgstr ""
-#: nova/virt/libvirt/driver.py:588
+#: nova/virt/libvirt/driver.py:593
msgid "Connection to libvirt broke"
msgstr ""
-#: nova/virt/libvirt/driver.py:610 nova/virt/libvirt/driver.py:613
+#: nova/virt/libvirt/driver.py:615 nova/virt/libvirt/driver.py:618
#, python-format
msgid "Can not handle authentication request for %d credentials"
msgstr ""
-#: nova/virt/libvirt/driver.py:631
+#: nova/virt/libvirt/driver.py:636
#, fuzzy, python-format
msgid "Connection to libvirt failed: %s"
msgstr "連接到glance失敗"
-#: nova/virt/libvirt/driver.py:722
+#: nova/virt/libvirt/driver.py:727
#, python-format
msgid "Error from libvirt during destroy. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:737
+#: nova/virt/libvirt/driver.py:742
msgid "During wait destroy, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:742
+#: nova/virt/libvirt/driver.py:747
msgid "Instance destroyed successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:752
+#: nova/virt/libvirt/driver.py:757
msgid "Instance may be started again."
msgstr ""
-#: nova/virt/libvirt/driver.py:762
+#: nova/virt/libvirt/driver.py:767
msgid "Going to destroy instance again."
msgstr ""
-#: nova/virt/libvirt/driver.py:781
+#: nova/virt/libvirt/driver.py:786
msgid "Error from libvirt during undefineFlags. Retrying with undefine"
msgstr ""
-#: nova/virt/libvirt/driver.py:797
+#: nova/virt/libvirt/driver.py:802
#, python-format
msgid "Error from libvirt during undefine. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:817
+#: nova/virt/libvirt/driver.py:822
msgid "Instance may be still running, destroy it again."
msgstr ""
-#: nova/virt/libvirt/driver.py:823
+#: nova/virt/libvirt/driver.py:828
#, python-format
msgid "Error from libvirt during unfilter. Code=%(errcode)s Error=%(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:851
+#: nova/virt/libvirt/driver.py:856
#, python-format
msgid "Deleting instance files %(target)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:860
+#: nova/virt/libvirt/driver.py:865
#, python-format
msgid "Failed to cleanup directory %(target)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:903
+#: nova/virt/libvirt/driver.py:908
msgid "Could not determine fibre channel world wide node names"
msgstr ""
-#: nova/virt/libvirt/driver.py:910
+#: nova/virt/libvirt/driver.py:915
msgid "Could not determine fibre channel world wide port names"
msgstr ""
-#: nova/virt/libvirt/driver.py:915
+#: nova/virt/libvirt/driver.py:920
msgid "No Volume Connector found."
msgstr ""
-#: nova/virt/libvirt/driver.py:1037
+#: nova/virt/libvirt/driver.py:1042
msgid "During detach_volume, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1061
+#: nova/virt/libvirt/driver.py:1066
msgid "attaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1081
+#: nova/virt/libvirt/driver.py:1086
msgid "During detach_interface, instance disappeared."
msgstr ""
-#: nova/virt/libvirt/driver.py:1085
+#: nova/virt/libvirt/driver.py:1090
msgid "detaching network adapter failed."
msgstr ""
-#: nova/virt/libvirt/driver.py:1174
+#: nova/virt/libvirt/driver.py:1179
msgid "Beginning live snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1177
+#: nova/virt/libvirt/driver.py:1182
msgid "Beginning cold snapshot process"
msgstr ""
-#: nova/virt/libvirt/driver.py:1206
+#: nova/virt/libvirt/driver.py:1211
msgid "Snapshot extracted, beginning image upload"
msgstr ""
-#: nova/virt/libvirt/driver.py:1218
+#: nova/virt/libvirt/driver.py:1223
msgid "Snapshot image upload complete"
msgstr ""
-#: nova/virt/libvirt/driver.py:1291
+#: nova/virt/libvirt/driver.py:1296
msgid "Instance soft rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1295
+#: nova/virt/libvirt/driver.py:1300
msgid "Failed to soft reboot instance."
msgstr ""
-#: nova/virt/libvirt/driver.py:1330
+#: nova/virt/libvirt/driver.py:1335
msgid "Instance shutdown successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1338
+#: nova/virt/libvirt/driver.py:1343
msgid "Instance may have been rebooted during soft reboot, so return now."
msgstr ""
-#: nova/virt/libvirt/driver.py:1386
+#: nova/virt/libvirt/driver.py:1391
msgid "Instance rebooted successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1532
+#: nova/virt/libvirt/driver.py:1537
msgid "Instance is running"
msgstr ""
-#: nova/virt/libvirt/driver.py:1539 nova/virt/powervm/operator.py:221
+#: nova/virt/libvirt/driver.py:1544 nova/virt/powervm/operator.py:221
msgid "Instance spawned successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:1555
+#: nova/virt/libvirt/driver.py:1560
#, python-format
msgid "data: %(data)r, fpath: %(fpath)r"
msgstr ""
-#: nova/virt/libvirt/driver.py:1592 nova/virt/libvirt/driver.py:1618
+#: nova/virt/libvirt/driver.py:1597 nova/virt/libvirt/driver.py:1623
#, python-format
msgid "Truncated console log returned, %d bytes ignored"
msgstr ""
-#: nova/virt/libvirt/driver.py:1607
+#: nova/virt/libvirt/driver.py:1612
#, fuzzy
msgid "Guest does not have a console available"
msgstr "使用者並沒有管理者權力"
-#: nova/virt/libvirt/driver.py:1676
+#: nova/virt/libvirt/driver.py:1681
#, python-format
msgid "Path '%(path)s' supports direct I/O"
msgstr ""
-#: nova/virt/libvirt/driver.py:1680
+#: nova/virt/libvirt/driver.py:1685
#, python-format
msgid "Path '%(path)s' does not support direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1685 nova/virt/libvirt/driver.py:1690
+#: nova/virt/libvirt/driver.py:1690 nova/virt/libvirt/driver.py:1695
#, python-format
msgid "Error on '%(path)s' while checking direct I/O: '%(ex)s'"
msgstr ""
-#: nova/virt/libvirt/driver.py:1761
+#: nova/virt/libvirt/driver.py:1766
msgid "Creating image"
msgstr ""
-#: nova/virt/libvirt/driver.py:1862
+#: nova/virt/libvirt/driver.py:1867
msgid "Using config drive"
msgstr ""
-#: nova/virt/libvirt/driver.py:1911
+#: nova/virt/libvirt/driver.py:1916
#, python-format
msgid "Injecting %(inj)s into image %(img_id)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:1921
+#: nova/virt/libvirt/driver.py:1926
#, python-format
msgid "Error injecting data into image %(img_id)s (%(e)s)"
msgstr ""
-#: nova/virt/libvirt/driver.py:1978
+#: nova/virt/libvirt/driver.py:1983
#, 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:1984
+#: nova/virt/libvirt/driver.py:1989
msgid "Config requested a custom CPU model, but no model name was provided"
msgstr ""
-#: nova/virt/libvirt/driver.py:1988
+#: nova/virt/libvirt/driver.py:1993
msgid "A CPU model name should not be set when a host CPU model is requested"
msgstr ""
-#: nova/virt/libvirt/driver.py:1992
+#: nova/virt/libvirt/driver.py:1997
#, python-format
msgid "CPU mode '%(mode)s' model '%(model)s' was chosen"
msgstr ""
-#: nova/virt/libvirt/driver.py:2008
+#: nova/virt/libvirt/driver.py:2013
msgid ""
"Passthrough of the host CPU was requested but this libvirt version does "
"not support this feature"
msgstr ""
-#: nova/virt/libvirt/driver.py:2331
+#: nova/virt/libvirt/driver.py:2337
#, python-format
msgid ""
"Start to_xml instance=%(instance)s network_info=%(network_info)s "
@@ -8429,49 +8471,73 @@ msgid ""
"rescue=%(rescue)sblock_device_info=%(block_device_info)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2346
+#: nova/virt/libvirt/driver.py:2352
#, python-format
msgid "End to_xml instance=%(instance)s xml=%(xml)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2363
+#: nova/virt/libvirt/driver.py:2369
#, 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:2531
+#: nova/virt/libvirt/driver.py:2547 nova/virt/libvirt/driver.py:2551
+#, python-format
+msgid "Invalid range expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2560
+#, python-format
+msgid "Invalid exclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2567
+#, python-format
+msgid "Invalid inclusion expression %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2572
+#, python-format
+msgid "No CPUs available after parsing %r"
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2589
msgid ""
"Cannot get the number of cpu, because this function is not implemented "
"for this platform. "
msgstr ""
-#: nova/virt/libvirt/driver.py:2582
+#: nova/virt/libvirt/driver.py:2599
+msgid "Invalid vcpu_pin_set config, out of hypervisor cpu range."
+msgstr ""
+
+#: nova/virt/libvirt/driver.py:2651
#, python-format
msgid "couldn't obtain the vpu count from domain id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2588
+#: nova/virt/libvirt/driver.py:2657
#, python-format
msgid "List of domains returned by libVirt: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2590
+#: nova/virt/libvirt/driver.py:2659
#, python-format
msgid "libVirt can't find a domain with id: %s"
msgstr ""
-#: nova/virt/libvirt/driver.py:2654
+#: nova/virt/libvirt/driver.py:2723
msgid "libvirt version is too old (does not support getVersion)"
msgstr ""
-#: nova/virt/libvirt/driver.py:2738
+#: nova/virt/libvirt/driver.py:2807
#, fuzzy, python-format
msgid "Trying to get stats for the volume %s"
msgstr "無法卸載 Volume %s"
-#: nova/virt/libvirt/driver.py:2751
+#: nova/virt/libvirt/driver.py:2820
#, python-format
msgid ""
"Got volume usage stats for the volume=%(volume)s, instance=%(instance)s, "
@@ -8479,50 +8545,50 @@ msgid ""
"wr_bytes=%(wr_bytes)d"
msgstr ""
-#: nova/virt/libvirt/driver.py:2769
+#: nova/virt/libvirt/driver.py:2838
#, 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:2774
+#: nova/virt/libvirt/driver.py:2843
#, python-format
msgid ""
"Could not find domain in libvirt for instance %s. Cannot get block stats "
"for device"
msgstr ""
-#: nova/virt/libvirt/driver.py:2851
+#: nova/virt/libvirt/driver.py:2920
#, 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:2933
+#: nova/virt/libvirt/driver.py:3002
msgid "Block migration can not be used with shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2941
+#: nova/virt/libvirt/driver.py:3010
msgid "Live migration can not be used without shared storage."
msgstr ""
-#: nova/virt/libvirt/driver.py:2978
+#: nova/virt/libvirt/driver.py:3047
#, 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:3003
+#: nova/virt/libvirt/driver.py:3072
#, python-format
msgid ""
"Instance launched has CPU info:\n"
"%s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3015
+#: nova/virt/libvirt/driver.py:3084
#, python-format
msgid ""
"CPU doesn't have compatibility.\n"
@@ -8532,67 +8598,67 @@ msgid ""
"Refer to %(u)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3032
+#: nova/virt/libvirt/driver.py:3101
#, 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:3080
+#: nova/virt/libvirt/driver.py:3149
#, python-format
msgid "The firewall filter for %s does not exist"
msgstr ""
-#: nova/virt/libvirt/driver.py:3152
+#: nova/virt/libvirt/driver.py:3221
#, python-format
msgid "Live Migration failure: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3245
+#: nova/virt/libvirt/driver.py:3314
#, python-format
msgid "plug_vifs() failed %(cnt)d. Retry up to %(max_retry)d."
msgstr ""
-#: nova/virt/libvirt/driver.py:3357
+#: nova/virt/libvirt/driver.py:3426
#, 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:3374
+#: nova/virt/libvirt/driver.py:3443
#, python-format
msgid "skipping %(path)s since it looks like volume"
msgstr ""
-#: nova/virt/libvirt/driver.py:3379
+#: nova/virt/libvirt/driver.py:3448
#, python-format
msgid "skipping disk for %(instance_name)s as it does not have a path"
msgstr ""
-#: nova/virt/libvirt/driver.py:3420
+#: nova/virt/libvirt/driver.py:3489
#, python-format
msgid "Getting disk size of %(i_name)s: %(e)s"
msgstr ""
-#: nova/virt/libvirt/driver.py:3466
+#: nova/virt/libvirt/driver.py:3558
msgid "Starting migrate_disk_and_power_off"
msgstr ""
-#: nova/virt/libvirt/driver.py:3525
+#: nova/virt/libvirt/driver.py:3619
msgid "Instance running successfully."
msgstr ""
-#: nova/virt/libvirt/driver.py:3531
+#: nova/virt/libvirt/driver.py:3625
msgid "Starting finish_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3593
+#: nova/virt/libvirt/driver.py:3687
msgid "Starting finish_revert_migration"
msgstr ""
-#: nova/virt/libvirt/driver.py:3714
+#: nova/virt/libvirt/driver.py:3808
#, python-format
msgid "Checking instance files accessability%(instance_path)s"
msgstr ""
@@ -8625,11 +8691,11 @@ msgstr ""
msgid "iptables firewall: Setup Basic Filtering"
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:290
+#: nova/virt/libvirt/imagebackend.py:298
msgid "You should specify libvirt_images_volume_group flag to use LVM images."
msgstr ""
-#: nova/virt/libvirt/imagebackend.py:375
+#: nova/virt/libvirt/imagebackend.py:383
#, python-format
msgid "Unknown image_type=%s"
msgstr ""
@@ -8968,104 +9034,104 @@ msgstr ""
msgid "Cannot mount Scality SOFS, check syslog for errors"
msgstr ""
-#: nova/virt/powervm/blockdev.py:147
+#: nova/virt/powervm/blockdev.py:149
#, fuzzy, python-format
msgid "Removing the logical volume '%s'"
msgstr "找不到Volume %s"
-#: nova/virt/powervm/blockdev.py:165
+#: nova/virt/powervm/blockdev.py:167
#, python-format
msgid "Fetching image '%s' from glance"
msgstr ""
-#: nova/virt/powervm/blockdev.py:170
+#: nova/virt/powervm/blockdev.py:172
#, python-format
msgid "Using image found at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:172
+#: nova/virt/powervm/blockdev.py:174
#, python-format
msgid "Ensuring image '%s' exists on IVM"
msgstr ""
-#: nova/virt/powervm/blockdev.py:183
+#: nova/virt/powervm/blockdev.py:185
#, fuzzy, python-format
msgid "Creating logical volume of size %s bytes"
msgstr "找不到Volume %s"
-#: nova/virt/powervm/blockdev.py:186
+#: nova/virt/powervm/blockdev.py:188
#, python-format
msgid "Copying image to the device '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:189
+#: nova/virt/powervm/blockdev.py:191
msgid "Error while creating logical volume from image. Will attempt cleanup."
msgstr ""
-#: nova/virt/powervm/blockdev.py:196
+#: nova/virt/powervm/blockdev.py:198
msgid "Error while attempting cleanup of failed deploy to logical volume."
msgstr ""
-#: nova/virt/powervm/blockdev.py:242
+#: nova/virt/powervm/blockdev.py:244
msgid "Snapshot added to glance."
msgstr ""
-#: nova/virt/powervm/blockdev.py:248
+#: nova/virt/powervm/blockdev.py:250
#, python-format
msgid "Failed to clean up snapshot file %(snapshot_file_path)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:333
+#: nova/virt/powervm/blockdev.py:335
msgid "Could not create logical volume. No space left on any volume group."
msgstr ""
-#: nova/virt/powervm/blockdev.py:424 nova/virt/powervm/blockdev.py:496
+#: nova/virt/powervm/blockdev.py:426 nova/virt/powervm/blockdev.py:498
#, fuzzy
msgid "Unable to get checksum"
msgstr "無法卸載 Volume %s"
-#: nova/virt/powervm/blockdev.py:427 nova/virt/powervm/blockdev.py:519
+#: nova/virt/powervm/blockdev.py:429 nova/virt/powervm/blockdev.py:521
msgid "Image checksums do not match"
msgstr ""
-#: nova/virt/powervm/blockdev.py:448
+#: nova/virt/powervm/blockdev.py:450
#, python-format
msgid "Image found on host at '%s'"
msgstr ""
-#: nova/virt/powervm/blockdev.py:456
+#: nova/virt/powervm/blockdev.py:458
msgid "Uncompressed image file not found"
msgstr ""
-#: nova/virt/powervm/blockdev.py:540 nova/virt/powervm/operator.py:673
+#: nova/virt/powervm/blockdev.py:542 nova/virt/powervm/operator.py:675
#, python-format
msgid "Found error stream for command \"%(cmd)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/blockdev.py:557 nova/virt/powervm/operator.py:690
+#: nova/virt/powervm/blockdev.py:559 nova/virt/powervm/operator.py:692
#, python-format
msgid "Found error stream for command \"%(command)s\": %(error_text)s"
msgstr ""
-#: nova/virt/powervm/common.py:61
+#: nova/virt/powervm/common.py:68
msgid "Connection error connecting PowerVM manager"
msgstr ""
-#: nova/virt/powervm/common.py:73
+#: nova/virt/powervm/common.py:101
#, python-format
msgid "Running cmd (SSH-as-root): %s"
msgstr ""
-#: nova/virt/powervm/common.py:122
+#: nova/virt/powervm/common.py:150
msgid "File transfer to PowerVM manager failed"
msgstr ""
-#: nova/virt/powervm/common.py:141
+#: nova/virt/powervm/common.py:169
#, python-format
msgid "ftp GET %(remote_path)s to: %(local_path)s"
msgstr ""
-#: nova/virt/powervm/common.py:147
+#: nova/virt/powervm/common.py:175
#, fuzzy
msgid "File transfer from PowerVM manager failed"
msgstr "連接到glance失敗"
@@ -9281,29 +9347,29 @@ msgstr ""
msgid "Property %(attr)s not set for the managed object %(name)s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:486
+#: nova/virt/vmwareapi/fake.py:492
msgid "There is no VM registered"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:488 nova/virt/vmwareapi/fake.py:663
+#: nova/virt/vmwareapi/fake.py:494 nova/virt/vmwareapi/fake.py:669
#, python-format
msgid "Virtual Machine with ref %s is not there"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:551
+#: nova/virt/vmwareapi/fake.py:557
#, python-format
msgid "Logging out a session that is invalid or already logged out: %s"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:566
+#: nova/virt/vmwareapi/fake.py:572
msgid "Session is faulty"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:569
+#: nova/virt/vmwareapi/fake.py:575
msgid "Session Invalid"
msgstr ""
-#: nova/virt/vmwareapi/fake.py:660
+#: nova/virt/vmwareapi/fake.py:666
msgid "No Virtual Machine has been registered yet"
msgstr ""
diff --git a/nova/network/floating_ips.py b/nova/network/floating_ips.py
index 19afe911b..429d6fc69 100644
--- a/nova/network/floating_ips.py
+++ b/nova/network/floating_ips.py
@@ -25,7 +25,6 @@ from nova import exception
from nova.network import rpcapi as network_rpcapi
from nova.openstack.common import excutils
from nova.openstack.common import importutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common.notifier import api as notifier
from nova.openstack.common import processutils
@@ -33,6 +32,7 @@ from nova.openstack.common.rpc import common as rpc_common
from nova.openstack.common import uuidutils
from nova import quota
from nova import servicegroup
+from nova import utils
LOG = logging.getLogger(__name__)
@@ -354,7 +354,7 @@ class FloatingIP(object):
"""Performs db and driver calls to associate floating ip & fixed ip."""
interface = CONF.public_interface or interface
- @lockutils.synchronized(unicode(floating_address), 'nova-')
+ @utils.synchronized(unicode(floating_address))
def do_associate():
# associate floating ip
fixed = self.db.floating_ip_fixed_ip_associate(context,
@@ -443,7 +443,7 @@ class FloatingIP(object):
"""Performs db and driver calls to disassociate floating ip."""
interface = CONF.public_interface or interface
- @lockutils.synchronized(unicode(address), 'nova-')
+ @utils.synchronized(unicode(address))
def do_disassociate():
# NOTE(vish): Note that we are disassociating in the db before we
# actually remove the ip address on the host. We are
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 7a1f562e5..cb86f7fa0 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -33,7 +33,6 @@ from nova.openstack.common import excutils
from nova.openstack.common import fileutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
from nova.openstack.common import timeutils
@@ -397,7 +396,7 @@ class IptablesManager(object):
self._apply()
- @lockutils.synchronized('iptables', 'nova-', external=True)
+ @utils.synchronized('iptables', external=True)
def _apply(self):
"""Apply the current in-memory set of iptables rules.
@@ -980,7 +979,7 @@ def kill_dhcp(dev):
# NOTE(ja): Sending a HUP only reloads the hostfile, so any
# configuration options (like dchp-range, vlan, ...)
# aren't reloaded.
-@lockutils.synchronized('dnsmasq_start', 'nova-')
+@utils.synchronized('dnsmasq_start')
def restart_dhcp(context, dev, network_ref):
"""(Re)starts a dnsmasq server for a given network.
@@ -1068,7 +1067,7 @@ def restart_dhcp(context, dev, network_ref):
_add_dnsmasq_accept_rules(dev)
-@lockutils.synchronized('radvd_start', 'nova-')
+@utils.synchronized('radvd_start')
def update_ra(context, dev, network_ref):
conffile = _ra_file(dev, 'conf')
conf_str = """
@@ -1393,7 +1392,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
LinuxBridgeInterfaceDriver.remove_vlan(vlan_num)
@classmethod
- @lockutils.synchronized('lock_vlan', 'nova-', external=True)
+ @utils.synchronized('lock_vlan', external=True)
def ensure_vlan(_self, vlan_num, bridge_interface, mac_address=None):
"""Create a vlan unless it already exists."""
interface = 'vlan%s' % vlan_num
@@ -1418,14 +1417,14 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
return interface
@classmethod
- @lockutils.synchronized('lock_vlan', 'nova-', external=True)
+ @utils.synchronized('lock_vlan', external=True)
def remove_vlan(cls, vlan_num):
"""Delete a vlan."""
vlan_interface = 'vlan%s' % vlan_num
delete_net_dev(vlan_interface)
@classmethod
- @lockutils.synchronized('lock_bridge', 'nova-', external=True)
+ @utils.synchronized('lock_bridge', external=True)
def ensure_bridge(_self, bridge, interface, net_attrs=None, gateway=True,
filtering=True):
"""Create a bridge unless it already exists.
@@ -1510,7 +1509,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
% (bridge, CONF.iptables_drop_action)))
@classmethod
- @lockutils.synchronized('lock_bridge', 'nova-', external=True)
+ @utils.synchronized('lock_bridge', external=True)
def remove_bridge(cls, bridge, gateway=True, filtering=True):
"""Delete a bridge."""
if not device_exists(bridge):
@@ -1536,7 +1535,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
delete_net_dev(bridge)
-@lockutils.synchronized('ebtables', 'nova-', external=True)
+@utils.synchronized('ebtables', external=True)
def ensure_ebtables_rules(rules, table='filter'):
for rule in rules:
cmd = ['ebtables', '-t', table, '-D'] + rule.split()
@@ -1545,7 +1544,7 @@ def ensure_ebtables_rules(rules, table='filter'):
_execute(*cmd, run_as_root=True)
-@lockutils.synchronized('ebtables', 'nova-', external=True)
+@utils.synchronized('ebtables', external=True)
def remove_ebtables_rules(rules, table='filter'):
for rule in rules:
cmd = ['ebtables', '-t', table, '-D'] + rule.split()
diff --git a/nova/network/manager.py b/nova/network/manager.py
index 99eb619fe..4eb242ed1 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -66,7 +66,6 @@ from nova.network.security_group import openstack_driver
from nova.openstack.common import excutils
from nova.openstack.common import importutils
from nova.openstack.common import jsonutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import periodic_task
from nova.openstack.common.rpc import common as rpc_common
@@ -314,7 +313,7 @@ class NetworkManager(manager.Manager):
def _import_ipam_lib(self, ipam_lib):
self.ipam = importutils.import_module(ipam_lib).get_ipam_lib(self)
- @lockutils.synchronized('get_dhcp', 'nova-')
+ @utils.synchronized('get_dhcp')
def _get_dhcp_ip(self, context, network_ref, host=None):
"""Get the proper dhcp address to listen on."""
# NOTE(vish): this is for compatibility
@@ -1809,7 +1808,7 @@ class VlanManager(RPCAllocateFixedIP, floating_ips.FloatingIP, NetworkManager):
return NetworkManager.create_networks(
self, context, vpn=True, **kwargs)
- @lockutils.synchronized('setup_network', 'nova-', external=True)
+ @utils.synchronized('setup_network', external=True)
def _setup_network_on_host(self, context, network):
"""Sets up network on this host."""
if not network['vpn_public_address']:
@@ -1843,7 +1842,7 @@ class VlanManager(RPCAllocateFixedIP, floating_ips.FloatingIP, NetworkManager):
self.db.network_update(context, network['id'],
{'gateway_v6': gateway})
- @lockutils.synchronized('setup_network', 'nova-', external=True)
+ @utils.synchronized('setup_network', external=True)
def _teardown_network_on_host(self, context, network):
if not CONF.fake_network:
network['dhcp_server'] = self._get_dhcp_ip(context, network)
diff --git a/nova/openstack/common/lockutils.py b/nova/openstack/common/lockutils.py
index 672e7ad7d..e8b5af78b 100644
--- a/nova/openstack/common/lockutils.py
+++ b/nova/openstack/common/lockutils.py
@@ -49,6 +49,10 @@ CONF = cfg.CONF
CONF.register_opts(util_opts)
+def set_defaults(lock_path):
+ cfg.set_defaults(util_opts, lock_path=lock_path)
+
+
class _InterProcessLock(object):
"""Lock implementation which allows multiple locks, working around
issues like bugs.debian.org/cgi-bin/bugreport.cgi?bug=632857 and does
@@ -247,3 +251,28 @@ def synchronized(name, lock_file_prefix, external=False, lock_path=None):
return retval
return inner
return wrap
+
+
+def synchronized_with_prefix(lock_file_prefix):
+ """Partial object generator for the synchronization decorator.
+
+ Redefine @synchronized in each project like so::
+
+ (in nova/utils.py)
+ from nova.openstack.common import lockutils
+
+ synchronized = lockutils.synchronized_with_prefix('nova-')
+
+
+ (in nova/foo.py)
+ from nova import utils
+
+ @utils.synchronized('mylock')
+ def bar(self, *args):
+ ...
+
+ The lock_file_prefix argument is used to provide lock files on disk with a
+ meaningful prefix. The prefix should end with a hyphen ('-') if specified.
+ """
+
+ return functools.partial(synchronized, lock_file_prefix=lock_file_prefix)
diff --git a/nova/openstack/common/processutils.py b/nova/openstack/common/processutils.py
index 45a5bf963..6474db4ad 100644
--- a/nova/openstack/common/processutils.py
+++ b/nova/openstack/common/processutils.py
@@ -34,6 +34,11 @@ from nova.openstack.common import log as logging
LOG = logging.getLogger(__name__)
+class InvalidArgumentError(Exception):
+ def __init__(self, message=None):
+ super(InvalidArgumentError, self).__init__(message)
+
+
class UnknownArgumentError(Exception):
def __init__(self, message=None):
super(UnknownArgumentError, self).__init__(message)
@@ -179,3 +184,64 @@ def execute(*cmd, **kwargs):
# call clean something up in between calls, without
# it two execute calls in a row hangs the second one
greenthread.sleep(0)
+
+
+def trycmd(*args, **kwargs):
+ """
+ A wrapper around execute() to more easily handle warnings and errors.
+
+ Returns an (out, err) tuple of strings containing the output of
+ the command's stdout and stderr. If 'err' is not empty then the
+ command can be considered to have failed.
+
+ :discard_warnings True | False. Defaults to False. If set to True,
+ then for succeeding commands, stderr is cleared
+
+ """
+ discard_warnings = kwargs.pop('discard_warnings', False)
+
+ try:
+ out, err = execute(*args, **kwargs)
+ failed = False
+ except ProcessExecutionError, exn:
+ out, err = '', str(exn)
+ failed = True
+
+ if not failed and discard_warnings and err:
+ # Handle commands that output to stderr but otherwise succeed
+ err = ''
+
+ return out, err
+
+
+def ssh_execute(ssh, cmd, process_input=None,
+ addl_env=None, check_exit_code=True):
+ LOG.debug(_('Running cmd (SSH): %s'), cmd)
+ if addl_env:
+ raise InvalidArgumentError(_('Environment not supported over SSH'))
+
+ if process_input:
+ # This is (probably) fixable if we need it...
+ raise InvalidArgumentError(_('process_input not supported over SSH'))
+
+ stdin_stream, stdout_stream, stderr_stream = ssh.exec_command(cmd)
+ channel = stdout_stream.channel
+
+ # NOTE(justinsb): This seems suspicious...
+ # ...other SSH clients have buffering issues with this approach
+ stdout = stdout_stream.read()
+ stderr = stderr_stream.read()
+ stdin_stream.close()
+
+ exit_status = channel.recv_exit_status()
+
+ # exit_status == -1 if no exit code was returned
+ if exit_status != -1:
+ LOG.debug(_('Result was %s') % exit_status)
+ if check_exit_code and exit_status != 0:
+ raise ProcessExecutionError(exit_code=exit_status,
+ stdout=stdout,
+ stderr=stderr,
+ cmd=cmd)
+
+ return (stdout, stderr)
diff --git a/nova/scheduler/driver.py b/nova/scheduler/driver.py
index 506c77cff..4ad6b8513 100644
--- a/nova/scheduler/driver.py
+++ b/nova/scheduler/driver.py
@@ -258,7 +258,11 @@ class Scheduler(object):
# If dest is not specified, have scheduler pick one.
if dest is None:
instance_type = flavors.extract_instance_type(instance_ref)
- image = self.image_service.show(context, instance_ref['image_ref'])
+ if not instance_ref['image_ref']:
+ image = None
+ else:
+ image = self.image_service.show(context,
+ instance_ref['image_ref'])
request_spec = {'instance_properties': instance_ref,
'instance_type': instance_type,
'instance_uuids': [instance_ref['uuid']],
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index 440492f40..566b7846d 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -70,8 +70,11 @@ class FilterScheduler(driver.Scheduler):
'scheduler.run_instance.start', notifier.INFO, payload)
instance_uuids = request_spec.pop('instance_uuids')
- LOG.debug(_("Attempting to build %(num_instances)d instance(s)"),
- {'num_instances': len(instance_uuids)})
+ LOG.info(_("Attempting to build %(num_instances)d instance(s) "
+ "uuids: %(instance_uuids)s"),
+ {'num_instances': len(instance_uuids),
+ 'instance_uuids': instance_uuids})
+ LOG.debug(_("Request Spec: %s") % request_spec)
weighed_hosts = self._schedule(context, request_spec,
filter_properties, instance_uuids)
@@ -86,6 +89,10 @@ class FilterScheduler(driver.Scheduler):
try:
try:
weighed_host = weighed_hosts.pop(0)
+ LOG.info(_("Choosing host %(weighed_host)s "
+ "for instance %(instance_uuid)s"),
+ {'weighed_host': weighed_host,
+ 'instance_uuid': instance_uuid})
except IndexError:
raise exception.NoValidHost(reason="")
@@ -346,6 +353,8 @@ class FilterScheduler(driver.Scheduler):
weighed_hosts = self.host_manager.get_weighed_hosts(hosts,
filter_properties)
+ LOG.debug(_("Weighed %(hosts)s"), {'hosts': weighed_hosts})
+
scheduler_host_subset_size = CONF.scheduler_host_subset_size
if scheduler_host_subset_size > len(weighed_hosts):
scheduler_host_subset_size = len(weighed_hosts)
@@ -354,8 +363,6 @@ class FilterScheduler(driver.Scheduler):
chosen_host = random.choice(
weighed_hosts[0:scheduler_host_subset_size])
- LOG.debug(_("Choosing host %(chosen_host)s"),
- {'chosen_host': chosen_host})
selected_hosts.append(chosen_host)
# Now consume the resources so the filter/weights
diff --git a/nova/tests/api/openstack/compute/contrib/test_snapshots.py b/nova/tests/api/openstack/compute/contrib/test_snapshots.py
index a890abe6f..8e042adf8 100644
--- a/nova/tests/api/openstack/compute/contrib/test_snapshots.py
+++ b/nova/tests/api/openstack/compute/contrib/test_snapshots.py
@@ -67,6 +67,8 @@ class SnapshotApiTest(test.TestCase):
snapshot['display_name'])
self.assertEqual(resp_dict['snapshot']['displayDescription'],
snapshot['display_description'])
+ self.assertEqual(resp_dict['snapshot']['volumeId'],
+ snapshot['volume_id'])
def test_snapshot_create_force(self):
snapshot = {"volume_id": 12,
@@ -88,6 +90,8 @@ class SnapshotApiTest(test.TestCase):
snapshot['display_name'])
self.assertEqual(resp_dict['snapshot']['displayDescription'],
snapshot['display_description'])
+ self.assertEqual(resp_dict['snapshot']['volumeId'],
+ snapshot['volume_id'])
# Test invalid force paramter
snapshot = {"volume_id": 12,
diff --git a/nova/tests/api/openstack/compute/contrib/test_volumes.py b/nova/tests/api/openstack/compute/contrib/test_volumes.py
index cc0c1c1cc..ebac609f6 100644
--- a/nova/tests/api/openstack/compute/contrib/test_volumes.py
+++ b/nova/tests/api/openstack/compute/contrib/test_volumes.py
@@ -24,6 +24,7 @@ from nova.api.openstack.compute.contrib import volumes
from nova.compute import api as compute_api
from nova.compute import flavors
from nova import context
+from nova import exception
from nova.openstack.common import jsonutils
from nova.openstack.common import timeutils
from nova import test
@@ -183,6 +184,23 @@ class VolumeApiTest(test.TestCase):
self.assertEqual(resp_dict['volume']['availabilityZone'],
vol['availability_zone'])
+ def test_volume_create_bad(self):
+ def fake_volume_create(self, context, size, name, description,
+ snapshot, **param):
+ raise exception.InvalidInput(reason="bad request data")
+
+ self.stubs.Set(cinder.API, "create", fake_volume_create)
+
+ vol = {"size": '#$?',
+ "display_name": "Volume Test Name",
+ "display_description": "Volume Test Desc",
+ "availability_zone": "zone1:host1"}
+ body = {"volume": vol}
+
+ req = fakes.HTTPRequest.blank('/v2/fake/os-volumes')
+ self.assertRaises(webob.exc.HTTPBadRequest,
+ volumes.VolumeController().create, req, body)
+
def test_volume_index(self):
req = webob.Request.blank('/v2/fake/os-volumes')
resp = req.get_response(self.app)
diff --git a/nova/tests/api/openstack/compute/test_server_actions.py b/nova/tests/api/openstack/compute/test_server_actions.py
index fe65fe0d9..7347aa169 100644
--- a/nova/tests/api/openstack/compute/test_server_actions.py
+++ b/nova/tests/api/openstack/compute/test_server_actions.py
@@ -195,6 +195,34 @@ class ServerActionsControllerTest(test.TestCase):
self.controller._action_reboot,
req, FAKE_UUID, body)
+ def test_reboot_soft_with_soft_in_progress_raises_conflict(self):
+ body = dict(reboot=dict(type="SOFT"))
+ req = fakes.HTTPRequest.blank(self.url)
+ self.stubs.Set(db, 'instance_get_by_uuid',
+ fakes.fake_instance_get(vm_state=vm_states.ACTIVE,
+ task_state=task_states.REBOOTING))
+ self.assertRaises(webob.exc.HTTPConflict,
+ self.controller._action_reboot,
+ req, FAKE_UUID, body)
+
+ def test_reboot_hard_with_soft_in_progress_does_not_raise(self):
+ body = dict(reboot=dict(type="HARD"))
+ req = fakes.HTTPRequest.blank(self.url)
+ self.stubs.Set(db, 'instance_get_by_uuid',
+ fakes.fake_instance_get(vm_state=vm_states.ACTIVE,
+ task_state=task_states.REBOOTING))
+ self.controller._action_reboot(req, FAKE_UUID, body)
+
+ def test_reboot_hard_with_hard_in_progress_raises_conflict(self):
+ body = dict(reboot=dict(type="HARD"))
+ req = fakes.HTTPRequest.blank(self.url)
+ self.stubs.Set(db, 'instance_get_by_uuid',
+ fakes.fake_instance_get(vm_state=vm_states.ACTIVE,
+ task_state=task_states.REBOOTING_HARD))
+ self.assertRaises(webob.exc.HTTPConflict,
+ self.controller._action_reboot,
+ req, FAKE_UUID, body)
+
def test_rebuild_accepted_minimum(self):
return_server = fakes.fake_instance_get(image_ref='2',
vm_state=vm_states.ACTIVE, host='fake_host')
diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py
index 0a78020bd..24566d4d0 100644
--- a/nova/tests/api/openstack/fakes.py
+++ b/nova/tests/api/openstack/fakes.py
@@ -611,8 +611,8 @@ def stub_snapshot(id, **kwargs):
return snapshot
-def stub_snapshot_create(self, context, volume_id, name, description):
- return stub_snapshot(100, volume_id=volume_id, display_name=name,
+def stub_snapshot_create(self, context, volume, name, description):
+ return stub_snapshot(100, volume_id=volume['id'], display_name=name,
display_description=description)
diff --git a/nova/tests/baremetal/test_virtual_power_driver.py b/nova/tests/baremetal/test_virtual_power_driver.py
index 4cac0a3ba..d6d615194 100644
--- a/nova/tests/baremetal/test_virtual_power_driver.py
+++ b/nova/tests/baremetal/test_virtual_power_driver.py
@@ -27,7 +27,6 @@ from nova.tests.baremetal.db import base as bm_db_base
from nova.tests.baremetal.db import utils as bm_db_utils
from nova.tests.image import fake as fake_image
from nova.tests import utils
-from nova import utils as nutils
from nova.virt.baremetal import db
from nova.virt.baremetal import virtual_power_driver
import nova.virt.powervm.common as connection
@@ -352,9 +351,9 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self._create_pm()
self.mox.StubOutWithMock(self.pm, '_set_connection')
- self.mox.StubOutWithMock(nutils, 'ssh_execute')
+ self.mox.StubOutWithMock(processutils, 'ssh_execute')
self.pm._set_connection().AndReturn(True)
- nutils.ssh_execute(None, '/usr/bin/VBoxManage test return',
+ processutils.ssh_execute(None, '/usr/bin/VBoxManage test return',
check_exit_code=True).AndReturn(("test\nreturn", ""))
self.pm._matched_name = 'testNode'
self.mox.ReplayAll()
@@ -367,10 +366,10 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self._create_pm()
self.mox.StubOutWithMock(self.pm, '_set_connection')
- self.mox.StubOutWithMock(nutils, 'ssh_execute')
+ self.mox.StubOutWithMock(processutils, 'ssh_execute')
self.pm._set_connection().AndReturn(True)
- nutils.ssh_execute(None, '/usr/bin/VBoxManage test return',
+ processutils.ssh_execute(None, '/usr/bin/VBoxManage test return',
check_exit_code=True).\
AndRaise(processutils.ProcessExecutionError)
self.mox.ReplayAll()
@@ -384,14 +383,14 @@ class VPDClassMethodsTestCase(BareMetalVPDTestCase):
self._create_pm()
self.mox.StubOutWithMock(self.pm, '_check_for_node')
- self.mox.StubOutWithMock(nutils, 'ssh_execute')
+ self.mox.StubOutWithMock(processutils, 'ssh_execute')
self.pm._check_for_node().AndReturn(['"testNode"'])
self.pm._check_for_node().AndReturn(['"testNode"'])
- nutils.ssh_execute('test', '/usr/bin/VBoxManage startvm ',
+ processutils.ssh_execute('test', '/usr/bin/VBoxManage startvm ',
check_exit_code=True).\
AndRaise(processutils.ProcessExecutionError)
- nutils.ssh_execute('test', '/usr/bin/VBoxManage list runningvms',
+ processutils.ssh_execute('test', '/usr/bin/VBoxManage list runningvms',
check_exit_code=True).\
AndRaise(processutils.ProcessExecutionError)
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index d185c6867..9560fc78c 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -6050,11 +6050,8 @@ class ComputeAPITestCase(BaseTestCase):
name = 'test_resize_new_flavor'
flavorid = 11
- memory_mb = 128
- root_gb = 0
- vcpus = 1
- flavors.create(name, memory_mb, vcpus, root_gb, 0,
- flavorid, 0, 1.0, True)
+ flavors.create(name, 128, 1, 0, ephemeral_gb=0, flavorid=flavorid,
+ swap=0, rxtx_factor=1.0, is_public=True)
flavors.destroy(name)
self.assertRaises(exception.FlavorNotFound, self.compute_api.resize,
self.context, instance, flavorid)
@@ -6082,11 +6079,8 @@ class ComputeAPITestCase(BaseTestCase):
name = 'test_resize_with_big_mem'
flavorid = 11
- memory_mb = 102400
- root_gb = 0
- vcpus = 1
- flavors.create(name, memory_mb, vcpus, root_gb, 0,
- flavorid, 0, 1.0, True)
+ flavors.create(name, 102400, 1, 0, ephemeral_gb=0, flavorid=flavorid,
+ swap=0, rxtx_factor=1.0, is_public=True)
self.assertRaises(exception.TooManyInstances, self.compute_api.resize,
self.context, instance, flavorid)
@@ -6096,11 +6090,9 @@ class ComputeAPITestCase(BaseTestCase):
def test_resize_revert_deleted_flavor_fails(self):
orig_name = 'test_resize_revert_orig_flavor'
orig_flavorid = 11
- memory_mb = 128
- root_gb = 0
- vcpus = 1
- flavors.create(orig_name, memory_mb, vcpus, root_gb, 0,
- orig_flavorid, 0, 1.0, True)
+ flavors.create(orig_name, 128, 1, 0, ephemeral_gb=0,
+ flavorid=orig_flavorid, swap=0, rxtx_factor=1.0,
+ is_public=True)
instance = self._create_fake_instance(type_name=orig_name)
instance = db.instance_get_by_uuid(self.context, instance['uuid'])
diff --git a/nova/tests/fake_utils.py b/nova/tests/fake_processutils.py
index 6a295b43b..04d39e7e5 100644
--- a/nova/tests/fake_utils.py
+++ b/nova/tests/fake_processutils.py
@@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
-"""This modules stubs out functions in nova.utils."""
+"""This modules stubs out functions in openstack.common.processutils."""
import re
@@ -22,7 +22,6 @@ from eventlet import greenthread
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
-from nova import utils
LOG = logging.getLogger(__name__)
@@ -106,7 +105,7 @@ def fake_execute(*cmd_parts, **kwargs):
return reply
-def stub_out_utils_execute(stubs):
+def stub_out_processutils_execute(stubs):
fake_execute_set_repliers([])
fake_execute_clear_log()
- stubs.Set(utils, 'execute', fake_execute)
+ stubs.Set(processutils, 'execute', fake_execute)
diff --git a/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.json.tpl b/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.json.tpl
index 73cd02d9d..ddffd97a3 100644
--- a/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.json.tpl
+++ b/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.json.tpl
@@ -6,27 +6,6 @@
"id": 100,
"size": 100,
"status": "available",
- "volumeId": {
- "attach_status": "attached",
- "availability_zone": "fakeaz",
- "created_at": "%(timestamp)s",
- "display_description": "displaydesc",
- "display_name": "displayname",
- "host": "fakehost",
- "id": "%(uuid)s",
- "instance_uuid": "fakeuuid",
- "mountpoint": "/",
- "name": "vol name",
- "project_id": "fakeproject",
- "size": 1,
- "snapshot_id": null,
- "status": "fakestatus",
- "user_id": "fakeuser",
- "volume_metadata": [],
- "volume_type": {
- "name": "vol_type_name"
- },
- "volume_type_id": "fakevoltype"
- }
+ "volumeId": "%(uuid)s"
}
}
diff --git a/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.xml.tpl b/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.xml.tpl
index aa713311f..d75ae7ddd 100644
--- a/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.xml.tpl
+++ b/nova/tests/integrated/api_samples/os-volumes/snapshot-create-resp.xml.tpl
@@ -1,2 +1,2 @@
<?xml version='1.0' encoding='UTF-8'?>
-<snapshot status="available" displayDescription="%(description)s" displayName="%(snapshot_name)s" volumeId="{'instance_uuid': 'fakeuuid', 'status': 'fakestatus', 'user_id': 'fakeuser', 'name': 'vol name', 'display_name': 'displayname', 'availability_zone': 'fakeaz', 'created_at': datetime.datetime(1999, 1, 1, 1, 1, 1), 'attach_status': 'attached', 'display_description': 'displaydesc', 'host': 'fakehost', 'volume_type_id': 'fakevoltype', 'volume_metadata': [], 'volume_type': {'name': 'vol_type_name'}, 'snapshot_id': None, 'mountpoint': '/', 'project_id': 'fakeproject', 'id': u'521752a6-acf6-4b2d-bc7a-119f9148cd8c', 'size': 1}" id="100" createdAt="%(timestamp)s" size="100"/>
+<snapshot status="available" displayDescription="%(description)s" displayName="%(snapshot_name)s" volumeId="521752a6-acf6-4b2d-bc7a-119f9148cd8c" id="100" createdAt="%(timestamp)s" size="100"/>
diff --git a/nova/tests/scheduler/test_scheduler.py b/nova/tests/scheduler/test_scheduler.py
index 60d45fed4..f4f607647 100644
--- a/nova/tests/scheduler/test_scheduler.py
+++ b/nova/tests/scheduler/test_scheduler.py
@@ -808,6 +808,31 @@ class SchedulerTestCase(test.TestCase):
None, ignore_hosts)
self.assertEqual('fake_host2', result)
+ def test_live_migration_dest_check_no_image(self):
+ instance = self._live_migration_instance()
+ instance['image_ref'] = ''
+
+ # Confirm dest is picked by scheduler if not set.
+ self.mox.StubOutWithMock(self.driver, 'select_hosts')
+ self.mox.StubOutWithMock(flavors, 'extract_instance_type')
+
+ request_spec = {'instance_properties': instance,
+ 'instance_type': {},
+ 'instance_uuids': [instance['uuid']],
+ 'image': None
+ }
+ ignore_hosts = [instance['host']]
+ filter_properties = {'ignore_hosts': ignore_hosts}
+
+ flavors.extract_instance_type(instance).AndReturn({})
+ self.driver.select_hosts(self.context, request_spec,
+ filter_properties).AndReturn(['fake_host2'])
+
+ self.mox.ReplayAll()
+ result = self.driver._live_migration_dest_check(self.context, instance,
+ None, ignore_hosts)
+ self.assertEqual('fake_host2', result)
+
def test_live_migration_auto_set_dest(self):
instance = self._live_migration_instance()
diff --git a/nova/tests/test_imagebackend.py b/nova/tests/test_imagebackend.py
index 4ec36daa8..b5d64a218 100644
--- a/nova/tests/test_imagebackend.py
+++ b/nova/tests/test_imagebackend.py
@@ -24,7 +24,7 @@ from nova import exception
from nova.openstack.common import uuidutils
from nova import test
from nova.tests import fake_libvirt_utils
-from nova.tests import fake_utils
+from nova.tests import fake_processutils
from nova.virt.libvirt import imagebackend
CONF = cfg.CONF
@@ -131,8 +131,8 @@ class _ImageTestCase(object):
def test_prealloc_image(self):
CONF.set_override('preallocate_images', 'space')
- fake_utils.fake_execute_clear_log()
- fake_utils.stub_out_utils_execute(self.stubs)
+ fake_processutils.fake_execute_clear_log()
+ fake_processutils.stub_out_processutils_execute(self.stubs)
image = self.image_class(self.INSTANCE, self.NAME)
def fake_fetch(target, *args, **kwargs):
@@ -144,7 +144,7 @@ class _ImageTestCase(object):
image.cache(fake_fetch, self.TEMPLATE_PATH, self.SIZE)
image.cache(fake_fetch, self.TEMPLATE_PATH, self.SIZE)
- self.assertEqual(fake_utils.fake_execute_get_log(),
+ self.assertEqual(fake_processutils.fake_execute_get_log(),
['fallocate -n -l 1 %s.fallocate_test' % self.PATH,
'fallocate -n -l %s %s' % (self.SIZE, self.PATH),
'fallocate -n -l %s %s' % (self.SIZE, self.PATH)])
@@ -161,7 +161,7 @@ class RawTestCase(_ImageTestCase, test.TestCase):
def prepare_mocks(self):
fn = self.mox.CreateMockAnything()
- self.mox.StubOutWithMock(imagebackend.lockutils.synchronized,
+ self.mox.StubOutWithMock(imagebackend.utils.synchronized,
'__call__')
self.mox.StubOutWithMock(imagebackend.libvirt_utils, 'copy_image')
self.mox.StubOutWithMock(imagebackend.disk, 'extend')
@@ -230,7 +230,7 @@ class Qcow2TestCase(_ImageTestCase, test.TestCase):
def prepare_mocks(self):
fn = self.mox.CreateMockAnything()
- self.mox.StubOutWithMock(imagebackend.lockutils.synchronized,
+ self.mox.StubOutWithMock(imagebackend.utils.synchronized,
'__call__')
self.mox.StubOutWithMock(imagebackend.libvirt_utils,
'create_cow_image')
@@ -427,8 +427,8 @@ class LvmTestCase(_ImageTestCase, test.TestCase):
def test_prealloc_image(self):
CONF.set_override('preallocate_images', 'space')
- fake_utils.fake_execute_clear_log()
- fake_utils.stub_out_utils_execute(self.stubs)
+ fake_processutils.fake_execute_clear_log()
+ fake_processutils.stub_out_processutils_execute(self.stubs)
image = self.image_class(self.INSTANCE, self.NAME)
def fake_fetch(target, *args, **kwargs):
@@ -438,7 +438,7 @@ class LvmTestCase(_ImageTestCase, test.TestCase):
image.cache(fake_fetch, self.TEMPLATE_PATH, self.SIZE)
- self.assertEqual(fake_utils.fake_execute_get_log(), [])
+ self.assertEqual(fake_processutils.fake_execute_get_log(), [])
class BackendTestCase(test.TestCase):
diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_instance_types.py
index 5afa4005f..e20845f1d 100644
--- a/nova/tests/test_instance_types.py
+++ b/nova/tests/test_instance_types.py
@@ -51,119 +51,6 @@ class InstanceTypeTestCase(test.TestCase):
"""return first instance type name."""
return flavors.get_all_types().keys()[0]
- def test_instance_type_create(self):
- # Ensure instance types can be created.
- name = 'Instance create test'
- flavor_id = '512'
-
- original_list = flavors.get_all_types()
-
- # create new type and make sure values stick
- inst_type = flavors.create(name, 256, 1, 120,
- flavorid=flavor_id)
- self.assertEqual(inst_type['flavorid'], flavor_id)
- self.assertEqual(inst_type['name'], name)
- self.assertEqual(inst_type['memory_mb'], 256)
- self.assertEqual(inst_type['vcpus'], 1)
- self.assertEqual(inst_type['root_gb'], 120)
- self.assertEqual(inst_type['ephemeral_gb'], 0)
- self.assertEqual(inst_type['swap'], 0)
- self.assertEqual(inst_type['rxtx_factor'], 1.0)
-
- # make sure new type shows up in list
- new_list = flavors.get_all_types()
- self.assertNotEqual(len(original_list), len(new_list),
- 'instance type was not created')
-
- def test_instance_type_create_then_delete(self):
- # Ensure instance types can be created.
- name = 'Small Flavor'
- flavorid = 'flavor1'
-
- original_list = flavors.get_all_types()
-
- # create new type and make sure values stick
- inst_type = flavors.create(name, 256, 1, 120, 100, flavorid)
- inst_type_id = inst_type['id']
- self.assertEqual(inst_type['flavorid'], flavorid)
- self.assertEqual(inst_type['name'], name)
- self.assertEqual(inst_type['memory_mb'], 256)
- self.assertEqual(inst_type['vcpus'], 1)
- self.assertEqual(inst_type['root_gb'], 120)
- self.assertEqual(inst_type['ephemeral_gb'], 100)
- self.assertEqual(inst_type['swap'], 0)
- self.assertEqual(inst_type['rxtx_factor'], 1.0)
-
- # make sure new type shows up in list
- new_list = flavors.get_all_types()
- self.assertNotEqual(len(original_list), len(new_list),
- 'instance type was not created')
-
- flavors.destroy(name)
- self.assertRaises(exception.InstanceTypeNotFound,
- flavors.get_instance_type, inst_type_id)
-
- # deleted instance should not be in list anymoer
- new_list = flavors.get_all_types()
- self.assertEqual(original_list, new_list)
-
- def test_instance_type_create_without_flavorid(self):
- name = 'Small Flavor'
- inst_type = flavors.create(name, 256, 1, 120, 100)
- self.assertNotEqual(inst_type['flavorid'], None)
- self.assertEqual(inst_type['name'], name)
- self.assertEqual(inst_type['memory_mb'], 256)
- self.assertEqual(inst_type['vcpus'], 1)
- self.assertEqual(inst_type['root_gb'], 120)
- self.assertEqual(inst_type['ephemeral_gb'], 100)
- self.assertEqual(inst_type['swap'], 0)
- self.assertEqual(inst_type['rxtx_factor'], 1.0)
-
- def test_instance_type_create_with_empty_flavorid(self):
- # Ensure that auto-generated uuid is assigned.
- name = 'Empty String ID Flavor'
- flavorid = ''
- inst_type = flavors.create(name, 256, 1, 120, 100, flavorid)
- self.assertEqual(len(inst_type['flavorid']), 36)
- self.assertEqual(inst_type['name'], name)
- self.assertEqual(inst_type['memory_mb'], 256)
- self.assertEqual(inst_type['vcpus'], 1)
- self.assertEqual(inst_type['root_gb'], 120)
- self.assertEqual(inst_type['ephemeral_gb'], 100)
- self.assertEqual(inst_type['swap'], 0)
- self.assertEqual(inst_type['rxtx_factor'], 1.0)
-
- def test_instance_type_create_with_custom_rxtx_factor(self):
- name = 'Custom RXTX Factor'
- inst_type = flavors.create(name, 256, 1, 120, 100,
- rxtx_factor=9.9)
- self.assertNotEqual(inst_type['flavorid'], None)
- self.assertEqual(inst_type['name'], name)
- self.assertEqual(inst_type['memory_mb'], 256)
- self.assertEqual(inst_type['vcpus'], 1)
- self.assertEqual(inst_type['root_gb'], 120)
- self.assertEqual(inst_type['ephemeral_gb'], 100)
- self.assertEqual(inst_type['swap'], 0)
- self.assertEqual(inst_type['rxtx_factor'], 9.9)
-
- def test_instance_type_create_with_special_characters(self):
- # Ensure instance types raises InvalidInput for invalid characters.
- name = "foo.bar!@#$%^-test_name"
- flavorid = "flavor1"
- self.assertRaises(exception.InvalidInput, flavors.create,
- name, 256, 1, 120, 100, flavorid)
-
- def test_instance_type_create_with_long_flavor_name(self):
- # Flavor name with 255 characters or less is valid.
- name = 'a' * 255
- inst_type = flavors.create(name, 64, 1, 120, flavorid=11)
- self.assertEqual(inst_type['name'], name)
-
- # Flavor name which is more than 255 characters will cause error.
- name = 'a' * 256
- self.assertRaises(exception.InvalidInput, flavors.create,
- name, 64, 1, 120, flavorid=11)
-
def test_add_instance_type_access(self):
user_id = 'fake'
project_id = 'fake'
@@ -233,55 +120,12 @@ class InstanceTypeTestCase(test.TestCase):
inst_types = flavors.get_all_types()
self.assertEqual(total_instance_types, len(inst_types))
- def test_invalid_create_args_should_fail(self):
- # Ensures that instance type creation fails with invalid args.
- invalid_sigs = [
- (('Zero memory', 0, 1, 10, 20, 'flavor1'), {}),
- (('Negative memory', -256, 1, 10, 20, 'flavor1'), {}),
- (('Non-integer memory', 'asdf', 1, 10, 20, 'flavor1'), {}),
-
- (('Zero vcpus', 256, 0, 10, 20, 'flavor1'), {}),
- (('Negative vcpus', 256, -1, 10, 20, 'flavor1'), {}),
- (('Non-integer vcpus', 256, 'a', 10, 20, 'flavor1'), {}),
-
- (('Negative storage', 256, 1, -1, 20, 'flavor1'), {}),
- (('Non-integer storage', 256, 1, 'a', 20, 'flavor1'), {}),
-
- (('Negative swap', 256, 1, 10, 20, 'flavor1'), {'swap': -1}),
- (('Non-integer swap', 256, 1, 10, 20, 'flavor1'), {'swap': -1}),
-
- (('Negative rxtx_factor', 256, 1, 10, 20, 'f1'),
- {'rxtx_factor': -1}),
- (('Non-integer rxtx_factor', 256, 1, 10, 20, 'f1'),
- {'rxtx_factor': "d"}),
- ]
-
- for (args, kwargs) in invalid_sigs:
- self.assertRaises(exception.InvalidInput,
- flavors.create, *args, **kwargs)
-
def test_non_existent_inst_type_shouldnt_delete(self):
# Ensures that instance type creation fails with invalid args.
self.assertRaises(exception.InstanceTypeNotFoundByName,
flavors.destroy,
'unknown_flavor')
- def test_duplicate_names_fail(self):
- # Ensures that name duplicates raise InstanceTypeCreateFailed.
- name = 'some_name'
- flavors.create(name, 256, 1, 120, 200, 'flavor1')
- self.assertRaises(exception.InstanceTypeExists,
- flavors.create,
- name, 256, 1, 120, 200, 'flavor2')
-
- def test_duplicate_flavorids_fail(self):
- # Ensures that flavorid duplicates raise InstanceTypeCreateFailed.
- flavorid = 'flavor1'
- flavors.create('name one', 256, 1, 120, 200, flavorid)
- self.assertRaises(exception.InstanceTypeIdExists,
- flavors.create,
- 'name two', 256, 1, 120, 200, flavorid)
-
def test_will_not_destroy_with_no_name(self):
# Ensure destroy said path of no name raises error.
self.assertRaises(exception.InstanceTypeNotFoundByName,
@@ -452,3 +296,143 @@ class InstanceTypeFilteringTest(test.TestCase):
filters = dict(min_memory_mb=16384, min_root_gb=80)
expected = ['m1.xlarge']
self.assertFilterResults(filters, expected)
+
+
+class CreateInstanceTypeTest(test.TestCase):
+
+ def assertInvalidInput(self, *create_args, **create_kwargs):
+ self.assertRaises(exception.InvalidInput, flavors.create,
+ *create_args, **create_kwargs)
+
+ def test_name_with_special_characters(self):
+ # Names can contain [a-zA-Z0-9_.- ]
+ flavors.create('_foo.bar-123', 64, 1, 120)
+
+ # Ensure instance types raises InvalidInput for invalid characters.
+ self.assertInvalidInput('foobar#', 64, 1, 120)
+
+ def test_name_length_checks(self):
+ MAX_LEN = 255
+
+ # Flavor name with 255 characters or less is valid.
+ flavors.create('a' * MAX_LEN, 64, 1, 120)
+
+ # Flavor name which is more than 255 characters will cause error.
+ self.assertInvalidInput('a' * (MAX_LEN + 1), 64, 1, 120)
+
+ # Flavor name which is empty should cause an error
+ self.assertInvalidInput('', 64, 1, 120)
+
+ def test_memory_must_be_positive_integer(self):
+ self.assertInvalidInput('flavor1', 'foo', 1, 120)
+ self.assertInvalidInput('flavor1', -1, 1, 120)
+ self.assertInvalidInput('flavor1', 0, 1, 120)
+ flavors.create('flavor1', 1, 1, 120)
+
+ def test_vcpus_must_be_positive_integer(self):
+ self.assertInvalidInput('flavor`', 64, 'foo', 120)
+ self.assertInvalidInput('flavor1', 64, -1, 120)
+ self.assertInvalidInput('flavor1', 64, 0, 120)
+ flavors.create('flavor1', 64, 1, 120)
+
+ def test_root_gb_must_be_nonnegative_integer(self):
+ self.assertInvalidInput('flavor1', 64, 1, 'foo')
+ self.assertInvalidInput('flavor1', 64, 1, -1)
+ flavors.create('flavor1', 64, 1, 0)
+ flavors.create('flavor2', 64, 1, 120)
+
+ def test_swap_must_be_nonnegative_integer(self):
+ self.assertInvalidInput('flavor1', 64, 1, 120, swap='foo')
+ self.assertInvalidInput('flavor1', 64, 1, 120, swap=-1)
+ flavors.create('flavor1', 64, 1, 120, swap=0)
+ flavors.create('flavor2', 64, 1, 120, swap=1)
+
+ def test_rxtx_factor_must_be_positive_float(self):
+ self.assertInvalidInput('flavor1', 64, 1, 120, rxtx_factor='foo')
+ self.assertInvalidInput('flavor1', 64, 1, 120, rxtx_factor=-1.0)
+ self.assertInvalidInput('flavor1', 64, 1, 120, rxtx_factor=0.0)
+
+ flavor = flavors.create('flavor1', 64, 1, 120, rxtx_factor=1.0)
+ self.assertEqual(1.0, flavor['rxtx_factor'])
+
+ flavor = flavors.create('flavor2', 64, 1, 120, rxtx_factor=1.1)
+ self.assertEqual(1.1, flavor['rxtx_factor'])
+
+ def test_is_public_must_be_valid_bool_string(self):
+ self.assertInvalidInput('flavor1', 64, 1, 120, is_public='foo')
+
+ flavors.create('flavor1', 64, 1, 120, is_public='TRUE')
+ flavors.create('flavor2', 64, 1, 120, is_public='False')
+ flavors.create('flavor3', 64, 1, 120, is_public='Yes')
+ flavors.create('flavor4', 64, 1, 120, is_public='No')
+ flavors.create('flavor5', 64, 1, 120, is_public='Y')
+ flavors.create('flavor6', 64, 1, 120, is_public='N')
+ flavors.create('flavor7', 64, 1, 120, is_public='1')
+ flavors.create('flavor8', 64, 1, 120, is_public='0')
+ flavors.create('flavor9', 64, 1, 120, is_public='true')
+
+ def test_flavorid_populated(self):
+ flavor1 = flavors.create('flavor1', 64, 1, 120)
+ self.assertIsNot(None, flavor1['flavorid'])
+
+ flavor2 = flavors.create('flavor2', 64, 1, 120, flavorid='')
+ self.assertIsNot(None, flavor2['flavorid'])
+
+ flavor3 = flavors.create('flavor3', 64, 1, 120, flavorid='foo')
+ self.assertEqual('foo', flavor3['flavorid'])
+
+ def test_default_values(self):
+ flavor1 = flavors.create('flavor1', 64, 1, 120)
+
+ self.assertIsNot(None, flavor1['flavorid'])
+ self.assertEqual(flavor1['ephemeral_gb'], 0)
+ self.assertEqual(flavor1['swap'], 0)
+ self.assertEqual(flavor1['rxtx_factor'], 1.0)
+
+ def test_basic_create(self):
+ # Ensure instance types can be created.
+ original_list = flavors.get_all_types()
+
+ # Create new type and make sure values stick
+ flavor = flavors.create('flavor', 64, 1, 120)
+ self.assertEqual(flavor['name'], 'flavor')
+ self.assertEqual(flavor['memory_mb'], 64)
+ self.assertEqual(flavor['vcpus'], 1)
+ self.assertEqual(flavor['root_gb'], 120)
+
+ # Ensure new type shows up in list
+ new_list = flavors.get_all_types()
+ self.assertNotEqual(len(original_list), len(new_list),
+ 'flavor was not created')
+
+ def test_create_then_delete(self):
+ original_list = flavors.get_all_types()
+
+ flavor = flavors.create('flavor', 64, 1, 120)
+
+ # Ensure new type shows up in list
+ new_list = flavors.get_all_types()
+ 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'])
+
+ # Deleted instance should not be in list anymore
+ new_list = flavors.get_all_types()
+ self.assertEqual(original_list, new_list)
+
+ def test_duplicate_names_fail(self):
+ # Ensures that name duplicates raise InstanceTypeCreateFailed.
+ flavors.create('flavor', 256, 1, 120, 200, 'flavor1')
+ self.assertRaises(exception.InstanceTypeExists,
+ flavors.create,
+ 'flavor', 64, 1, 120)
+
+ def test_duplicate_flavorids_fail(self):
+ # Ensures that flavorid duplicates raise InstanceTypeCreateFailed.
+ flavors.create('flavor1', 64, 1, 120, flavorid='flavorid')
+ self.assertRaises(exception.InstanceTypeIdExists,
+ flavors.create,
+ 'flavor2', 64, 1, 120, flavorid='flavorid')
diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py
index b2319cc09..d7ef3da2f 100644
--- a/nova/tests/test_migrations.py
+++ b/nova/tests/test_migrations.py
@@ -58,10 +58,11 @@ import sqlalchemy.exc
from nova.db.sqlalchemy import api as db
import nova.db.sqlalchemy.migrate_repo
-from nova.openstack.common import lockutils
+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 import test
+from nova import utils
import nova.virt.baremetal.db.sqlalchemy.migrate_repo
@@ -113,16 +114,6 @@ def _have_postgresql(user, passwd, database):
return present.lower() in ('', 'true')
-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."""
- metadata = sqlalchemy.schema.MetaData()
- metadata.bind = engine
- return sqlalchemy.Table(name, metadata, autoload=True)
-
-
def get_mysql_connection_info(conn_pieces):
database = conn_pieces.path.strip('/')
loc_pieces = conn_pieces.netloc.split('@')
@@ -255,7 +246,7 @@ class BaseMigrationTestCase(test.TestCase):
self.assertEqual(0, status,
"Failed to run: %s\n%s" % (cmd, output))
- @lockutils.synchronized('pgadmin', 'nova-', external=True)
+ @utils.synchronized('pgadmin', external=True)
def _reset_pg(self, conn_pieces):
(user, password, database, host) = \
get_pgsql_connection_info(conn_pieces)
@@ -510,12 +501,12 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
'bw_out': 0,
}]
- bw_usage_cache = get_table(engine, 'bw_usage_cache')
+ bw_usage_cache = db_utils.get_table(engine, 'bw_usage_cache')
engine.execute(bw_usage_cache.insert(), data)
return data
def _check_134(self, engine, data):
- bw_usage_cache = get_table(engine, 'bw_usage_cache')
+ bw_usage_cache = db_utils.get_table(engine, 'bw_usage_cache')
# Checks if both columns have been successfuly created.
self.assertIn('last_ctr_in', bw_usage_cache.c)
@@ -539,14 +530,14 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
data = {
'instance_uuid': str(uuid.uuid4())
}
- migrations = get_table(engine, 'migrations')
+ migrations = db_utils.get_table(engine, 'migrations')
engine.execute(migrations.insert(), data)
result = migrations.insert().values(data).execute()
data['id'] = result.inserted_primary_key[0]
return data
def _check_141(self, engine, data):
- migrations = get_table(engine, 'migrations')
+ migrations = db_utils.get_table(engine, 'migrations')
row = migrations.select(
migrations.c.id == data['id']).execute().first()
# Check that change to String(36) went alright
@@ -559,7 +550,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
'name': 'name',
}
- aggregates = get_table(engine, 'aggregates')
+ aggregates = db_utils.get_table(engine, 'aggregates')
result = aggregates.insert().values(data).execute()
# NOTE(sdague) it's important you don't insert keys by value in
# postgresql, because its autoincrement counter won't get updated
@@ -567,14 +558,14 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_146(self, engine, data):
- aggregate_md = get_table(engine, 'aggregate_metadata')
+ aggregate_md = db_utils.get_table(engine, 'aggregate_metadata')
md = aggregate_md.select(
aggregate_md.c.aggregate_id == data['id']).execute().first()
self.assertEqual(data['availability_zone'], md['value'])
def _post_downgrade_146(self, engine):
# Downgrade should delete availability_zone aggregate_metadata entries
- aggregate_md = get_table(engine, 'aggregate_metadata')
+ aggregate_md = db_utils.get_table(engine, 'aggregate_metadata')
num_azs = aggregate_md.count().where(
aggregate_md.c.key == 'availability_zone').execute().scalar()
self.assertEqual(0, num_azs)
@@ -597,29 +588,30 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
'report_count': 0, 'availability_zone': az},
]
- services = get_table(engine, 'services')
+ services = db_utils.get_table(engine, 'services')
engine.execute(services.insert(), data)
self._pre_upgrade_147_no_duplicate_aggregate_hosts(engine)
return data
def _pre_upgrade_147_no_duplicate_aggregate_hosts(self, engine):
- engine.execute(get_table(engine, 'aggregate_metadata').insert(), [
- {'aggregate_id': 1,
- 'key': 'availability_zone',
- 'value': 'custom_az'}])
+ engine.execute(
+ db_utils.get_table(engine, 'aggregate_metadata').insert(),
+ [{'aggregate_id': 1,
+ 'key': 'availability_zone',
+ 'value': 'custom_az'}])
- engine.execute(get_table(engine, 'aggregate_hosts').insert(), [
- {'aggregate_id': 1,
- 'host': 'compute-host3'}])
+ engine.execute(db_utils.get_table(engine, 'aggregate_hosts').insert(),
+ [{'aggregate_id': 1,
+ 'host': 'compute-host3'}])
- engine.execute(get_table(engine, 'services').insert(), [
- {'id': 99, 'host': 'compute-host3',
- 'binary': 'nova-compute', 'topic': 'compute',
- 'report_count': 0, 'availability_zone': 'custom_az'}])
+ engine.execute(db_utils.get_table(engine, 'services').insert(),
+ [{'id': 99, 'host': 'compute-host3',
+ 'binary': 'nova-compute', 'topic': 'compute',
+ 'report_count': 0, 'availability_zone': 'custom_az'}])
def _check_147(self, engine, data):
- aggregate_md = get_table(engine, 'aggregate_metadata')
- aggregate_hosts = get_table(engine, 'aggregate_hosts')
+ aggregate_md = db_utils.get_table(engine, 'aggregate_metadata')
+ aggregate_hosts = db_utils.get_table(engine, 'aggregate_hosts')
# NOTE(sdague): hard coded to id == 2, because we added to
# aggregate_metadata previously
for item in data:
@@ -642,7 +634,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self._check_147_no_duplicate_aggregate_hosts(engine, data)
def _check_147_no_duplicate_aggregate_hosts(self, engine, data):
- aggregate_hosts = get_table(engine, 'aggregate_hosts')
+ aggregate_hosts = db_utils.get_table(engine, 'aggregate_hosts')
agg1_hosts = [h['host'] for h in aggregate_hosts.select(
aggregate_hosts.c.aggregate_id == 1
).execute().fetchall()]
@@ -650,8 +642,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# migration 149, changes IPAddr storage format
def _pre_upgrade_149(self, engine):
- provider_fw_rules = get_table(engine, 'provider_fw_rules')
- console_pools = get_table(engine, 'console_pools')
+ provider_fw_rules = db_utils.get_table(engine, 'provider_fw_rules')
+ console_pools = db_utils.get_table(engine, 'console_pools')
data = {
'provider_fw_rules':
[
@@ -688,7 +680,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_149(self, engine, data):
- provider_fw_rules = get_table(engine, 'provider_fw_rules')
+ provider_fw_rules = db_utils.get_table(engine, 'provider_fw_rules')
result = provider_fw_rules.select().execute()
iplist = map(lambda x: str(netaddr.IPNetwork(x['cidr'])),
@@ -697,7 +689,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
for row in result:
self.assertIn(str(netaddr.IPNetwork(row['cidr'])), iplist)
- console_pools = get_table(engine, 'console_pools')
+ console_pools = db_utils.get_table(engine, 'console_pools')
result = console_pools.select().execute()
iplist = map(lambda x: str(netaddr.IPAddress(x['address'])),
@@ -708,7 +700,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# migration 151 - changes period_beginning and period_ending to DateTime
def _pre_upgrade_151(self, engine):
- task_log = get_table(engine, 'task_log')
+ task_log = db_utils.get_table(engine, 'task_log')
data = {
'task_name': 'The name of the task',
'state': 'The state of the task',
@@ -722,7 +714,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_151(self, engine, data):
- task_log = get_table(engine, 'task_log')
+ task_log = db_utils.get_table(engine, 'task_log')
row = task_log.select(task_log.c.id == data['id']).execute().first()
self.assertTrue(isinstance(row['period_beginning'],
datetime.datetime))
@@ -749,21 +741,21 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
{'id': 'second', 'host': host2, 'deleted': True}
]
- services = get_table(engine, 'services')
+ services = db_utils.get_table(engine, 'services')
engine.execute(services.insert(), services_data)
- volumes = get_table(engine, 'volumes')
+ volumes = db_utils.get_table(engine, 'volumes')
engine.execute(volumes.insert(), volumes_data)
return dict(services=services_data, volumes=volumes_data)
def _check_152(self, engine, data):
- services = get_table(engine, 'services')
+ services = db_utils.get_table(engine, 'services')
service = services.select(services.c.id == 4).execute().first()
self.assertEqual(0, service.deleted)
service = services.select(services.c.id == 5).execute().first()
self.assertEqual(service.id, service.deleted)
- volumes = get_table(engine, 'volumes')
+ volumes = db_utils.get_table(engine, 'volumes')
volume = volumes.select(volumes.c.id == "first").execute().first()
self.assertEqual("", volume.deleted)
volume = volumes.select(volumes.c.id == "second").execute().first()
@@ -802,8 +794,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# NOTE(danms): no use of type5
]
- instances = get_table(engine, 'instances')
- instance_types = get_table(engine, 'instance_types')
+ instances = db_utils.get_table(engine, 'instances')
+ instance_types = db_utils.get_table(engine, 'instance_types')
engine.execute(instance_types.insert(), fake_types)
engine.execute(instances.insert(), fake_instances)
@@ -812,9 +804,9 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
def _check_153(self, engine, data):
fake_types, fake_instances = data
# NOTE(danms): Fetch all the tables and data from scratch after change
- instances = get_table(engine, 'instances')
- instance_types = get_table(engine, 'instance_types')
- sys_meta = get_table(engine, 'instance_system_metadata')
+ instances = db_utils.get_table(engine, 'instances')
+ instance_types = db_utils.get_table(engine, 'instance_types')
+ sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
# Collect all system metadata, indexed by instance_uuid
metadata = collections.defaultdict(dict)
@@ -864,8 +856,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
base_name = table_name
shadow_name = db._SHADOW_TABLE_PREFIX + table_name
self.assertIn(shadow_name, table_names)
- shadow_table = get_table(engine, shadow_name)
- base_table = get_table(engine, base_name)
+ shadow_table = db_utils.get_table(engine, shadow_name)
+ base_table = db_utils.get_table(engine, base_name)
base_columns = []
shadow_columns = []
for column in base_table.columns:
@@ -923,7 +915,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self._check_149(engine, data)
def _pre_upgrade_158(self, engine):
- networks = get_table(engine, 'networks')
+ networks = db_utils.get_table(engine, 'networks')
data = [
{'vlan': 1, 'deleted': 0},
{'vlan': 1, 'deleted': 0},
@@ -935,7 +927,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_158(self, engine, data):
- networks = get_table(engine, 'networks')
+ networks = db_utils.get_table(engine, 'networks')
rows = networks.select().\
where(networks.c.deleted != networks.c.id).\
execute().\
@@ -978,7 +970,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# NOTE(maurosr): check if column length is 39 again (it currently makes
# sense only for mysql)
if dialect not in [postgresql.dialect, sqlite.dialect]:
- console_pools = get_table(engine, 'console_pools')
+ console_pools = db_utils.get_table(engine, 'console_pools')
self.assertEqual(console_pools.columns['address'].type.length, 39)
# recheck the 149 data
self._check_149(engine, data)
@@ -988,7 +980,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# NOTE(maurosr): check if column length is 43 again (it currently makes
# sense only for mysql)
if dialect not in [postgresql.dialect, sqlite.dialect]:
- console_pools = get_table(engine, 'console_pools')
+ console_pools = db_utils.get_table(engine, 'console_pools')
self.assertEqual(console_pools.columns['address'].type.length, 43)
# migration 160, fix system_metadata NULL deleted entries to be 0
@@ -1003,8 +995,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
dict(instance_uuid='m160-uuid2', key='foo2', value='bar2'),
dict(instance_uuid='m160-uuid3', key='foo3', value='bar3')]
- instances = get_table(engine, 'instances')
- sys_meta = get_table(engine, 'instance_system_metadata')
+ instances = db_utils.get_table(engine, 'instances')
+ sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
engine.execute(instances.insert(), fake_instances)
# Create the metadata entries
@@ -1026,7 +1018,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
def _check_160(self, engine, data):
our_ids = data.keys()
- sys_meta = get_table(engine, 'instance_system_metadata')
+ sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
results = sys_meta.select().where(sys_meta.c.id.in_(our_ids)).\
execute()
results = list(results)
@@ -1057,8 +1049,8 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
dict(sm_base, key='instance_type_baz', created_at=now),
]
- instances = get_table(engine, 'instances')
- sys_meta = get_table(engine, 'instance_system_metadata')
+ instances = db_utils.get_table(engine, 'instances')
+ sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
engine.execute(instances.insert(), fake_instances)
data = {}
@@ -1071,7 +1063,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
def _check_161(self, engine, data):
our_ids = data.keys()
- sys_meta = get_table(engine, 'instance_system_metadata')
+ sys_meta = db_utils.get_table(engine, 'instance_system_metadata')
results = sys_meta.select().where(sys_meta.c.id.in_(our_ids)).\
execute()
results = list(results)
@@ -1108,7 +1100,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertEqual(result['created_at'], None)
def _pre_upgrade_172(self, engine):
- instance_types = get_table(engine, 'instance_types')
+ instance_types = db_utils.get_table(engine, 'instance_types')
data = [
dict(id=21, name='uc_name0', memory_mb=128, vcpus=1,
root_gb=10, ephemeral_gb=0, flavorid="uc_flavor1", swap=0,
@@ -1131,7 +1123,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_172(self, engine, data):
- instance_types = get_table(engine, 'instance_types')
+ instance_types = db_utils.get_table(engine, 'instance_types')
not_deleted = instance_types.c.deleted != instance_types.c.id
@@ -1165,12 +1157,12 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
created_at=created_at[2],
deleted=0)
]
- keypairs = get_table(engine, 'key_pairs')
+ keypairs = db_utils.get_table(engine, 'key_pairs')
engine.execute(keypairs.insert(), fake_keypairs)
return fake_keypairs
def _check_173(self, engine, data):
- keypairs = get_table(engine, 'key_pairs')
+ keypairs = db_utils.get_table(engine, 'key_pairs')
# Unique constraints are not listed in table.constraints for any db.
# So, simply add a duplicate keypair to check if unique constraint
# is applied to the key_pairs table or not.
@@ -1192,8 +1184,9 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertEqual(len(rows), 2)
def _pre_upgrade_174(self, engine):
- instance_types = get_table(engine, 'instance_types')
- instance_type_projects = get_table(engine, 'instance_type_projects')
+ instance_types = db_utils.get_table(engine, 'instance_types')
+ instance_type_projects = db_utils.get_table(engine,
+ 'instance_type_projects')
instance_type_data = [
dict(id=31, name='itp_name0', memory_mb=128, vcpus=1,
@@ -1212,7 +1205,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
instance_type_projects_data)
def _check_174(self, engine, data):
- it_projects = get_table(engine, 'instance_type_projects')
+ it_projects = db_utils.get_table(engine, 'instance_type_projects')
def get_(project_id, it_id, deleted):
deleted_value = 0 if not deleted else it_projects.c.id
@@ -1233,7 +1226,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
# migration 175, Modify volume_usage-cache, Drop column instance_id, add
# columns instance_uuid, project_id and user_id
def _pre_upgrade_175(self, engine):
- volume_usage_cache = get_table(engine, 'volume_usage_cache')
+ volume_usage_cache = db_utils.get_table(engine, 'volume_usage_cache')
fake_usage = {'volume_id': 'fake_volume_id',
'instance_id': 10,
'tot_last_refreshed': datetime.datetime.now(),
@@ -1249,7 +1242,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
volume_usage_cache.insert().execute(fake_usage)
def _check_175(self, engine, data):
- volume_usage_cache = get_table(engine, 'volume_usage_cache')
+ volume_usage_cache = db_utils.get_table(engine, 'volume_usage_cache')
# Get the record
rows = volume_usage_cache.select().execute().fetchall()
self.assertEqual(len(rows), 1)
@@ -1260,7 +1253,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertFalse('instance_id' in rows[0])
def _post_downgrade_175(self, engine):
- volume_usage_cache = get_table(engine, 'volume_usage_cache')
+ volume_usage_cache = db_utils.get_table(engine, 'volume_usage_cache')
# Get the record
rows = volume_usage_cache.select().execute().fetchall()
self.assertEqual(len(rows), 1)
@@ -1271,7 +1264,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertEqual(rows[0]['instance_id'], None)
def _check_176(self, engine, data):
- volume_usage_cache = get_table(engine, 'volume_usage_cache')
+ volume_usage_cache = db_utils.get_table(engine, 'volume_usage_cache')
# Get the record
rows = volume_usage_cache.select().execute().fetchall()
self.assertEqual(len(rows), 1)
@@ -1279,7 +1272,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertEqual(rows[0]['availability_zone'], None)
def _post_downgrade_176(self, engine):
- volume_usage_cache = get_table(engine, 'volume_usage_cache')
+ volume_usage_cache = db_utils.get_table(engine, 'volume_usage_cache')
# Get the record
rows = volume_usage_cache.select().execute().fetchall()
self.assertEqual(len(rows), 1)
@@ -1287,7 +1280,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertFalse('availability_zone' in rows[0])
def _pre_upgrade_177(self, engine):
- floating_ips = get_table(engine, 'floating_ips')
+ floating_ips = db_utils.get_table(engine, 'floating_ips')
data = [
{'address': '128.128.128.128', 'deleted': 0},
{'address': '128.128.128.128', 'deleted': 0},
@@ -1299,7 +1292,7 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
return data
def _check_177(self, engine, data):
- floating_ips = get_table(engine, 'floating_ips')
+ floating_ips = db_utils.get_table(engine, 'floating_ips')
def get_(address, deleted):
deleted_value = 0 if not deleted else floating_ips.c.id
@@ -1323,13 +1316,13 @@ class TestNovaMigrations(BaseMigrationTestCase, CommonTestsMixIn):
{'id': 5, 'deleted': False},
]
- cells = get_table(engine, 'cells')
+ cells = db_utils.get_table(engine, 'cells')
engine.execute(cells.insert(), cells_data)
return dict(cells=cells_data)
def _check_179(self, engine, data):
- cells = get_table(engine, 'cells')
+ cells = db_utils.get_table(engine, 'cells')
cell = cells.select(cells.c.id == 4).execute().first()
self.assertEqual(4, cell.deleted)
cell = cells.select(cells.c.id == 5).execute().first()
@@ -1372,27 +1365,27 @@ class TestBaremetalMigrations(BaseMigrationTestCase, CommonTestsMixIn):
def _pre_upgrade_002(self, engine):
data = [{'id': 1, 'key': 'fake-key', 'image_path': '/dev/null',
'pxe_config_path': '/dev/null/', 'root_mb': 0, 'swap_mb': 0}]
- table = get_table(engine, 'bm_deployments')
+ table = db_utils.get_table(engine, 'bm_deployments')
engine.execute(table.insert(), data)
return data
def _check_002(self, engine, data):
self.assertRaises(sqlalchemy.exc.NoSuchTableError,
- get_table, engine, 'bm_deployments')
+ db_utils.get_table, engine, 'bm_deployments')
def _post_downgrade_004(self, engine):
- bm_nodes = get_table(engine, 'bm_nodes')
+ bm_nodes = db_utils.get_table(engine, 'bm_nodes')
self.assertNotIn(u'instance_name', [c.name for c in bm_nodes.columns])
def _check_005(self, engine, data):
- bm_nodes = get_table(engine, 'bm_nodes')
+ bm_nodes = db_utils.get_table(engine, 'bm_nodes')
columns = [c.name for c in bm_nodes.columns]
self.assertNotIn(u'prov_vlan_id', columns)
self.assertNotIn(u'registration_status', columns)
def _pre_upgrade_006(self, engine):
- nodes = get_table(engine, 'bm_nodes')
- ifs = get_table(engine, 'bm_interfaces')
+ nodes = db_utils.get_table(engine, 'bm_nodes')
+ ifs = db_utils.get_table(engine, 'bm_interfaces')
# node 1 has two diffrent addresses in bm_nodes and bm_interfaces
engine.execute(nodes.insert(),
[{'id': 1,
@@ -1411,7 +1404,7 @@ class TestBaremetalMigrations(BaseMigrationTestCase, CommonTestsMixIn):
'address': 'cc:cc:cc:cc:cc:cc'}])
def _check_006(self, engine, data):
- ifs = get_table(engine, 'bm_interfaces')
+ ifs = db_utils.get_table(engine, 'bm_interfaces')
rows = ifs.select().\
where(ifs.c.bm_node_id == 1).\
execute().\
@@ -1425,7 +1418,7 @@ class TestBaremetalMigrations(BaseMigrationTestCase, CommonTestsMixIn):
self.assertEqual(rows[0]['address'], 'cc:cc:cc:cc:cc:cc')
def _post_downgrade_006(self, engine):
- ifs = get_table(engine, 'bm_interfaces')
+ ifs = db_utils.get_table(engine, 'bm_interfaces')
rows = ifs.select().where(ifs.c.bm_node_id == 1).execute().fetchall()
self.assertEqual(len(rows), 1)
self.assertEqual(rows[0]['address'], 'bb:bb:bb:bb:bb:bb')
diff --git a/nova/tests/test_virt_disk_vfs_localfs.py b/nova/tests/test_virt_disk_vfs_localfs.py
index 5bbac670e..b52817b18 100644
--- a/nova/tests/test_virt_disk_vfs_localfs.py
+++ b/nova/tests/test_virt_disk_vfs_localfs.py
@@ -14,13 +14,17 @@
# License for the specific language governing permissions and limitations
# under the License.
+from oslo.config import cfg
+
from nova import exception
+from nova.openstack.common import processutils
from nova import test
from nova.tests import utils as tests_utils
-from nova import utils
from nova.virt.disk.vfs import localfs as vfsimpl
+CONF = cfg.CONF
+
dirs = []
files = {}
commands = []
@@ -121,13 +125,13 @@ class VirtDiskVFSLocalFSTestPaths(test.TestCase):
def setUp(self):
super(VirtDiskVFSLocalFSTestPaths, self).setUp()
- real_execute = utils.execute
+ real_execute = processutils.execute
def nonroot_execute(*cmd_parts, **kwargs):
kwargs.pop('run_as_root', None)
return real_execute(*cmd_parts, **kwargs)
- self.stubs.Set(utils, 'execute', nonroot_execute)
+ self.stubs.Set(processutils, 'execute', nonroot_execute)
def test_check_safe_path(self):
if tests_utils.is_osx():
@@ -152,7 +156,7 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
global dirs, commands
dirs = []
commands = []
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -162,25 +166,30 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
self.assertEqual(dirs,
["/scratch/dir/some/dir", "/scratch/dir/other/dir"]),
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/dir'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('mkdir', '-p',
'/scratch/dir/some/dir'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/other/dir'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('mkdir', '-p',
'/scratch/dir/other/dir'),
- 'kwargs': {'run_as_root': True}}])
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}}])
def test_append_file(self):
global files, commands
files = {}
commands = []
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -190,20 +199,23 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
self.assertEquals(files["/scratch/dir/some/file"]["content"],
"Hello World Goodbye")
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('tee', '-a',
'/scratch/dir/some/file'),
'kwargs': {'process_input': ' Goodbye',
- 'run_as_root': True}}])
+ 'run_as_root': True,
+ 'root_helper': root_helper}}])
def test_replace_file(self):
global files, commands
files = {}
commands = []
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -213,36 +225,42 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
self.assertEquals(files["/scratch/dir/some/file"]["content"],
"Goodbye")
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('tee', '/scratch/dir/some/file'),
'kwargs': {'process_input': 'Goodbye',
- 'run_as_root': True}}])
+ 'run_as_root': True,
+ 'root_helper': root_helper}}])
def test_read_file(self):
global commands, files
files = {}
commands = []
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
self.assertEqual(vfs.read_file("/some/file"), "Hello World")
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('cat', '/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}}])
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}}])
def test_has_file(self):
global commands, files
files = {}
commands = []
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -251,31 +269,38 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
self.assertTrue(vfs.has_file("/some/file"))
self.assertFalse(vfs.has_file("/other/file"))
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('cat', '/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-e',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/other/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-e',
'/scratch/dir/other/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
])
def test_set_permissions(self):
global commands, files
commands = []
files = {}
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -284,24 +309,29 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
vfs.set_permissions("/some/file", 0777)
self.assertEquals(files["/scratch/dir/some/file"]["mode"], 0777)
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('cat', '/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('chmod', '777',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}}])
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}}])
def test_set_ownership(self):
global commands, files
commands = []
files = {}
- self.stubs.Set(utils, 'execute', fake_execute)
+ self.stubs.Set(processutils, 'execute', fake_execute)
vfs = vfsimpl.VFSLocalFS(imgfile="/dummy.qcow2", imgfmt="qcow2")
vfs.imgdir = "/scratch/dir"
@@ -322,27 +352,36 @@ class VirtDiskVFSLocalFSTest(test.TestCase):
self.assertEquals(files["/scratch/dir/some/file"]["uid"], 110)
self.assertEquals(files["/scratch/dir/some/file"]["gid"], 600)
+ root_helper = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
self.assertEqual(commands,
[{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('cat', '/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('chown', 'fred',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('chgrp', 'users',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('readlink', '-nm',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}},
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}},
{'args': ('chown', 'joe:admins',
'/scratch/dir/some/file'),
- 'kwargs': {'run_as_root': True}}])
+ 'kwargs': {'run_as_root': True,
+ 'root_helper': root_helper}}])
diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py
index 62e9b08f1..9a366d7bf 100644
--- a/nova/tests/test_xenapi.py
+++ b/nova/tests/test_xenapi.py
@@ -39,7 +39,7 @@ 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_network
-from nova.tests import fake_utils
+from nova.tests import fake_processutils
import nova.tests.image.fake as fake_image
from nova.tests import matchers
from nova.tests.xenapi import stubs
@@ -323,7 +323,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
stubs.stubout_get_this_vm_uuid(self.stubs)
stubs.stubout_is_vdi_pv(self.stubs)
stubs.stub_out_vm_methods(self.stubs)
- fake_utils.stub_out_utils_execute(self.stubs)
+ fake_processutils.stub_out_processutils_execute(self.stubs)
self.user_id = 'fake'
self.project_id = 'fake'
self.context = context.RequestContext(self.user_id, self.project_id)
@@ -872,7 +872,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
def _readlink_handler(cmd_parts, **kwargs):
return os.path.realpath(cmd_parts[2]), ''
- fake_utils.fake_execute_set_repliers([
+ fake_processutils.fake_execute_set_repliers([
# Capture the tee .../etc/network/interfaces command
(r'tee.*interfaces', _tee_handler),
(r'readlink -nm.*', _readlink_handler),
@@ -917,7 +917,7 @@ class XenAPIVMTestCase(stubs.XenAPITestBase):
self._tee_executed = True
return '', ''
- fake_utils.fake_execute_set_repliers([
+ fake_processutils.fake_execute_set_repliers([
(r'mount', _mount_handler),
(r'umount', _umount_handler),
(r'tee.*interfaces', _tee_handler)])
@@ -1319,7 +1319,7 @@ class XenAPIMigrateInstance(stubs.XenAPITestBase):
self.migration = db.migration_create(
context.get_admin_context(), migration_values)
- fake_utils.stub_out_utils_execute(self.stubs)
+ fake_processutils.stub_out_processutils_execute(self.stubs)
stubs.stub_out_migration_methods(self.stubs)
stubs.stubout_get_this_vm_uuid(self.stubs)
diff --git a/nova/utils.py b/nova/utils.py
index 25158322d..3020781c8 100644
--- a/nova/utils.py
+++ b/nova/utils.py
@@ -44,6 +44,7 @@ from oslo.config import cfg
from nova import exception
from nova.openstack.common import excutils
from nova.openstack.common import importutils
+from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
from nova.openstack.common.rpc import common as rpc_common
@@ -97,6 +98,8 @@ BYTE_MULTIPLIERS = {
'k': 1024,
}
+synchronized = lockutils.synchronized_with_prefix('nova-')
+
def vpn_ping(address, port, timeout=0.05, session_id=None):
"""Sends a vpn negotiation packet and returns the server session.
@@ -155,71 +158,10 @@ def execute(*cmd, **kwargs):
def trycmd(*args, **kwargs):
- """
- A wrapper around execute() to more easily handle warnings and errors.
-
- Returns an (out, err) tuple of strings containing the output of
- the command's stdout and stderr. If 'err' is not empty then the
- command can be considered to have failed.
-
- :discard_warnings True | False. Defaults to False. If set to True,
- then for succeeding commands, stderr is cleared
-
- """
- discard_warnings = kwargs.pop('discard_warnings', False)
-
- try:
- out, err = execute(*args, **kwargs)
- failed = False
- except processutils.ProcessExecutionError, exn:
- out, err = '', str(exn)
- failed = True
-
- if not failed and discard_warnings and err:
- # Handle commands that output to stderr but otherwise succeed
- err = ''
-
- return out, err
-
-
-def ssh_execute(ssh, cmd, process_input=None,
- addl_env=None, check_exit_code=True):
- LOG.debug(_('Running cmd (SSH): %s'), cmd)
- if addl_env:
- raise exception.NovaException(_('Environment not supported over SSH'))
-
- if process_input:
- # This is (probably) fixable if we need it...
- msg = _('process_input not supported over SSH')
- raise exception.NovaException(msg)
-
- stdin_stream, stdout_stream, stderr_stream = ssh.exec_command(cmd)
- channel = stdout_stream.channel
-
- #stdin.write('process_input would go here')
- #stdin.flush()
-
- # NOTE(justinsb): This seems suspicious...
- # ...other SSH clients have buffering issues with this approach
- stdout = stdout_stream.read()
- stderr = stderr_stream.read()
- stdin_stream.close()
-
- exit_status = channel.recv_exit_status()
-
- # exit_status == -1 if no exit code was returned
- if exit_status != -1:
- LOG.debug(_('Result was %s') % exit_status)
- if check_exit_code and exit_status != 0:
- # TODO(mikal): I know this is a bit odd, but its needed for
- # consistency. I will move this method into processutils in a
- # later change.
- raise processutils.ProcessExecutionError(exit_code=exit_status,
- stdout=stdout,
- stderr=stderr,
- cmd=cmd)
-
- return (stdout, stderr)
+ """Convenience wrapper around oslo's trycmd() method."""
+ if 'run_as_root' in kwargs and not 'root_helper' in kwargs:
+ kwargs['root_helper'] = 'sudo nova-rootwrap %s' % CONF.rootwrap_config
+ return processutils.trycmd(*args, **kwargs)
def novadir():
diff --git a/nova/virt/baremetal/virtual_power_driver.py b/nova/virt/baremetal/virtual_power_driver.py
index 22dd815d0..e110bf436 100644
--- a/nova/virt/baremetal/virtual_power_driver.py
+++ b/nova/virt/baremetal/virtual_power_driver.py
@@ -24,7 +24,6 @@ from nova import exception
from nova.openstack.common import importutils
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
-from nova import utils
from nova.virt.baremetal import baremetal_states
from nova.virt.baremetal import base
from nova.virt.baremetal import db
@@ -230,8 +229,8 @@ class VirtualPowerManager(base.PowerManager):
cmd = '%s %s' % (self._vp_cmd.base_cmd, cmd)
try:
- stdout, stderr = utils.ssh_execute(self._connection, cmd,
- check_exit_code=check_exit_code)
+ stdout, stderr = processutils.ssh_execute(
+ self._connection, cmd, check_exit_code=check_exit_code)
result = stdout.strip().splitlines()
LOG.debug('Result for run_command: %s' % result)
except processutils.ProcessExecutionError:
diff --git a/nova/virt/driver.py b/nova/virt/driver.py
index e2f9588a4..d0a670a3e 100755
--- a/nova/virt/driver.py
+++ b/nova/virt/driver.py
@@ -958,8 +958,8 @@ def load_compute_driver(virtapi, compute_driver=None):
compute_driver,
virtapi)
return utils.check_isinstance(driver, ComputeDriver)
- except ImportError as e:
- LOG.error(_("Unable to load the virtualization driver: %s") % (e))
+ except ImportError:
+ LOG.exception(_("Unable to load the virtualization driver"))
sys.exit(1)
diff --git a/nova/virt/fake.py b/nova/virt/fake.py
index 18774245f..c38dc9ed6 100755
--- a/nova/virt/fake.py
+++ b/nova/virt/fake.py
@@ -41,7 +41,7 @@ CONF.import_opt('host', 'nova.netconf')
LOG = logging.getLogger(__name__)
-_FAKE_NODES = [CONF.host]
+_FAKE_NODES = None
def set_nodes(nodes):
@@ -107,6 +107,8 @@ class FakeDriver(driver.ComputeDriver):
}
self._mounts = {}
self._interfaces = {}
+ if not _FAKE_NODES:
+ set_nodes([CONF.host])
def init_host(self, host):
return
diff --git a/nova/virt/firewall.py b/nova/virt/firewall.py
index b61b57cfb..cf290dd10 100644
--- a/nova/virt/firewall.py
+++ b/nova/virt/firewall.py
@@ -24,8 +24,8 @@ from nova import context
from nova import network
from nova.network import linux_net
from nova.openstack.common import importutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
+from nova import utils
from nova.virt import netutils
LOG = logging.getLogger(__name__)
@@ -453,7 +453,7 @@ class IptablesFirewallDriver(FirewallDriver):
self.do_refresh_instance_rules(instance)
self.iptables.apply()
- @lockutils.synchronized('iptables', 'nova-', external=True)
+ @utils.synchronized('iptables', external=True)
def _inner_do_refresh_rules(self, instance, ipv4_rules,
ipv6_rules):
self.remove_filters_for_instance(instance)
@@ -476,7 +476,7 @@ class IptablesFirewallDriver(FirewallDriver):
self._do_refresh_provider_fw_rules()
self.iptables.apply()
- @lockutils.synchronized('iptables', 'nova-', external=True)
+ @utils.synchronized('iptables', external=True)
def _do_refresh_provider_fw_rules(self):
"""Internal, synchronized version of refresh_provider_fw_rules."""
self._purge_provider_fw_rules()
diff --git a/nova/virt/hyperv/imagecache.py b/nova/virt/hyperv/imagecache.py
index 2e28dc9db..85588a769 100644
--- a/nova/virt/hyperv/imagecache.py
+++ b/nova/virt/hyperv/imagecache.py
@@ -19,15 +19,16 @@ Image caching and management.
"""
import os
+from oslo.config import cfg
+
from nova.compute import flavors
from nova.openstack.common import excutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
+from nova import utils
from nova.virt.hyperv import pathutils
from nova.virt.hyperv import vhdutils
from nova.virt.hyperv import vmutils
from nova.virt import images
-from oslo.config import cfg
LOG = logging.getLogger(__name__)
@@ -76,7 +77,7 @@ class ImageCache(object):
root_vhd_size_gb,
path_parts[1])
- @lockutils.synchronized(resized_vhd_path, 'nova-')
+ @utils.synchronized(resized_vhd_path)
def copy_and_resize_vhd():
if not self._pathutils.exists(resized_vhd_path):
try:
@@ -101,7 +102,7 @@ class ImageCache(object):
base_vhd_dir = self._pathutils.get_base_vhd_dir()
vhd_path = os.path.join(base_vhd_dir, image_id + ".vhd")
- @lockutils.synchronized(vhd_path, 'nova-')
+ @utils.synchronized(vhd_path)
def fetch_image_if_not_existing():
if not self._pathutils.exists(vhd_path):
try:
diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py
index 2ca71cc62..84686a82a 100755
--- a/nova/virt/libvirt/imagebackend.py
+++ b/nova/virt/libvirt/imagebackend.py
@@ -24,7 +24,6 @@ from oslo.config import cfg
from nova import exception
from nova.openstack.common import excutils
from nova.openstack.common import fileutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova import utils
from nova.virt.disk import api as disk
@@ -139,8 +138,7 @@ class Image(object):
:filename: Name of the file in the image directory
:size: Size of created image in bytes (optional)
"""
- @lockutils.synchronized(filename, 'nova-', external=True,
- lock_path=self.lock_path)
+ @utils.synchronized(filename, external=True, lock_path=self.lock_path)
def call_if_not_exists(target, *args, **kwargs):
if not os.path.exists(target):
fetch_func(target=target, *args, **kwargs)
@@ -204,8 +202,7 @@ class Raw(Image):
self.driver_format = data.file_format or 'raw'
def create_image(self, prepare_template, base, size, *args, **kwargs):
- @lockutils.synchronized(base, 'nova-', external=True,
- lock_path=self.lock_path)
+ @utils.synchronized(base, external=True, lock_path=self.lock_path)
def copy_raw_image(base, target, size):
libvirt_utils.copy_image(base, target)
if size:
@@ -244,8 +241,7 @@ class Qcow2(Image):
self.preallocate = CONF.preallocate_images != 'none'
def create_image(self, prepare_template, base, size, *args, **kwargs):
- @lockutils.synchronized(base, 'nova-', external=True,
- lock_path=self.lock_path)
+ @utils.synchronized(base, external=True, lock_path=self.lock_path)
def copy_qcow2_image(base, target, size):
# TODO(pbrady): Consider copying the cow image here
# with preallocation=metadata set for performance reasons.
@@ -317,8 +313,7 @@ class Lvm(Image):
return False
def create_image(self, prepare_template, base, size, *args, **kwargs):
- @lockutils.synchronized(base, 'nova-', external=True,
- lock_path=self.lock_path)
+ @utils.synchronized(base, external=True, lock_path=self.lock_path)
def create_lvm_image(base, size):
base_size = disk.get_disk_size(base)
resize = size > base_size
diff --git a/nova/virt/libvirt/imagecache.py b/nova/virt/libvirt/imagecache.py
index 8d1f71a96..0ef32a21d 100644
--- a/nova/virt/libvirt/imagecache.py
+++ b/nova/virt/libvirt/imagecache.py
@@ -34,7 +34,6 @@ from nova.compute import task_states
from nova.compute import vm_states
from nova.openstack.common import fileutils
from nova.openstack.common import jsonutils
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova import utils
from nova.virt.libvirt import utils as virtutils
@@ -174,8 +173,7 @@ def read_stored_info(target, field=None, timestamped=False):
lock_name = 'info-%s' % os.path.split(target)[-1]
lock_path = os.path.join(CONF.instances_path, 'locks')
- @lockutils.synchronized(lock_name, 'nova-', external=True,
- lock_path=lock_path)
+ @utils.synchronized(lock_name, external=True, lock_path=lock_path)
def read_file(info_file):
LOG.debug(_('Reading image info file: %s'), info_file)
with open(info_file, 'r') as f:
@@ -205,8 +203,7 @@ def write_stored_info(target, field=None, value=None):
lock_name = 'info-%s' % os.path.split(target)[-1]
lock_path = os.path.join(CONF.instances_path, 'locks')
- @lockutils.synchronized(lock_name, 'nova-', external=True,
- lock_path=lock_path)
+ @utils.synchronized(lock_name, external=True, lock_path=lock_path)
def write_file(info_file, field, value):
d = {}
@@ -399,8 +396,7 @@ class ImageCacheManager(object):
# Protect against other nova-computes performing checksums at the same
# time if we are using shared storage
- @lockutils.synchronized(lock_name, 'nova-', external=True,
- lock_path=self.lock_path)
+ @utils.synchronized(lock_name, external=True, lock_path=self.lock_path)
def inner_verify_checksum():
(stored_checksum, stored_timestamp) = read_stored_checksum(
base_file, timestamped=True)
diff --git a/nova/virt/libvirt/volume.py b/nova/virt/libvirt/volume.py
index 5f8d4bd72..eee25a52b 100644
--- a/nova/virt/libvirt/volume.py
+++ b/nova/virt/libvirt/volume.py
@@ -27,7 +27,6 @@ import urlparse
from oslo.config import cfg
from nova import exception
-from nova.openstack.common import lockutils
from nova.openstack.common import log as logging
from nova.openstack.common import loopingcall
from nova.openstack.common import processutils
@@ -192,7 +191,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
def _get_target_portals_from_iscsiadm_output(self, output):
return [line.split()[0] for line in output.splitlines()]
- @lockutils.synchronized('connect_volume', 'nova-')
+ @utils.synchronized('connect_volume')
def connect_volume(self, connection_info, disk_info):
"""Attach the volume to instance_name."""
conf = super(LibvirtISCSIVolumeDriver,
@@ -266,7 +265,7 @@ class LibvirtISCSIVolumeDriver(LibvirtBaseVolumeDriver):
conf.source_path = host_device
return conf
- @lockutils.synchronized('connect_volume', 'nova-')
+ @utils.synchronized('connect_volume')
def disconnect_volume(self, connection_info, disk_dev):
"""Detach the volume from instance_name."""
super(LibvirtISCSIVolumeDriver,
@@ -654,7 +653,7 @@ class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
return pci_num
- @lockutils.synchronized('connect_volume', 'nova-')
+ @utils.synchronized('connect_volume')
def connect_volume(self, connection_info, disk_info):
"""Attach the volume to instance_name."""
fc_properties = connection_info['data']
@@ -750,7 +749,7 @@ class LibvirtFibreChannelVolumeDriver(LibvirtBaseVolumeDriver):
conf.source_path = device_path
return conf
- @lockutils.synchronized('connect_volume', 'nova-')
+ @utils.synchronized('connect_volume')
def disconnect_volume(self, connection_info, mount_device):
"""Detach the volume from instance_name."""
super(LibvirtFibreChannelVolumeDriver,
diff --git a/nova/virt/powervm/blockdev.py b/nova/virt/powervm/blockdev.py
index 0c3528d5c..5b15c14bb 100644
--- a/nova/virt/powervm/blockdev.py
+++ b/nova/virt/powervm/blockdev.py
@@ -25,7 +25,7 @@ from nova.compute import task_states
from nova.image import glance
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
-from nova import utils
+from nova.openstack.common import processutils
from nova.virt import images
from nova.virt.powervm import command
from nova.virt.powervm import common
@@ -533,8 +533,8 @@ class PowerVMLocalVolumeAdapter(PowerVMDiskAdapter):
:param command: String with the command to run.
"""
self._set_connection()
- stdout, stderr = utils.ssh_execute(self._connection, cmd,
- check_exit_code=check_exit_code)
+ stdout, stderr = processutils.ssh_execute(
+ self._connection, cmd, check_exit_code=check_exit_code)
error_text = stderr.strip()
if error_text:
diff --git a/nova/virt/powervm/common.py b/nova/virt/powervm/common.py
index 0b1dc6a14..0fd2f84a4 100644
--- a/nova/virt/powervm/common.py
+++ b/nova/virt/powervm/common.py
@@ -23,7 +23,6 @@ import paramiko
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
-from nova import utils
from nova.virt.powervm import constants
from nova.virt.powervm import exception
@@ -113,7 +112,7 @@ def ssh_command_as_root(ssh_connection, cmd, check_exit_code=True):
stdin.flush()
exit_status = chan.recv_exit_status()
- # Lets handle the error just like nova.utils.ssh_execute does.
+ # Lets handle the error just like processutils.ssh_execute does.
if exit_status != -1:
LOG.debug(_('Result was %s') % exit_status)
if check_exit_code and exit_status != 0:
@@ -218,7 +217,7 @@ def vios_to_vios_auth(source, dest, conn_info):
dest_conn_obj = ssh_connect(dest_conn_info)
def run_command(conn_obj, cmd):
- stdout, stderr = utils.ssh_execute(conn_obj, cmd)
+ stdout, stderr = processutils.ssh_execute(conn_obj, cmd)
return stdout.strip().splitlines()
def build_keypair_on_source():
diff --git a/nova/virt/powervm/operator.py b/nova/virt/powervm/operator.py
index 2539f29b1..f78aeb475 100644
--- a/nova/virt/powervm/operator.py
+++ b/nova/virt/powervm/operator.py
@@ -25,7 +25,6 @@ from nova.compute import power_state
from nova.openstack.common import excutils
from nova.openstack.common import log as logging
from nova.openstack.common import processutils
-from nova import utils
from nova.virt.powervm import blockdev
from nova.virt.powervm import command
from nova.virt.powervm import common
@@ -666,8 +665,8 @@ class BaseOperator(object):
:param command: String with the command to run.
"""
self._set_connection()
- stdout, stderr = utils.ssh_execute(self._connection, cmd,
- check_exit_code=check_exit_code)
+ stdout, stderr = processutils.ssh_execute(
+ self._connection, cmd, check_exit_code=check_exit_code)
error_text = stderr.strip()
if error_text:
diff --git a/nova/virt/storage_users.py b/nova/virt/storage_users.py
index 6555609a4..8e56a1c6c 100644
--- a/nova/virt/storage_users.py
+++ b/nova/virt/storage_users.py
@@ -19,13 +19,13 @@ import json
import os
import time
-from nova.openstack.common import lockutils
+from nova import utils
TWENTY_FOUR_HOURS = 3600 * 24
-@lockutils.synchronized('storage-registry-lock', 'nova-', external=True)
+@utils.synchronized('storage-registry-lock', external=True)
def register_storage_use(storage_path, hostname):
"""Idenfity the id of this instance storage."""
@@ -45,7 +45,7 @@ def register_storage_use(storage_path, hostname):
f.write(json.dumps(d))
-@lockutils.synchronized('storage-registry-lock', 'nova-', external=True)
+@utils.synchronized('storage-registry-lock', external=True)
def get_storage_users(storage_path):
"""Get a list of all the users of this storage path."""
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
index 411d52a2f..95f01bba3 100644
--- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/utils.py
@@ -15,6 +15,7 @@
"""Various utilities used by XenServer plugins."""
import cPickle as pickle
+import errno
import logging
import os
import shlex
@@ -24,6 +25,7 @@ import tempfile
import XenAPIPlugin
+LOG = logging.getLogger(__name__)
CHUNK_SIZE = 8192
@@ -32,18 +34,18 @@ def delete_if_exists(path):
os.unlink(path)
except OSError, e:
if e.errno == errno.ENOENT:
- logging.warning("'%s' was already deleted, skipping delete" % path)
+ LOG.warning("'%s' was already deleted, skipping delete" % path)
else:
raise
def _link(src, dst):
- logging.info("Hard-linking file '%s' -> '%s'" % (src, dst))
+ LOG.info("Hard-linking file '%s' -> '%s'" % (src, dst))
os.link(src, dst)
def _rename(src, dst):
- logging.info("Renaming file '%s' -> '%s'" % (src, dst))
+ LOG.info("Renaming file '%s' -> '%s'" % (src, dst))
os.rename(src, dst)
@@ -54,14 +56,14 @@ def make_subprocess(cmdline, stdout=False, stderr=False, stdin=False,
# NOTE(dprince): shlex python 2.4 doesn't like unicode so we
# explicitly convert to ascii
cmdline = cmdline.encode('ascii')
- logging.info("Running cmd '%s'" % cmdline)
+ LOG.info("Running cmd '%s'" % cmdline)
kwargs = {}
kwargs['stdout'] = stdout and subprocess.PIPE or None
kwargs['stderr'] = stderr and subprocess.PIPE or None
kwargs['stdin'] = stdin and subprocess.PIPE or None
kwargs['universal_newlines'] = universal_newlines
args = shlex.split(cmdline)
- logging.info("Running args '%s'" % args)
+ LOG.info("Running args '%s'" % args)
proc = subprocess.Popen(args, **kwargs)
return proc
@@ -162,7 +164,7 @@ def _assert_vhd_not_hidden(path):
out, err = finish_subprocess(query_proc, query_cmd)
for line in out.splitlines():
- if line.startswith('hidden'):
+ if line.lower().startswith('hidden'):
value = line.split(':')[1].strip()
if value == "1":
raise Exception(
@@ -170,8 +172,13 @@ def _assert_vhd_not_hidden(path):
locals())
-def _validate_footer_timestamp(vdi_path):
+def _validate_vhd(vdi_path):
"""
+ This checks for several errors in the VHD structure.
+
+ Most notably, it checks that the timestamp in the footer is correct, but
+ may pick up other errors also.
+
This check ensures that the timestamps listed in the VHD footer aren't in
the future. This can occur during a migration if the clocks on the the two
Dom0's are out-of-sync. This would corrupt the SR if it were imported, so
@@ -183,13 +190,30 @@ def _validate_footer_timestamp(vdi_path):
check_proc, check_cmd, ok_exit_codes=[0, 22])
first_line = out.splitlines()[0].strip()
- if 'primary footer invalid' in first_line:
- raise Exception("VDI '%(vdi_path)s' has timestamp in the future,"
- " ensure source and destination host machines have"
- " time set correctly" % locals())
- elif check_proc.returncode != 0:
- raise Exception("Unexpected output '%(out)s' from vhd-util" %
- locals())
+ if 'invalid' in first_line:
+ if 'footer' in first_line:
+ part = 'footer'
+ elif 'header' in first_line:
+ part = 'header'
+ else:
+ part = 'setting'
+
+ details = first_line.split(':', 1)
+ if len(details) == 2:
+ details = details[1]
+ else:
+ details = first_line
+
+ extra = ''
+ if 'timestamp' in first_line:
+ extra = (" ensure source and destination host machines have "
+ "time set correctly")
+
+ LOG.info("VDI Error details: %s" % out)
+
+ raise Exception(
+ "VDI '%(vdi_path)s' has an invalid %(part)s: '%(details)s'"
+ "%(extra)s" % locals())
def _validate_vdi_chain(vdi_path):
@@ -219,7 +243,7 @@ def _validate_vdi_chain(vdi_path):
cur_path = vdi_path
while cur_path:
- _validate_footer_timestamp(cur_path)
+ _validate_vhd(cur_path)
cur_path = get_parent_path(cur_path)
diff --git a/run_tests.sh b/run_tests.sh
index 2ad627db3..258483ea2 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -141,7 +141,14 @@ function run_tests {
${wrapper} python setup.py egg_info
fi
echo "Running \`${wrapper} $TESTRTESTS\`"
- bash -c "${wrapper} $TESTRTESTS | ${wrapper} tools/colorizer.py"
+ if ${wrapper} which subunit-2to1 2>&1 > /dev/null
+ then
+ # subunit-2to1 is present, testr subunit stream should be in version 2
+ # format. Convert to version one before colorizing.
+ bash -c "${wrapper} $TESTRTESTS | ${wrapper} subunit-2to1 | ${wrapper} tools/colorizer.py"
+ else
+ bash -c "${wrapper} $TESTRTESTS | ${wrapper} tools/colorizer.py"
+ fi
RESULT=$?
set -e