From 92f076c981343e09c240533acf49a6fdd0384555 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 22 Mar 2011 16:39:04 -0700 Subject: Set XML namespace when returning XML --- nova/wsgi.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nova/wsgi.py b/nova/wsgi.py index ba0819466..f0a60582d 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -478,6 +478,9 @@ class Serializer(object): root_key = data.keys()[0] doc = minidom.Document() node = self._to_xml_node(doc, metadata, root_key, data[root_key]) + node.setAttribute('xmlns', + 'http://docs.rackspacecloud.com/servers/api/v1.0') + return node.toprettyxml(indent=' ') def _to_xml_node(self, doc, metadata, nodename, data): -- cgit From 5c31b423ba5b5347aac62559c4e5c0a02f264213 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 22 Mar 2011 16:59:03 -0700 Subject: Support setting the xmlns intelligently --- nova/wsgi.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/nova/wsgi.py b/nova/wsgi.py index f0a60582d..5d286bb3b 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -355,7 +355,8 @@ class Controller(object): if type(result) is dict: content_type = req.best_match_content_type() - body = self._serialize(result, content_type) + default_xmlns = self.get_default_xmlns(req) + body = self._serialize(result, content_type, default_xmlns) response = webob.Response() response.headers["Content-Type"] = content_type @@ -365,14 +366,15 @@ class Controller(object): else: return result - def _serialize(self, data, content_type): + def _serialize(self, data, content_type, default_xmlns): """ Serialize the given dict to the provided content_type. Uses self._serialization_metadata if it exists, which is a dict mapping MIME types to information needed to serialize to that type. """ _metadata = getattr(type(self), "_serialization_metadata", {}) - serializer = Serializer(_metadata) + + serializer = Serializer(_metadata, default_xmlns) try: return serializer.serialize(data, content_type) except exception.InvalidContentType: @@ -388,19 +390,23 @@ class Controller(object): serializer = Serializer(_metadata) return serializer.deserialize(data, content_type) + def get_default_xmlns(self, req): + return 'http://docs.rackspacecloud.com/servers/api/v1.0' + class Serializer(object): """ Serializes and deserializes dictionaries to certain MIME types. """ - def __init__(self, metadata=None): + def __init__(self, metadata=None, default_xmlns=None): """ Create a serializer based on the given WSGI environment. 'metadata' is an optional dict mapping MIME types to information needed to serialize a dictionary to that type. """ self.metadata = metadata or {} + self.default_xmlns = default_xmlns def _get_serialize_handler(self, content_type): handlers = { @@ -478,14 +484,23 @@ class Serializer(object): root_key = data.keys()[0] doc = minidom.Document() node = self._to_xml_node(doc, metadata, root_key, data[root_key]) - node.setAttribute('xmlns', - 'http://docs.rackspacecloud.com/servers/api/v1.0') + + xmlns = node.getAttribute('xmlns') + if not xmlns and self.default_xmlns: + node.setAttribute('xmlns', self.default_xmlns) return node.toprettyxml(indent=' ') def _to_xml_node(self, doc, metadata, nodename, data): """Recursive method to convert data members to XML nodes.""" result = doc.createElement(nodename) + + # Set the xml namespace if one is specified + # TODO(justinsb): We could also use prefixes on the keys + xmlns = metadata.get('xmlns', None) + if xmlns: + result.setAttribute('xmlns', xmlns) + if type(data) is list: singular = metadata.get('plurals', {}).get(nodename, None) if singular is None: -- cgit From 45d28dfb035b4e219845d44e00073d70211e8175 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 22 Mar 2011 21:14:26 -0700 Subject: Fixed up unit tests and direct api that was also calling _serialize (naughty!) --- nova/api/direct.py | 4 +++- nova/tests/api/openstack/test_limits.py | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/nova/api/direct.py b/nova/api/direct.py index dfca250e0..153871e9f 100644 --- a/nova/api/direct.py +++ b/nova/api/direct.py @@ -206,7 +206,9 @@ class ServiceWrapper(wsgi.Controller): params = dict([(str(k), v) for (k, v) in params.iteritems()]) result = method(context, **params) if type(result) is dict or type(result) is list: - return self._serialize(result, req.best_match_content_type()) + content_type = req.best_match_content_type() + default_xmlns = self.get_default_xmlns(req) + return self._serialize(result, content_type, default_xmlns) else: return result diff --git a/nova/tests/api/openstack/test_limits.py b/nova/tests/api/openstack/test_limits.py index 05cfacc60..df367005d 100644 --- a/nova/tests/api/openstack/test_limits.py +++ b/nova/tests/api/openstack/test_limits.py @@ -136,10 +136,17 @@ class LimitsControllerTest(BaseLimitTestSuite): request = self._get_index_request("application/xml") response = request.get_response(self.controller) - expected = "" - body = response.body.replace("\n", "").replace(" ", "") + expected = parseString(""" + + + + + """.replace(" ", "")) - self.assertEqual(expected, body) + body = parseString(response.body.replace(" ", "")) + + self.assertEqual(expected.toxml(), body.toxml()) def test_index_xml(self): """Test getting limit details in XML.""" @@ -148,7 +155,8 @@ class LimitsControllerTest(BaseLimitTestSuite): response = request.get_response(self.controller) expected = parseString(""" - + -- cgit From 9686b3a296c53486a64a949ae2f7430e25df2dcb Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 22 Mar 2011 21:18:31 -0700 Subject: Added note agreeing with Brian Lamar that the namespace doesn't belong in wsgi --- nova/wsgi.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nova/wsgi.py b/nova/wsgi.py index 5d286bb3b..1bcc08f7f 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -391,6 +391,10 @@ class Controller(object): return serializer.deserialize(data, content_type) def get_default_xmlns(self, req): + # NOTE(justinsb): This doesn't really belong here.. + # We'll probably end up moving this into a new OpenstackApiController + # class or something like that, once we know what's going to happen + # with v1.1 return 'http://docs.rackspacecloud.com/servers/api/v1.0' -- cgit From 5e6c69bc7a7e5ddaa1bf0fa83f64da116343dba8 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 29 Mar 2011 16:35:39 -0700 Subject: Narrowly focused bugfix - don't lose libvirt instances on host reboot or if they crash --- nova/compute/manager.py | 14 ++++++----- nova/virt/libvirt_conn.py | 59 +++++++++++++++++++++++++++++++++++++---------- 2 files changed, 55 insertions(+), 18 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index e0a5e2b3f..72f04ecb1 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1088,12 +1088,14 @@ class ComputeManager(manager.SchedulerDependentManager): db_instance['id'], vm_state) - if vm_state == power_state.SHUTOFF: - # TODO(soren): This is what the compute manager does when you - # terminate an instance. At some point I figure we'll have a - # "terminated" state and some sort of cleanup job that runs - # occasionally, cleaning them out. - self.db.instance_destroy(context, db_instance['id']) + # NOTE(justinsb): We no longer auto-remove SHUTOFF instances + # It's quite hard to get them back when we do. + #if vm_state == power_state.SHUTOFF: + # # TODO(soren): This is what the compute manager does when you + # # terminate an instance. At some point I figure we'll have a + # # "terminated" state and some sort of cleanup job that runs + # # occasionally, cleaning them out. + # self.db.instance_destroy(context, db_instance['id']) # Are there VMs not in the DB? for vm_not_found_in_db in vms_not_found_in_db: diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index c144e827e..533ff9394 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -116,6 +116,8 @@ flags.DEFINE_integer('live_migration_bandwidth', 0, 'Define live migration behavior') flags.DEFINE_string('qemu_img', 'qemu-img', 'binary to use for qemu-img commands') +flags.DEFINE_bool('start_guests_on_host_boot', False, + 'Whether to restart guests when the host reboots') def get_connection(read_only): @@ -230,12 +232,14 @@ class LibvirtConnection(driver.ComputeDriver): {'name': instance['name'], 'state': state}) db.instance_set_state(ctxt, instance['id'], state) - if state == power_state.SHUTOFF: - # TODO(soren): This is what the compute manager does when you - # terminate # an instance. At some point I figure we'll have a - # "terminated" state and some sort of cleanup job that runs - # occasionally, cleaning them out. - db.instance_destroy(ctxt, instance['id']) + # NOTE(justinsb): We no longer delete these instances, + # the user may want to power them back on + #if state == power_state.SHUTOFF: + # # TODO(soren): This is what the compute manager does when you + # # terminate # an instance. At some point I figure we'll have a + # # "terminated" state and some sort of cleanup job that runs + # # occasionally, cleaning them out. + # db.instance_destroy(ctxt, instance['id']) if state != power_state.RUNNING: continue @@ -474,7 +478,7 @@ class LibvirtConnection(driver.ComputeDriver): xml = self.to_xml(instance) self.firewall_driver.setup_basic_filtering(instance) self.firewall_driver.prepare_instance_filter(instance) - self._conn.createXML(xml, 0) + self._create_new_domain(xml) self.firewall_driver.apply_instance_filter(instance) timer = utils.LoopingCall(f=None) @@ -522,7 +526,7 @@ class LibvirtConnection(driver.ComputeDriver): 'kernel_id': FLAGS.rescue_kernel_id, 'ramdisk_id': FLAGS.rescue_ramdisk_id} self._create_image(instance, xml, '.rescue', rescue_images) - self._conn.createXML(xml, 0) + self._create_new_domain(xml) timer = utils.LoopingCall(f=None) @@ -565,10 +569,15 @@ class LibvirtConnection(driver.ComputeDriver): self.firewall_driver.setup_basic_filtering(instance, network_info) self.firewall_driver.prepare_instance_filter(instance, network_info) self._create_image(instance, xml, network_info) - self._conn.createXML(xml, 0) + domain = self._create_new_domain(xml) LOG.debug(_("instance %s: is running"), instance['name']) self.firewall_driver.apply_instance_filter(instance) + if FLAGS.start_guests_on_host_boot: + LOG.debug(_("instance %s: setting autostart ON") % + instance['name']) + domain.setAutostart(1) + timer = utils.LoopingCall(f=None) def _wait_for_boot(): @@ -964,11 +973,19 @@ class LibvirtConnection(driver.ComputeDriver): return xml def get_info(self, instance_name): + # NOTE(justinsb): When libvirt isn't running / can't connect, we get: + # libvir: Remote error : unable to connect to + # '/var/run/libvirt/libvirt-sock', libvirtd may need to be started: + # No such file or directory try: virt_dom = self._conn.lookupByName(instance_name) - except: - raise exception.NotFound(_("Instance %s not found") - % instance_name) + except libvirt.libvirtError as e: + if e.get_error_code() == libvirt.VIR_ERR_UNKNOWN_HOST: + raise exception.NotFound(_("Instance %s not found") + % instance_name) + LOG.warning(_("Error from libvirt during lookup: %s") % e) + raise + (state, max_mem, mem, num_cpu, cpu_time) = virt_dom.info() return {'state': state, 'max_mem': max_mem, @@ -976,6 +993,24 @@ class LibvirtConnection(driver.ComputeDriver): 'num_cpu': num_cpu, 'cpu_time': cpu_time} + def _create_new_domain(self, xml, persistent=True, launch_flags=0): + # NOTE(justinsb): libvirt has two types of domain: + # * a transient domain disappears when the guest is shutdown + # or the host is rebooted. + # * a permanent domain is not automatically deleted + # NOTE(justinsb): Even for ephemeral instances, transient seems risky + + if persistent: + # To create a persistent domain, first define it, then launch it. + domain = self._conn.defineXML(xml) + + domain.createWithFlags(launch_flags) + else: + # createXML call creates a transient domain + domain = self._conn.createXML(xml, launch_flags) + + return domain + def get_diagnostics(self, instance_name): raise exception.ApiError(_("diagnostics are not supported " "for libvirt")) -- cgit From 399056300a0be228ec4c56587ec0d9c0d09d927c Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Tue, 29 Mar 2011 16:54:37 -0700 Subject: Fix unit test to reflect fact that instance is no longer deleted, just marked SHUTOFF --- nova/tests/test_compute.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index d1ef68de4..b7f08dfbe 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -654,4 +654,5 @@ class ComputeTestCase(test.TestCase): instances = db.instance_get_all(context.get_admin_context()) LOG.info(_("After force-killing instances: %s"), instances) - self.assertEqual(len(instances), 0) + self.assertEqual(len(instances), 1) + self.assertEqual(power_state.SHUTOFF, instances[0]['state']) -- cgit From 12505c6bae61e72b6c75ac647323c3ec15997df1 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 30 Mar 2011 10:05:06 -0700 Subject: Add XML namespaces to the OpenStack API --- nova/api/openstack/accounts.py | 5 ++- nova/api/openstack/backup_schedules.py | 4 +-- nova/api/openstack/common.py | 11 +++++++ nova/api/openstack/consoles.py | 4 +-- nova/api/openstack/extensions.py | 7 +++-- nova/api/openstack/flavors.py | 7 +++-- nova/api/openstack/image_metadata.py | 3 +- nova/api/openstack/images.py | 5 ++- nova/api/openstack/limits.py | 4 +-- nova/api/openstack/server_metadata.py | 3 +- nova/api/openstack/servers.py | 5 ++- nova/api/openstack/shared_ip_groups.py | 4 +-- nova/api/openstack/users.py | 3 +- nova/api/openstack/zones.py | 6 ++-- nova/tests/integrated/test_xml.py | 56 ++++++++++++++++++++++++++++++++++ nova/wsgi.py | 8 ++--- 16 files changed, 103 insertions(+), 32 deletions(-) create mode 100644 nova/tests/integrated/test_xml.py diff --git a/nova/api/openstack/accounts.py b/nova/api/openstack/accounts.py index 86066fa20..6e3763e47 100644 --- a/nova/api/openstack/accounts.py +++ b/nova/api/openstack/accounts.py @@ -13,15 +13,14 @@ # License for the specific language governing permissions and limitations # under the License. -import common import webob.exc from nova import exception from nova import flags from nova import log as logging -from nova import wsgi from nova.auth import manager +from nova.api.openstack import common from nova.api.openstack import faults FLAGS = flags.FLAGS @@ -35,7 +34,7 @@ def _translate_keys(account): manager=account.project_manager_id) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): _serialization_metadata = { 'application/xml': { diff --git a/nova/api/openstack/backup_schedules.py b/nova/api/openstack/backup_schedules.py index f2d2d86e8..4bf744046 100644 --- a/nova/api/openstack/backup_schedules.py +++ b/nova/api/openstack/backup_schedules.py @@ -19,7 +19,7 @@ import time from webob import exc -from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults import nova.image.service @@ -29,7 +29,7 @@ def _translate_keys(inst): return dict(backupSchedule=inst) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """ The backup schedule API controller for the Openstack API """ _serialization_metadata = { diff --git a/nova/api/openstack/common.py b/nova/api/openstack/common.py index 75aeb0a5f..234f921ab 100644 --- a/nova/api/openstack/common.py +++ b/nova/api/openstack/common.py @@ -22,6 +22,7 @@ import webob from nova import exception from nova import flags from nova import log as logging +from nova import wsgi LOG = logging.getLogger('common') @@ -30,6 +31,10 @@ LOG = logging.getLogger('common') FLAGS = flags.FLAGS +XML_NS_V10 = 'http://docs.rackspacecloud.com/servers/api/v1.0' +XML_NS_V11 = 'http://docs.openstack.org/compute/api/v1.1' + + def limited(items, request, max_limit=FLAGS.osapi_max_limit): """ Return a slice of items according to requested offset and limit. @@ -128,3 +133,9 @@ def get_id_from_href(href): except: LOG.debug(_("Error extracting id from href: %s") % href) raise webob.exc.HTTPBadRequest(_('could not parse id from href')) + + +class OpenstackController(wsgi.Controller): + def get_default_xmlns(self, req): + # Use V10 by default + return XML_NS_V10 diff --git a/nova/api/openstack/consoles.py b/nova/api/openstack/consoles.py index 8c291c2eb..1a77f25d7 100644 --- a/nova/api/openstack/consoles.py +++ b/nova/api/openstack/consoles.py @@ -19,7 +19,7 @@ from webob import exc from nova import console from nova import exception -from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults @@ -43,7 +43,7 @@ def _translate_detail_keys(cons): return dict(console=info) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """The Consoles Controller for the Openstack API""" _serialization_metadata = { diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py index fb1dccb28..75f369cac 100644 --- a/nova/api/openstack/extensions.py +++ b/nova/api/openstack/extensions.py @@ -28,6 +28,7 @@ from nova import exception from nova import flags from nova import log as logging from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults @@ -115,7 +116,7 @@ class ExtensionDescriptor(object): return response_exts -class ActionExtensionController(wsgi.Controller): +class ActionExtensionController(common.OpenstackController): def __init__(self, application): @@ -136,7 +137,7 @@ class ActionExtensionController(wsgi.Controller): return res -class ResponseExtensionController(wsgi.Controller): +class ResponseExtensionController(common.OpenstackController): def __init__(self, application): self.application = application @@ -163,7 +164,7 @@ class ResponseExtensionController(wsgi.Controller): return res -class ExtensionController(wsgi.Controller): +class ExtensionController(common.OpenstackController): def __init__(self, extension_manager): self.extension_manager = extension_manager diff --git a/nova/api/openstack/flavors.py b/nova/api/openstack/flavors.py index 5b99b5a6f..40787bd17 100644 --- a/nova/api/openstack/flavors.py +++ b/nova/api/openstack/flavors.py @@ -19,11 +19,11 @@ import webob from nova import db from nova import exception -from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import views -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """Flavor controller for the OpenStack API.""" _serialization_metadata = { @@ -76,3 +76,6 @@ class ControllerV11(Controller): def _get_view_builder(self, req): base_url = req.application_url return views.flavors.ViewBuilderV11(base_url) + + def get_default_xmlns(self, req): + return common.XML_NS_V11 diff --git a/nova/api/openstack/image_metadata.py b/nova/api/openstack/image_metadata.py index c9d6ac532..e673e5f7b 100644 --- a/nova/api/openstack/image_metadata.py +++ b/nova/api/openstack/image_metadata.py @@ -20,13 +20,14 @@ from webob import exc from nova import flags from nova import utils from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults FLAGS = flags.FLAGS -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """The image metadata API controller for the Openstack API""" def __init__(self): diff --git a/nova/api/openstack/images.py b/nova/api/openstack/images.py index e77100d7b..5550ee532 100644 --- a/nova/api/openstack/images.py +++ b/nova/api/openstack/images.py @@ -32,7 +32,7 @@ LOG = log.getLogger('nova.api.openstack.images') FLAGS = flags.FLAGS -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """Base `wsgi.Controller` for retrieving/displaying images.""" _serialization_metadata = { @@ -153,3 +153,6 @@ class ControllerV11(Controller): """Property to get the ViewBuilder class we need to use.""" base_url = request.application_url return images_view.ViewBuilderV11(base_url) + + def get_default_xmlns(self, req): + return common.XML_NS_V11 diff --git a/nova/api/openstack/limits.py b/nova/api/openstack/limits.py index efc7d193d..9877af191 100644 --- a/nova/api/openstack/limits.py +++ b/nova/api/openstack/limits.py @@ -31,8 +31,8 @@ from collections import defaultdict from webob.dec import wsgify from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults -from nova.wsgi import Controller from nova.wsgi import Middleware @@ -43,7 +43,7 @@ PER_HOUR = 60 * 60 PER_DAY = 60 * 60 * 24 -class LimitsController(Controller): +class LimitsController(common.OpenstackController): """ Controller for accessing limits in the OpenStack API. """ diff --git a/nova/api/openstack/server_metadata.py b/nova/api/openstack/server_metadata.py index 45bbac99d..5c1390b9c 100644 --- a/nova/api/openstack/server_metadata.py +++ b/nova/api/openstack/server_metadata.py @@ -19,10 +19,11 @@ from webob import exc from nova import compute from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """ The server metadata API controller for the Openstack API """ def __init__(self): diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index f7696d918..64090d830 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -44,7 +44,7 @@ LOG = logging.getLogger('server') FLAGS = flags.FLAGS -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """ The Server API controller for the OpenStack API """ _serialization_metadata = { @@ -632,6 +632,9 @@ class ControllerV11(Controller): def _limit_items(self, items, req): return common.limited_by_marker(items, req) + def get_default_xmlns(self, req): + return common.XML_NS_V11 + class ServerCreateRequestXMLDeserializer(object): """ diff --git a/nova/api/openstack/shared_ip_groups.py b/nova/api/openstack/shared_ip_groups.py index ee7991d7f..996db3648 100644 --- a/nova/api/openstack/shared_ip_groups.py +++ b/nova/api/openstack/shared_ip_groups.py @@ -17,7 +17,7 @@ from webob import exc -from nova import wsgi +from nova.api.openstack import common from nova.api.openstack import faults @@ -32,7 +32,7 @@ def _translate_detail_keys(inst): return dict(sharedIpGroups=inst) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): """ The Shared IP Groups Controller for the Openstack API """ _serialization_metadata = { diff --git a/nova/api/openstack/users.py b/nova/api/openstack/users.py index d3ab3d553..077ccfc79 100644 --- a/nova/api/openstack/users.py +++ b/nova/api/openstack/users.py @@ -18,7 +18,6 @@ from webob import exc from nova import exception from nova import flags from nova import log as logging -from nova import wsgi from nova.api.openstack import common from nova.api.openstack import faults from nova.auth import manager @@ -35,7 +34,7 @@ def _translate_keys(user): admin=user.admin) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): _serialization_metadata = { 'application/xml': { diff --git a/nova/api/openstack/zones.py b/nova/api/openstack/zones.py index 846cb48a1..227ffecdc 100644 --- a/nova/api/openstack/zones.py +++ b/nova/api/openstack/zones.py @@ -13,12 +13,10 @@ # License for the specific language governing permissions and limitations # under the License. -import common - from nova import db from nova import flags from nova import log as logging -from nova import wsgi +from nova.api.openstack import common from nova.scheduler import api @@ -43,7 +41,7 @@ def _scrub_zone(zone): 'deleted', 'deleted_at', 'updated_at')) -class Controller(wsgi.Controller): +class Controller(common.OpenstackController): _serialization_metadata = { 'application/xml': { diff --git a/nova/tests/integrated/test_xml.py b/nova/tests/integrated/test_xml.py new file mode 100644 index 000000000..8a9754777 --- /dev/null +++ b/nova/tests/integrated/test_xml.py @@ -0,0 +1,56 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2011 Justin Santa Barbara +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from nova import flags +from nova.log import logging +from nova.tests.integrated import integrated_helpers +from nova.api.openstack import common + + +LOG = logging.getLogger('nova.tests.integrated') + + +FLAGS = flags.FLAGS +FLAGS.verbose = True + + +class XmlTests(integrated_helpers._IntegratedTestBase): + """"Some basic XML sanity checks.""" + + def test_namespace_limits(self): + """/limits should have v1.0 namespace (hasn't changed in 1.1).""" + headers = {} + headers['Accept'] = 'application/xml' + + response = self.api.api_request('/limits', headers=headers) + data = response.read() + LOG.debug("data: %s" % data) + + prefix = ' Date: Wed, 30 Mar 2011 10:41:22 -0700 Subject: Some tests actually tested for the lack of a namespace :-) --- nova/api/openstack/extensions.py | 3 ++- nova/api/openstack/faults.py | 5 +++-- nova/api/openstack/images.py | 3 --- nova/tests/api/openstack/test_images.py | 16 +++++++++++----- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py index 75f369cac..7ea7afef6 100644 --- a/nova/api/openstack/extensions.py +++ b/nova/api/openstack/extensions.py @@ -156,7 +156,8 @@ class ResponseExtensionController(common.OpenstackController): body = res.body headers = res.headers except AttributeError: - body = self._serialize(res, content_type) + default_xmlns = None + body = self._serialize(res, content_type, default_xmlns) headers = {"Content-Type": content_type} res = webob.Response() res.body = body diff --git a/nova/api/openstack/faults.py b/nova/api/openstack/faults.py index 0e9c4b26f..a05e97021 100644 --- a/nova/api/openstack/faults.py +++ b/nova/api/openstack/faults.py @@ -20,10 +20,10 @@ import webob.dec import webob.exc from nova import wsgi +from nova.api.openstack import common class Fault(webob.exc.HTTPException): - """An RS API fault response.""" _fault_names = { @@ -57,7 +57,8 @@ class Fault(webob.exc.HTTPException): fault_data[fault_name]['retryAfter'] = retry # 'code' is an attribute on the fault tag itself metadata = {'application/xml': {'attributes': {fault_name: 'code'}}} - serializer = wsgi.Serializer(metadata) + default_xmlns = common.XML_NS_V10 + serializer = wsgi.Serializer(metadata, default_xmlns) content_type = req.best_match_content_type() self.wrapped_exc.body = serializer.serialize(fault_data, content_type) return self.wrapped_exc diff --git a/nova/api/openstack/images.py b/nova/api/openstack/images.py index 5550ee532..77baf5947 100644 --- a/nova/api/openstack/images.py +++ b/nova/api/openstack/images.py @@ -13,8 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -import datetime - import webob.exc from nova import compute @@ -22,7 +20,6 @@ from nova import exception from nova import flags from nova import log from nova import utils -from nova import wsgi from nova.api.openstack import common from nova.api.openstack import faults from nova.api.openstack.views import images as images_view diff --git a/nova/tests/api/openstack/test_images.py b/nova/tests/api/openstack/test_images.py index 57e447dce..ff3fe8976 100644 --- a/nova/tests/api/openstack/test_images.py +++ b/nova/tests/api/openstack/test_images.py @@ -146,7 +146,7 @@ class LocalImageServiceTest(_BaseImageServiceTests): for x in [1, 2, 3]: tempfile.mkstemp(prefix='ami-', dir=self.tempdir) # create some valid image directories names - for x in ["1485baed", "1a60f0ee", "3123a73d"]: + for x in ["1485baed", "1a60f0ee", "3123a73d"]: os.makedirs(os.path.join(self.tempdir, x)) found_image_ids = self.service._ids() self.assertEqual(True, isinstance(found_image_ids, list)) @@ -334,7 +334,8 @@ class ImageControllerWithGlanceServiceTest(test.TestCase): name="public image" updated="%(expected_now)s" created="%(expected_now)s" - status="ACTIVE" /> + status="ACTIVE" + xmlns="http://docs.rackspacecloud.com/servers/api/v1.0" /> """ % (locals())) self.assertEqual(expected_image.toxml(), actual_image.toxml()) @@ -353,7 +354,8 @@ class ImageControllerWithGlanceServiceTest(test.TestCase): name="public image" updated="%(expected_now)s" created="%(expected_now)s" - status="ACTIVE"> + status="ACTIVE" + xmlns="http://docs.openstack.org/compute/api/v1.1"> + Image not found. @@ -422,8 +425,11 @@ class ImageControllerWithGlanceServiceTest(test.TestCase): response = request.get_response(fakes.wsgi_app()) self.assertEqual(404, response.status_int) + # NOTE(justinsb): I believe this should still use the v1.0 XSD, + # because the element hasn't changed definition expected = minidom.parseString(""" - + Image not found. -- cgit From d2aa73efed6f4eb731c4fe8dca3f4ceb5b36caeb Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 30 Mar 2011 10:49:09 -0700 Subject: More tests that were checking for no-namespace --- nova/tests/api/openstack/test_faults.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/nova/tests/api/openstack/test_faults.py b/nova/tests/api/openstack/test_faults.py index 7667753f4..505e7e308 100644 --- a/nova/tests/api/openstack/test_faults.py +++ b/nova/tests/api/openstack/test_faults.py @@ -20,6 +20,7 @@ import webob.dec import webob.exc from nova import test +from nova.api.openstack import common from nova.api.openstack import faults @@ -30,8 +31,11 @@ class TestFaults(test.TestCase): f = faults.Fault(webob.exc.HTTPBadRequest(explanation='scram')) resp = req.get_response(f) - first_two_words = resp.body.strip().split()[:2] - self.assertEqual(first_two_words, ['']) + first_three_words = resp.body.strip().split()[:3] + self.assertEqual(first_three_words, + ['' % common.XML_NS_V10]) body_without_spaces = ''.join(resp.body.split()) self.assertTrue('scram' in body_without_spaces) @@ -41,8 +45,11 @@ class TestFaults(test.TestCase): headers={'Retry-After': 4}) f = faults.Fault(exc) resp = req.get_response(f) - first_two_words = resp.body.strip().split()[:2] - self.assertEqual(first_two_words, ['']) + first_three_words = resp.body.strip().split()[:3] + self.assertEqual(first_three_words, + ['' % common.XML_NS_V10]) body_sans_spaces = ''.join(resp.body.split()) self.assertTrue('sorry' in body_sans_spaces) self.assertTrue('4' in body_sans_spaces) -- cgit From 168fdb09f369287f3ec8c19ef73915280ff79d20 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Wed, 30 Mar 2011 11:15:16 -0700 Subject: Refixed unit test to check XML ns --- nova/tests/api/openstack/test_faults.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nova/tests/api/openstack/test_faults.py b/nova/tests/api/openstack/test_faults.py index b3433f45f..4d86ffb26 100644 --- a/nova/tests/api/openstack/test_faults.py +++ b/nova/tests/api/openstack/test_faults.py @@ -48,10 +48,10 @@ class TestFaults(test.TestCase): response = request.get_response(fault) expected = self._prepare_xml(""" - + scram - """) + """ % common.XML_NS_V10) actual = self._prepare_xml(response.body) self.assertEqual(response.content_type, "application/xml") @@ -92,11 +92,11 @@ class TestFaults(test.TestCase): response = request.get_response(fault) expected = self._prepare_xml(""" - + sorry 4 - """) + """ % common.XML_NS_V10) actual = self._prepare_xml(response.body) self.assertEqual(expected, actual) -- cgit From 323eb60884cf8736448d997068d32f252d22e7f3 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 30 Mar 2011 12:05:25 -0700 Subject: Key type values in ec2_api off of container format --- nova/api/ec2/cloud.py | 44 +++++++++++++++++++++++++++++++------------- 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 7ba8dfbea..1e6c4d1db 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -146,7 +146,7 @@ class CloudController(object): floating_ip = db.instance_get_floating_address(ctxt, instance_ref['id']) ec2_id = ec2utils.id_to_ec2_id(instance_ref['id']) - image_ec2_id = self._image_ec2_id(instance_ref['image_id'], 'machine') + image_ec2_id = self._image_ec2_id(instance_ref['image_id'], 'ami') data = { 'user-data': base64.b64decode(instance_ref['user_data']), 'meta-data': { @@ -176,7 +176,7 @@ class CloudController(object): for image_type in ['kernel', 'ramdisk']: if '%s_id' % image_type in instance_ref: ec2_id = self._image_ec2_id(instance_ref['%s_id' % image_type], - image_type) + self._image_type(image_type)) data['meta-data']['%s-id' % image_type] = ec2_id if False: # TODO(vish): store ancestor ids @@ -862,13 +862,27 @@ class CloudController(object): self.compute_api.update(context, instance_id=instance_id, **kwargs) return True - _type_prefix_map = {'machine': 'ami', - 'kernel': 'aki', - 'ramdisk': 'ari'} + @staticmethod + def _image_type(image_type): + """Converts to a three letter image type. - def _image_ec2_id(self, image_id, image_type='machine'): - prefix = self._type_prefix_map[image_type] - template = prefix + '-%08x' + aki, kernel => aki + ari, ramdisk => ari + anything else => ami + + """ + if image_type == 'kernel': + return 'aki' + if image_type == 'ramdisk': + return 'ari' + if image_type not in ['aki', 'ari']: + return 'ami' + return image_type + + @staticmethod + def _image_ec2_id(image_id, image_type='ami'): + """Returns image ec2_id using id and three letter type""" + template = image_type + '-%08x' return ec2utils.id_to_ec2_id(int(image_id), template=template) def _get_image(self, context, ec2_id): @@ -881,7 +895,7 @@ class CloudController(object): def _format_image(self, image): """Convert from format defined by BaseImageService to S3 format.""" i = {} - image_type = image['properties'].get('type') + image_type = self._image_type(image.get('container_format')) ec2_id = self._image_ec2_id(image.get('id'), image_type) name = image.get('name') if name: @@ -890,16 +904,19 @@ class CloudController(object): i['imageId'] = ec2_id kernel_id = image['properties'].get('kernel_id') if kernel_id: - i['kernelId'] = self._image_ec2_id(kernel_id, 'kernel') + i['kernelId'] = self._image_ec2_id(kernel_id, 'aki') ramdisk_id = image['properties'].get('ramdisk_id') if ramdisk_id: - i['ramdiskId'] = self._image_ec2_id(ramdisk_id, 'ramdisk') + i['ramdiskId'] = self._image_ec2_id(ramdisk_id, 'ari') i['imageOwnerId'] = image['properties'].get('owner_id') i['imageLocation'] = image['properties'].get('image_location') i['imageState'] = image['properties'].get('image_state') i['displayName'] = image.get('name') i['description'] = image.get('description') - i['type'] = image_type + display_mapping = {'aki': 'kernel', + 'ari': 'ramdisk', + 'ami': 'machine'} + i['type'] = display_mapping.get(image_type) i['isPublic'] = str(image['properties'].get('is_public', '')) == 'True' i['architecture'] = image['properties'].get('architecture') return i @@ -932,8 +949,9 @@ class CloudController(object): image_location = kwargs['name'] metadata = {'properties': {'image_location': image_location}} image = self.image_service.create(context, metadata) + image_type = self._image_type(image.get('container_format')) image_id = self._image_ec2_id(image['id'], - image['properties']['type']) + image_type) msg = _("Registered image %(image_location)s with" " id %(image_id)s") % locals() LOG.audit(msg, context=context) -- cgit From 1703592992ebdd5bbf19952f79f05022a4cdc849 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 30 Mar 2011 12:34:10 -0700 Subject: remove all references to image_type and change nova-manage upload to set container format more intelligently --- bin/nova-manage | 27 +++++++++++++------------ nova/api/openstack/servers.py | 2 +- nova/image/fake.py | 6 +++--- nova/image/s3.py | 1 - nova/tests/api/openstack/test_image_metadata.py | 2 -- nova/virt/libvirt_conn.py | 1 - 6 files changed, 18 insertions(+), 21 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index 6789efba8..4e14b6cab 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -894,20 +894,18 @@ class ImageCommands(object): def __init__(self, *args, **kwargs): self.image_service = utils.import_object(FLAGS.image_service) - def _register(self, image_type, disk_format, container_format, + def _register(self, container_format, disk_format, path, owner, name=None, is_public='T', architecture='x86_64', kernel_id=None, ramdisk_id=None): meta = {'is_public': True, 'name': name, - 'disk_format': disk_format, 'container_format': container_format, + 'disk_format': disk_format, 'properties': {'image_state': 'available', 'owner_id': owner, - 'type': image_type, 'architecture': architecture, 'image_location': 'local', 'is_public': (is_public == 'T')}} - print image_type, meta if kernel_id: meta['properties']['kernel_id'] = int(kernel_id) if ramdisk_id: @@ -932,16 +930,17 @@ class ImageCommands(object): ramdisk_id = self.ramdisk_register(ramdisk, owner, None, is_public, architecture) self.image_register(image, owner, name, is_public, - architecture, kernel_id, ramdisk_id) + architecture, 'ami', 'ami', + kernel_id, ramdisk_id) def image_register(self, path, owner, name=None, is_public='T', - architecture='x86_64', kernel_id=None, ramdisk_id=None, - disk_format='ami', container_format='ami'): + architecture='x86_64', container_format='bare', + disk_format='raw', kernel_id=None, ramdisk_id=None): """Uploads an image into the image_service arguments: path owner [name] [is_public='T'] [architecture='x86_64'] - [kernel_id=None] [ramdisk_id=None] - [disk_format='ami'] [container_format='ami']""" - return self._register('machine', disk_format, container_format, path, + [container_format='bare'] [disk_format='raw'] + [kernel_id=None] [ramdisk_id=None]""" + return self._register(container_format, disk_format, path, owner, name, is_public, architecture, kernel_id, ramdisk_id) @@ -950,7 +949,7 @@ class ImageCommands(object): """Uploads a kernel into the image_service arguments: path owner [name] [is_public='T'] [architecture='x86_64'] """ - return self._register('kernel', 'aki', 'aki', path, owner, name, + return self._register('aki', 'aki', path, owner, name, is_public, architecture) def ramdisk_register(self, path, owner, name=None, is_public='T', @@ -958,7 +957,7 @@ class ImageCommands(object): """Uploads a ramdisk into the image_service arguments: path owner [name] [is_public='T'] [architecture='x86_64'] """ - return self._register('ramdisk', 'ari', 'ari', path, owner, name, + return self._register('ari', 'ari', path, owner, name, is_public, architecture) def _lookup(self, old_image_id): @@ -975,6 +974,9 @@ class ImageCommands(object): 'ramdisk': 'ari'} container_format = mapping[old['type']] disk_format = container_format + if container_format == 'ami' and not old.get('kernelId'): + container_format = 'bare' + disk_format = 'raw' new = {'disk_format': disk_format, 'container_format': container_format, 'is_public': True, @@ -982,7 +984,6 @@ class ImageCommands(object): 'properties': {'image_state': old['imageState'], 'owner_id': old['imageOwnerId'], 'architecture': old['architecture'], - 'type': old['type'], 'image_location': old['imageLocation'], 'is_public': old['isPublic']}} if old.get('kernelId'): diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index f7696d918..d640e8684 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -562,7 +562,7 @@ class Controller(wsgi.Controller): _("Cannot build from image %(image_id)s, status not active") % locals()) - if image_meta['properties']['disk_format'] != 'ami': + if image_meta.get('container_format') != 'ami': return None, None try: diff --git a/nova/image/fake.py b/nova/image/fake.py index 08302d6eb..d1c62757f 100644 --- a/nova/image/fake.py +++ b/nova/image/fake.py @@ -44,10 +44,10 @@ class FakeImageService(service.BaseImageService): 'created_at': timestamp, 'updated_at': timestamp, 'status': 'active', - 'type': 'machine', + 'container_format': 'ami', + 'disk_format': 'raw', 'properties': {'kernel_id': FLAGS.null_kernel, - 'ramdisk_id': FLAGS.null_kernel, - 'disk_format': 'ami'} + 'ramdisk_id': FLAGS.null_kernel} } self.create(None, image) super(FakeImageService, self).__init__() diff --git a/nova/image/s3.py b/nova/image/s3.py index ddec5f3aa..203bedc49 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -177,7 +177,6 @@ class S3ImageService(service.BaseImageService): properties['ramdisk_id'] = ec2utils.ec2_id_to_id(ramdisk_id) properties['is_public'] = False - properties['type'] = image_type metadata.update({'disk_format': image_format, 'container_format': image_format, 'status': 'queued', diff --git a/nova/tests/api/openstack/test_image_metadata.py b/nova/tests/api/openstack/test_image_metadata.py index 9be753f84..7c3287006 100644 --- a/nova/tests/api/openstack/test_image_metadata.py +++ b/nova/tests/api/openstack/test_image_metadata.py @@ -45,7 +45,6 @@ class ImageMetaDataTest(unittest.TestCase): 'is_public': True, 'deleted_at': None, 'properties': { - 'type': 'ramdisk', 'key1': 'value1', 'key2': 'value2' }, @@ -62,7 +61,6 @@ class ImageMetaDataTest(unittest.TestCase): 'is_public': True, 'deleted_at': None, 'properties': { - 'type': 'ramdisk', 'key1': 'value1', 'key2': 'value2' }, diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index f34ea7225..adcb2ffa3 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -424,7 +424,6 @@ class LibvirtConnection(driver.ComputeDriver): 'container_format': base['container_format'], 'is_public': False, 'properties': {'architecture': base['architecture'], - 'type': base['type'], 'name': '%s.%s' % (base['name'], image_id), 'kernel_id': instance['kernel_id'], 'image_location': 'snapshot', -- cgit From b54b6c200092054e38af1fa1e5885fe915e53149 Mon Sep 17 00:00:00 2001 From: John Tran Date: Wed, 30 Mar 2011 13:10:11 -0700 Subject: submitting a unit test for terminate_instance --- Authors | 1 + nova/tests/test_cloud.py | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/Authors b/Authors index eccf38a43..48b912184 100644 --- a/Authors +++ b/Authors @@ -32,6 +32,7 @@ Jesse Andrews Joe Heck Joel Moore John Dewey +John Tran Jonathan Bryce Jordan Rinke Josh Durgin diff --git a/nova/tests/test_cloud.py b/nova/tests/test_cloud.py index 00803d0ad..be1939193 100644 --- a/nova/tests/test_cloud.py +++ b/nova/tests/test_cloud.py @@ -36,6 +36,7 @@ from nova import rpc from nova import service from nova import test from nova import utils +from nova import exception from nova.auth import manager from nova.compute import power_state from nova.api.ec2 import cloud @@ -310,6 +311,19 @@ class CloudTestCase(test.TestCase): LOG.debug(_("Terminating instance %s"), instance_id) rv = self.compute.terminate_instance(instance_id) + def test_terminate_instances(self): + inst1 = db.instance_create(self.context, {'reservation_id': 'a', + 'image_id': 1, + 'host': 'host1'}) + terminate_instances = self.cloud.terminate_instances + # valid instance_id + result = terminate_instances(self.context, ['i-00000001']) + self.assertTrue(result) + # non-existing instance_id + self.assertRaises(exception.InstanceNotFound, terminate_instances, + self.context, ['i-2']) + db.instance_destroy(self.context, inst1['id']) + def test_update_of_instance_display_fields(self): inst = db.instance_create(self.context, {}) ec2_id = ec2utils.id_to_ec2_id(inst['id']) -- cgit From b8173ba9fe80045665064208e66f46cca75fd3ba Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 30 Mar 2011 13:48:07 -0700 Subject: review cleanup --- bin/nova-manage | 3 ++- nova/api/ec2/cloud.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index 4e14b6cab..fbf16f570 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -939,7 +939,8 @@ class ImageCommands(object): """Uploads an image into the image_service arguments: path owner [name] [is_public='T'] [architecture='x86_64'] [container_format='bare'] [disk_format='raw'] - [kernel_id=None] [ramdisk_id=None]""" + [kernel_id=None] [ramdisk_id=None] + """ return self._register(container_format, disk_format, path, owner, name, is_public, architecture, kernel_id, ramdisk_id) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 1e6c4d1db..3541e49ca 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -881,7 +881,7 @@ class CloudController(object): @staticmethod def _image_ec2_id(image_id, image_type='ami'): - """Returns image ec2_id using id and three letter type""" + """Returns image ec2_id using id and three letter type.""" template = image_type + '-%08x' return ec2utils.id_to_ec2_id(int(image_id), template=template) -- cgit From 7f98416fdba59c4305f88a30a457bbf6c68ef372 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 31 Mar 2011 09:20:47 -0400 Subject: Limit image metadata to the configured metadata quota for a project. --- nova/api/openstack/image_metadata.py | 12 ++++++++ nova/tests/api/openstack/test_image_metadata.py | 39 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/nova/api/openstack/image_metadata.py b/nova/api/openstack/image_metadata.py index c9d6ac532..76abdaa7e 100644 --- a/nova/api/openstack/image_metadata.py +++ b/nova/api/openstack/image_metadata.py @@ -18,6 +18,7 @@ from webob import exc from nova import flags +from nova import quota from nova import utils from nova import wsgi from nova.api.openstack import faults @@ -39,6 +40,15 @@ class Controller(wsgi.Controller): metadata = image.get('properties', {}) return metadata + def _check_quota_limit(self, context, metadata): + if metadata is None: + return + num_metadata = len(metadata) + quota_metadata = quota.allowed_metadata_items(context, num_metadata) + if quota_metadata < num_metadata: + expl = ("Image metadata limit exceeded") + raise exc.HTTPBadRequest(explanation=expl) + def index(self, req, image_id): """Returns the list of metadata for a given instance""" context = req.environ['nova.context'] @@ -61,6 +71,7 @@ class Controller(wsgi.Controller): if 'metadata' in body: for key, value in body['metadata'].iteritems(): metadata[key] = value + self._check_quota_limit(context, metadata) img['properties'] = metadata self.image_service.update(context, image_id, img, None) return dict(metadata=metadata) @@ -77,6 +88,7 @@ class Controller(wsgi.Controller): img = self.image_service.show(context, image_id) metadata = self._get_metadata(context, image_id, img) metadata[id] = body[id] + self._check_quota_limit(context, metadata) img['properties'] = metadata self.image_service.update(context, image_id, img, None) diff --git a/nova/tests/api/openstack/test_image_metadata.py b/nova/tests/api/openstack/test_image_metadata.py index 9be753f84..51f64680b 100644 --- a/nova/tests/api/openstack/test_image_metadata.py +++ b/nova/tests/api/openstack/test_image_metadata.py @@ -67,6 +67,19 @@ class ImageMetaDataTest(unittest.TestCase): 'key2': 'value2' }, 'size': 5882349}, + {'status': 'active', + 'name': 'image3', + 'deleted': False, + 'container_format': None, + 'created_at': '2011-03-22T17:40:15', + 'disk_format': None, + 'updated_at': '2011-03-22T17:40:15', + 'id': '3', + 'location': 'file:///var/lib/glance/images/2', + 'is_public': True, + 'deleted_at': None, + 'properties': {}, + 'size': 5882349}, ] def setUp(self): @@ -77,6 +90,10 @@ class ImageMetaDataTest(unittest.TestCase): fakes.FakeAuthManager.auth_data = {} fakes.FakeAuthDatabase.data = {} fakes.stub_out_auth(self.stubs) + # NOTE(dprince) max out properties/metadata in image 3 for testing + img3 = self.IMAGE_FIXTURES[2] + for num in range(FLAGS.quota_metadata_items): + img3['properties']['key%i' % num] = "blah" fakes.stub_out_glance(self.stubs, self.IMAGE_FIXTURES) def tearDown(self): @@ -164,3 +181,25 @@ class ImageMetaDataTest(unittest.TestCase): req.method = 'DELETE' res = req.get_response(fakes.wsgi_app()) self.assertEqual(404, res.status_int) + + def test_too_many_metadata_items_on_create(self): + data = {"metadata": {}} + for num in range(FLAGS.quota_metadata_items + 1): + data['metadata']['key%i' % num] = "blah" + json_string = str(data).replace("\'", "\"") + req = webob.Request.blank('/v1.1/images/2/meta') + req.environ['api.version'] = '1.1' + req.method = 'POST' + req.body = json_string + req.headers["content-type"] = "application/json" + res = req.get_response(fakes.wsgi_app()) + self.assertEqual(400, res.status_int) + + def test_too_many_metadata_items_on_put(self): + req = webob.Request.blank('/v1.1/images/3/meta/blah') + req.environ['api.version'] = '1.1' + req.method = 'PUT' + req.body = '{"blah": "blah"}' + req.headers["content-type"] = "application/json" + res = req.get_response(fakes.wsgi_app()) + self.assertEqual(400, res.status_int) -- cgit From 1654afaabba498ab690c07ccc6de858783dc1742 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 31 Mar 2011 12:38:05 -0700 Subject: makes sure s3 filtering works even without metadata set properly --- nova/image/s3.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nova/image/s3.py b/nova/image/s3.py index 203bedc49..def49f682 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -80,9 +80,10 @@ class S3ImageService(service.BaseImageService): @classmethod def _is_visible(cls, context, image): + return (context.is_admin - or context.project_id == image['properties']['owner_id'] - or image['properties']['is_public'] == 'True') + or context.project_id == image['properties'].get('owner_id') + or str(image['properties'].get('is_public')) == 'True') @classmethod def _filter(cls, context, images): -- cgit From 38b4cd9e68d7e1c262b08474b277573440ec3e87 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Mon, 4 Apr 2011 16:17:04 -0400 Subject: Refactor so that instances.instance_type is now instances.instance_type_id. Update the Openstack API to return the correct flavor_id. --- bin/nova-manage | 2 +- nova/api/ec2/cloud.py | 7 +- nova/api/openstack/servers.py | 6 +- nova/api/openstack/views/servers.py | 4 +- nova/compute/api.py | 18 +++-- nova/compute/instance_types.py | 46 ++++++------ nova/db/api.py | 5 ++ nova/db/sqlalchemy/api.py | 22 ++++++ .../014_add_instance_type_id_to_instances.py | 86 ++++++++++++++++++++++ nova/db/sqlalchemy/models.py | 11 ++- nova/tests/api/openstack/test_servers.py | 24 +++--- nova/tests/db/fakes.py | 22 ++++-- nova/tests/test_compute.py | 18 +++-- nova/tests/test_console.py | 2 +- nova/tests/test_instance_types.py | 6 +- nova/tests/test_quota.py | 17 +++-- nova/tests/test_scheduler.py | 2 +- nova/tests/test_virt.py | 2 +- nova/tests/test_volume.py | 2 +- nova/tests/test_xenapi.py | 12 +-- nova/virt/libvirt_conn.py | 22 +++--- nova/virt/xenapi/vm_utils.py | 8 +- nova/virt/xenapi/vmops.py | 8 +- 23 files changed, 256 insertions(+), 96 deletions(-) create mode 100644 nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py diff --git a/bin/nova-manage b/bin/nova-manage index 6789efba8..b80a6e31d 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -878,7 +878,7 @@ class InstanceTypeCommands(object): elif name == "--all": inst_types = instance_types.get_all_types(True) else: - inst_types = instance_types.get_instance_type(name) + inst_types = instance_types.get_instance_type_by_name(name) except exception.DBError, e: _db_error(e) if isinstance(inst_types.values()[0], dict): diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 7ba8dfbea..cd1195502 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -722,7 +722,10 @@ class CloudController(object): instance['project_id'], instance['host']) i['productCodesSet'] = self._convert_to_set([], 'product_codes') - i['instanceType'] = instance['instance_type'] + if instance['instance_type']: + i['instanceType'] = instance['instance_type'].get('name', None) + else: + i['instanceType'] = None i['launchTime'] = instance['created_at'] i['amiLaunchIndex'] = instance['launch_index'] i['displayName'] = instance['display_name'] @@ -805,7 +808,7 @@ class CloudController(object): ramdisk = self._get_image(context, kwargs['ramdisk_id']) kwargs['ramdisk_id'] = ramdisk['id'] instances = self.compute_api.create(context, - instance_type=instance_types.get_by_type( + instance_type=instance_types.get_instance_type_by_name( kwargs.get('instance_type', None)), image_id=self._get_image(context, kwargs['image_id'])['id'], min_count=int(kwargs.get('min_count', max_count)), diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 4e2ebb2bd..327911f6f 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -160,9 +160,11 @@ class Controller(wsgi.Controller): name = name.strip() try: + inst_type = \ + instance_types.get_instance_type_by_flavor_id(flavor_id) (inst,) = self.compute_api.create( context, - instance_types.get_by_flavor_id(flavor_id), + inst_type, image_id, kernel_id=kernel_id, ramdisk_id=ramdisk_id, @@ -175,7 +177,7 @@ class Controller(wsgi.Controller): except quota.QuotaError as error: self._handle_quota_error(error) - inst['instance_type'] = flavor_id + inst['instance_type'] = inst_type inst['image_id'] = requested_image_id builder = self._get_view_builder(req) diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py index 4e7f62eb3..2f400eef6 100644 --- a/nova/api/openstack/views/servers.py +++ b/nova/api/openstack/views/servers.py @@ -115,7 +115,7 @@ class ViewBuilderV10(ViewBuilder): def _build_flavor(self, response, inst): if 'instance_type' in dict(inst): - response['flavorId'] = inst['instance_type'] + response['flavorId'] = inst['instance_type']['flavorid'] class ViewBuilderV11(ViewBuilder): @@ -134,7 +134,7 @@ class ViewBuilderV11(ViewBuilder): def _build_flavor(self, response, inst): if "instance_type" in dict(inst): - flavor_id = inst["instance_type"] + flavor_id = inst["instance_type"]['flavorid'] flavor_ref = self.flavor_builder.generate_href(flavor_id) response["flavorRef"] = flavor_ref diff --git a/nova/compute/api.py b/nova/compute/api.py index 1dbd73f8f..363d61f29 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -110,8 +110,11 @@ class API(base.Base): """Create the number of instances requested if quota and other arguments check out ok.""" - type_data = instance_types.get_instance_type(instance_type) - num_instances = quota.allowed_instances(context, max_count, type_data) + if not instance_type: + instance_type = instance_types.get_default_instance_type() + + num_instances = quota.allowed_instances(context, max_count, + instance_type) if num_instances < min_count: pid = context.project_id LOG.warn(_("Quota exceeeded for %(pid)s," @@ -197,10 +200,10 @@ class API(base.Base): 'user_id': context.user_id, 'project_id': context.project_id, 'launch_time': time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()), - 'instance_type': instance_type, - 'memory_mb': type_data['memory_mb'], - 'vcpus': type_data['vcpus'], - 'local_gb': type_data['local_gb'], + 'instance_type_id': instance_type['id'], + 'memory_mb': instance_type['memory_mb'], + 'vcpus': instance_type['vcpus'], + 'local_gb': instance_type['local_gb'], 'display_name': display_name, 'display_description': display_description, 'user_data': user_data or '', @@ -517,8 +520,7 @@ class API(base.Base): def resize(self, context, instance_id, flavor_id): """Resize a running instance.""" instance = self.db.instance_get(context, instance_id) - current_instance_type = self.db.instance_type_get_by_name( - context, instance['instance_type']) + current_instance_type = instance['instance_type'] new_instance_type = self.db.instance_type_get_by_flavor_id( context, flavor_id) diff --git a/nova/compute/instance_types.py b/nova/compute/instance_types.py index fa02a5dfa..5b1d92e29 100644 --- a/nova/compute/instance_types.py +++ b/nova/compute/instance_types.py @@ -101,41 +101,43 @@ def get_all_flavors(): return get_all_types(context.get_admin_context()) -def get_instance_type(name): - """Retrieves single instance type by name""" - if name is None: - return FLAGS.default_instance_type +def get_default_instance_type(): + name = FLAGS.default_instance_type try: - ctxt = context.get_admin_context() - inst_type = db.instance_type_get_by_name(ctxt, name) - return inst_type + return get_instance_type_by_name(name) except exception.DBError: raise exception.ApiError(_("Unknown instance type: %s" % name)) -def get_by_type(instance_type): - """retrieve instance type name""" - if instance_type is None: - return FLAGS.default_instance_type +def get_instance_type(id): + """Retrieves single instance type by id""" + if id is None: + return get_default_instance_type() + try: + ctxt = context.get_admin_context() + return db.instance_type_get_by_id(ctxt, id) + except exception.DBError: + raise exception.ApiError(_("Unknown instance type: %s" % name)) + +def get_instance_type_by_name(name): + """Retrieves single instance type by name""" + if name is None: + return get_default_instance_type() try: ctxt = context.get_admin_context() - inst_type = db.instance_type_get_by_name(ctxt, instance_type) - return inst_type['name'] - except exception.DBError, e: - LOG.exception(_('DB error: %s' % e)) - raise exception.ApiError(_("Unknown instance type: %s" %\ - instance_type)) + return db.instance_type_get_by_name(ctxt, name) + except exception.DBError: + raise exception.ApiError(_("Unknown instance type: %s" % name)) -def get_by_flavor_id(flavor_id): - """retrieve instance type's name by flavor_id""" +def get_instance_type_by_flavor_id(flavor_id): + """retrieve instance type by flavor_id""" if flavor_id is None: - return FLAGS.default_instance_type + return get_default_instance_type() try: ctxt = context.get_admin_context() - flavor = db.instance_type_get_by_flavor_id(ctxt, flavor_id) - return flavor['name'] + return db.instance_type_get_by_flavor_id(ctxt, flavor_id) except exception.DBError, e: LOG.exception(_('DB error: %s' % e)) raise exception.ApiError(_("Unknown flavor: %s" % flavor_id)) diff --git a/nova/db/api.py b/nova/db/api.py index fd3c63b76..63901e94d 100644 --- a/nova/db/api.py +++ b/nova/db/api.py @@ -1124,6 +1124,11 @@ def instance_type_get_all(context, inactive=False): return IMPL.instance_type_get_all(context, inactive) +def instance_type_get_by_id(context, id): + """Get instance type by id""" + return IMPL.instance_type_get_by_id(context, id) + + def instance_type_get_by_name(context, name): """Get instance type by name""" return IMPL.instance_type_get_by_name(context, name) diff --git a/nova/db/sqlalchemy/api.py b/nova/db/sqlalchemy/api.py index b2a13a01b..9f600b236 100644 --- a/nova/db/sqlalchemy/api.py +++ b/nova/db/sqlalchemy/api.py @@ -829,6 +829,7 @@ def instance_get(context, instance_id, session=None): options(joinedload('volumes')).\ options(joinedload_all('fixed_ip.network')).\ options(joinedload('metadata')).\ + options(joinedload('instance_type')).\ filter_by(id=instance_id).\ filter_by(deleted=can_read_deleted(context)).\ first() @@ -838,6 +839,7 @@ def instance_get(context, instance_id, session=None): options(joinedload_all('security_groups.rules')).\ options(joinedload('volumes')).\ options(joinedload('metadata')).\ + options(joinedload('instance_type')).\ filter_by(project_id=context.project_id).\ filter_by(id=instance_id).\ filter_by(deleted=False).\ @@ -857,6 +859,7 @@ def instance_get_all(context): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(deleted=can_read_deleted(context)).\ all() @@ -868,6 +871,7 @@ def instance_get_all_by_user(context, user_id): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(deleted=can_read_deleted(context)).\ filter_by(user_id=user_id).\ all() @@ -880,6 +884,7 @@ def instance_get_all_by_host(context, host): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(host=host).\ filter_by(deleted=can_read_deleted(context)).\ all() @@ -894,6 +899,7 @@ def instance_get_all_by_project(context, project_id): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(project_id=project_id).\ filter_by(deleted=can_read_deleted(context)).\ all() @@ -908,6 +914,7 @@ def instance_get_all_by_reservation(context, reservation_id): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(reservation_id=reservation_id).\ filter_by(deleted=can_read_deleted(context)).\ all() @@ -916,6 +923,7 @@ def instance_get_all_by_reservation(context, reservation_id): options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ options(joinedload_all('fixed_ip.network')).\ + options(joinedload('instance_type')).\ filter_by(project_id=context.project_id).\ filter_by(reservation_id=reservation_id).\ filter_by(deleted=False).\ @@ -928,6 +936,7 @@ def instance_get_project_vpn(context, project_id): return session.query(models.Instance).\ options(joinedload_all('fixed_ip.floating_ips')).\ options(joinedload('security_groups')).\ + options(joinedload('instance_type')).\ filter_by(project_id=project_id).\ filter_by(image_id=FLAGS.vpn_image_id).\ filter_by(deleted=can_read_deleted(context)).\ @@ -2368,6 +2377,19 @@ def instance_type_get_all(context, inactive=False): raise exception.NotFound +@require_context +def instance_type_get_by_id(context, id): + """Returns a dict describing specific instance_type""" + session = get_session() + inst_type = session.query(models.InstanceTypes).\ + filter_by(id=id).\ + first() + if not inst_type: + raise exception.NotFound(_("No instance type with id %s") % id) + else: + return dict(inst_type) + + @require_context def instance_type_get_by_name(context, name): """Returns a dict describing specific instance_type""" diff --git a/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py b/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py new file mode 100644 index 000000000..813e57e10 --- /dev/null +++ b/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py @@ -0,0 +1,86 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010 OpenStack LLC. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from sqlalchemy import * +from sqlalchemy.sql import text +from migrate import * + +#from nova import log as logging + + +meta = MetaData() + + +c_instance_type = Column('instance_type', + String(length=255, convert_unicode=False, + assert_unicode=None, unicode_error=None, + _warn_on_bytestring=False), + nullable=True) + +c_instance_type_id = Column('instance_type_id', + String(length=255, convert_unicode=False, + assert_unicode=None, unicode_error=None, + _warn_on_bytestring=False), + nullable=True) + +instance_types = Table('instance_types', meta, + Column('id', Integer(), primary_key=True, nullable=False), + Column('name', + String(length=255, convert_unicode=False, assert_unicode=None, + unicode_error=None, _warn_on_bytestring=False), + unique=True)) + + +def upgrade(migrate_engine): + # Upgrade operations go here. Don't create your own engine; + # bind migrate_engine to your metadata + meta.bind = migrate_engine + + instances = Table('instances', meta, autoload=True, + autoload_with=migrate_engine) + + instances.create_column(c_instance_type_id) + + recs = migrate_engine.execute(instance_types.select()) + for row in recs: + type_id = row[0] + type_name = row[1] + migrate_engine.execute(instances.update()\ + .where(instances.c.instance_type == type_name)\ + .values(instance_type_id=type_id)) + + instances.c.instance_type.drop() + #instances.c.instance_type_id.alter(nullable=False) + + +def downgrade(migrate_engine): + meta.bind = migrate_engine + + instances = Table('instances', meta, autoload=True, + autoload_with=migrate_engine) + + instances.create_column(c_instance_type) + + recs = migrate_engine.execute(instance_types.select()) + for row in recs: + type_id = row[0] + type_name = row[1] + migrate_engine.execute(instances.update()\ + .where(instances.c.instance_type_id == type_id)\ + .values(instance_type=type_name)) + + instances.c.instance_type_id.drop() + #instances.c.instance_type.alter(nullable=False) diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index 3b95ac23e..9d4c6cdef 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -209,7 +209,7 @@ class Instance(BASE, NovaBase): hostname = Column(String(255)) host = Column(String(255)) # , ForeignKey('hosts.id')) - instance_type = Column(String(255)) + instance_type_id = Column(String(255)) user_data = Column(Text) @@ -258,7 +258,8 @@ class InstanceActions(BASE, NovaBase): class InstanceTypes(BASE, NovaBase): """Represent possible instance_types or flavor of VM offered""" __tablename__ = "instance_types" - id = Column(Integer, primary_key=True) + id = Column(Integer, ForeignKey('instances.instance_type_id'), + primary_key=True) name = Column(String(255), unique=True) memory_mb = Column(Integer) vcpus = Column(Integer) @@ -268,6 +269,12 @@ class InstanceTypes(BASE, NovaBase): rxtx_quota = Column(Integer, nullable=False, default=0) rxtx_cap = Column(Integer, nullable=False, default=0) + instances = relationship(Instance, + backref=backref('instance_type', uselist=False), + foreign_keys=id, + primaryjoin='and_(Instance.instance_type_id == ' + 'InstanceTypes.id)') + class Volume(BASE, NovaBase): """Represents a block storage device that can be attached to a vm.""" diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index cb5047da9..899dcf7f7 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -32,6 +32,7 @@ from nova import test import nova.api.openstack from nova.api.openstack import servers import nova.compute.api +from nova.compute import instance_types import nova.db.api from nova.db.sqlalchemy.models import Instance from nova.db.sqlalchemy.models import InstanceMetadata @@ -71,13 +72,19 @@ def instance_address(context, instance_id): return None -def stub_instance(id, user_id=1, private_address=None, public_addresses=None): +def stub_instance(id, user_id=1, private_address=None, public_addresses=None, + host=None): metadata = [] metadata.append(InstanceMetadata(key='seq', value=id)) + inst_type = instance_types.get_instance_type_by_flavor_id(1) + if public_addresses == None: public_addresses = list() + if host != None: + host = str(host) + instance = { "id": id, "admin_pass": "", @@ -95,8 +102,8 @@ def stub_instance(id, user_id=1, private_address=None, public_addresses=None): "vcpus": 0, "local_gb": 0, "hostname": "", - "host": None, - "instance_type": "1", + "host": host, + "instance_type": dict(inst_type), "user_data": "", "reservation_id": "", "mac_address": "", @@ -630,7 +637,7 @@ class ServersTest(test.TestCase): self.assertEqual(s['hostId'], '') self.assertEqual(s['name'], 'server%d' % i) self.assertEqual(s['imageId'], '10') - self.assertEqual(s['flavorId'], '1') + self.assertEqual(s['flavorId'], 1) self.assertEqual(s['metadata']['seq'], i) def test_get_all_server_details_v1_1(self): @@ -654,12 +661,8 @@ class ServersTest(test.TestCase): instances - 2 on one host and 3 on another. ''' - def stub_instance(id, user_id=1): - return Instance(id=id, state=0, image_id=10, user_id=user_id, - display_name='server%s' % id, host='host%s' % (id % 2)) - def return_servers_with_host(context, user_id=1): - return [stub_instance(i) for i in xrange(5)] + return [stub_instance(i, 1, None, None, i % 2) for i in xrange(5)] self.stubs.Set(nova.db.api, 'instance_get_all_by_user', return_servers_with_host) @@ -677,7 +680,8 @@ class ServersTest(test.TestCase): self.assertEqual(s['id'], i) self.assertEqual(s['hostId'], host_ids[i % 2]) self.assertEqual(s['name'], 'server%d' % i) - self.assertEqual(s['imageId'], 10) + self.assertEqual(s['imageId'], '10') + self.assertEqual(s['flavorId'], 1) def test_server_pause(self): FLAGS.allow_admin_api = True diff --git a/nova/tests/db/fakes.py b/nova/tests/db/fakes.py index 7ddfe377a..58d251b1e 100644 --- a/nova/tests/db/fakes.py +++ b/nova/tests/db/fakes.py @@ -28,29 +28,34 @@ def stub_out_db_instance_api(stubs, injected=True): """Stubs out the db API for creating Instances.""" INSTANCE_TYPES = { - 'm1.tiny': dict(memory_mb=512, + 'm1.tiny': dict(id=2, + memory_mb=512, vcpus=1, local_gb=0, flavorid=1, rxtx_cap=1), - 'm1.small': dict(memory_mb=2048, + 'm1.small': dict(id=5, + memory_mb=2048, vcpus=1, local_gb=20, flavorid=2, rxtx_cap=2), 'm1.medium': - dict(memory_mb=4096, + dict(id=1, + memory_mb=4096, vcpus=2, local_gb=40, flavorid=3, rxtx_cap=3), - 'm1.large': dict(memory_mb=8192, + 'm1.large': dict(id=3, + memory_mb=8192, vcpus=4, local_gb=80, flavorid=4, rxtx_cap=4), 'm1.xlarge': - dict(memory_mb=16384, + dict(id=4, + memory_mb=16384, vcpus=8, local_gb=160, flavorid=5, @@ -107,6 +112,12 @@ def stub_out_db_instance_api(stubs, injected=True): def fake_instance_type_get_by_name(context, name): return INSTANCE_TYPES[name] + def fake_instance_type_get_by_id(context, id): + for name, inst_type in INSTANCE_TYPES.iteritems(): + if str(inst_type['id']) == str(id): + return inst_type + return None + def fake_network_get_by_instance(context, instance_id): # Even instance numbers are on vlan networks if instance_id % 2 == 0: @@ -136,6 +147,7 @@ def stub_out_db_instance_api(stubs, injected=True): fake_network_get_all_by_instance) stubs.Set(db, 'instance_type_get_all', fake_instance_type_get_all) stubs.Set(db, 'instance_type_get_by_name', fake_instance_type_get_by_name) + stubs.Set(db, 'instance_type_get_by_id', fake_instance_type_get_by_id) stubs.Set(db, 'instance_get_fixed_address', fake_instance_get_fixed_address) stubs.Set(db, 'instance_get_fixed_address_v6', diff --git a/nova/tests/test_compute.py b/nova/tests/test_compute.py index 1b0f426d2..1917dff3e 100644 --- a/nova/tests/test_compute.py +++ b/nova/tests/test_compute.py @@ -84,7 +84,8 @@ class ComputeTestCase(test.TestCase): inst['launch_time'] = '10' inst['user_id'] = self.user.id inst['project_id'] = self.project.id - inst['instance_type'] = 'm1.tiny' + type_id = instance_types.get_instance_type_by_name('m1.tiny')['id'] + inst['instance_type_id'] = type_id inst['mac_address'] = utils.generate_mac() inst['ami_launch_index'] = 0 inst.update(params) @@ -132,7 +133,7 @@ class ComputeTestCase(test.TestCase): cases = [dict(), dict(display_name=None)] for instance in cases: ref = self.compute_api.create(self.context, - FLAGS.default_instance_type, None, **instance) + instance_types.get_default_instance_type(), None, **instance) try: self.assertNotEqual(ref[0]['display_name'], None) finally: @@ -143,7 +144,7 @@ class ComputeTestCase(test.TestCase): group = self._create_group() ref = self.compute_api.create( self.context, - instance_type=FLAGS.default_instance_type, + instance_type=instance_types.get_default_instance_type(), image_id=None, security_group=['testgroup']) try: @@ -161,7 +162,7 @@ class ComputeTestCase(test.TestCase): ref = self.compute_api.create( self.context, - instance_type=FLAGS.default_instance_type, + instance_type=instance_types.get_default_instance_type(), image_id=None, security_group=['testgroup']) try: @@ -177,7 +178,7 @@ class ComputeTestCase(test.TestCase): ref = self.compute_api.create( self.context, - instance_type=FLAGS.default_instance_type, + instance_type=instance_types.get_default_instance_type(), image_id=None, security_group=['testgroup']) @@ -359,8 +360,9 @@ class ComputeTestCase(test.TestCase): instance_id = self._create_instance() self.compute.run_instance(self.context, instance_id) + inst_type = instance_types.get_instance_type_by_name('m1.xlarge') db.instance_update(self.context, instance_id, - {'instance_type': 'm1.xlarge'}) + {'instance_type_id': inst_type['id']}) self.assertRaises(exception.ApiError, self.compute_api.resize, context, instance_id, 1) @@ -380,8 +382,8 @@ class ComputeTestCase(test.TestCase): self.compute.terminate_instance(context, instance_id) def test_get_by_flavor_id(self): - type = instance_types.get_by_flavor_id(1) - self.assertEqual(type, 'm1.tiny') + type = instance_types.get_instance_type_by_flavor_id(1) + self.assertEqual(type['name'], 'm1.tiny') def test_resize_same_source_fails(self): """Ensure instance fails to migrate when source and destination are diff --git a/nova/tests/test_console.py b/nova/tests/test_console.py index d47c70d88..1a9a867ee 100644 --- a/nova/tests/test_console.py +++ b/nova/tests/test_console.py @@ -62,7 +62,7 @@ class ConsoleTestCase(test.TestCase): inst['launch_time'] = '10' inst['user_id'] = self.user.id inst['project_id'] = self.project.id - inst['instance_type'] = 'm1.tiny' + inst['instance_type_id'] = 1 inst['mac_address'] = utils.generate_mac() inst['ami_launch_index'] = 0 return db.instance_create(self.context, inst)['id'] diff --git a/nova/tests/test_instance_types.py b/nova/tests/test_instance_types.py index edc538879..5d6d5e1f4 100644 --- a/nova/tests/test_instance_types.py +++ b/nova/tests/test_instance_types.py @@ -40,7 +40,11 @@ class InstanceTypeTestCase(test.TestCase): max_flavorid = session.query(models.InstanceTypes).\ order_by("flavorid desc").\ first() + max_id = session.query(models.InstanceTypes).\ + order_by("id desc").\ + first() self.flavorid = max_flavorid["flavorid"] + 1 + self.id = max_id["id"] + 1 self.name = str(int(time.time())) def test_instance_type_create_then_delete(self): @@ -53,7 +57,7 @@ class InstanceTypeTestCase(test.TestCase): 'instance type was not created') instance_types.destroy(self.name) self.assertEqual(1, - instance_types.get_instance_type(self.name)["deleted"]) + instance_types.get_instance_type(self.id)["deleted"]) self.assertEqual(starting_inst_list, instance_types.get_all_types()) instance_types.purge(self.name) self.assertEqual(len(starting_inst_list), diff --git a/nova/tests/test_quota.py b/nova/tests/test_quota.py index c65bc459d..39a123158 100644 --- a/nova/tests/test_quota.py +++ b/nova/tests/test_quota.py @@ -67,7 +67,7 @@ class QuotaTestCase(test.TestCase): inst['reservation_id'] = 'r-fakeres' inst['user_id'] = self.user.id inst['project_id'] = self.project.id - inst['instance_type'] = 'm1.large' + inst['instance_type_id'] = '3' # m1.large inst['vcpus'] = cores inst['mac_address'] = utils.generate_mac() return db.instance_create(self.context, inst)['id'] @@ -124,11 +124,12 @@ class QuotaTestCase(test.TestCase): for i in range(FLAGS.quota_instances): instance_id = self._create_instance() instance_ids.append(instance_id) + inst_type = instance_types.get_instance_type_by_name('m1.small') self.assertRaises(quota.QuotaError, compute.API().create, self.context, min_count=1, max_count=1, - instance_type='m1.small', + instance_type=inst_type, image_id=1) for instance_id in instance_ids: db.instance_destroy(self.context, instance_id) @@ -137,11 +138,12 @@ class QuotaTestCase(test.TestCase): instance_ids = [] instance_id = self._create_instance(cores=4) instance_ids.append(instance_id) + inst_type = instance_types.get_instance_type_by_name('m1.small') self.assertRaises(quota.QuotaError, compute.API().create, self.context, min_count=1, max_count=1, - instance_type='m1.small', + instance_type=inst_type, image_id=1) for instance_id in instance_ids: db.instance_destroy(self.context, instance_id) @@ -192,11 +194,12 @@ class QuotaTestCase(test.TestCase): metadata = {} for i in range(FLAGS.quota_metadata_items + 1): metadata['key%s' % i] = 'value%s' % i + inst_type = instance_types.get_instance_type_by_name('m1.small') self.assertRaises(quota.QuotaError, compute.API().create, self.context, min_count=1, max_count=1, - instance_type='m1.small', + instance_type=inst_type, image_id='fake', metadata=metadata) @@ -207,13 +210,15 @@ class QuotaTestCase(test.TestCase): def _create_with_injected_files(self, files): api = compute.API(image_service=self.StubImageService()) + inst_type = instance_types.get_instance_type_by_name('m1.small') api.create(self.context, min_count=1, max_count=1, - instance_type='m1.small', image_id='fake', + instance_type=inst_type, image_id='fake', injected_files=files) def test_no_injected_files(self): api = compute.API(image_service=self.StubImageService()) - api.create(self.context, instance_type='m1.small', image_id='fake') + inst_type = instance_types.get_instance_type_by_name('m1.small') + api.create(self.context, instance_type=inst_type, image_id='fake') def test_max_injected_files(self): files = [] diff --git a/nova/tests/test_scheduler.py b/nova/tests/test_scheduler.py index 6df74dd61..ae56a1a16 100644 --- a/nova/tests/test_scheduler.py +++ b/nova/tests/test_scheduler.py @@ -263,7 +263,7 @@ class SimpleDriverTestCase(test.TestCase): inst['reservation_id'] = 'r-fakeres' inst['user_id'] = self.user.id inst['project_id'] = self.project.id - inst['instance_type'] = 'm1.tiny' + inst['instance_type_id'] = '1' inst['mac_address'] = utils.generate_mac() inst['vcpus'] = kwargs.get('vcpus', 1) inst['ami_launch_index'] = 0 diff --git a/nova/tests/test_virt.py b/nova/tests/test_virt.py index 958c8e3e2..c13cbf043 100644 --- a/nova/tests/test_virt.py +++ b/nova/tests/test_virt.py @@ -140,7 +140,7 @@ class LibvirtConnTestCase(test.TestCase): 'vcpus': 2, 'project_id': 'fake', 'bridge': 'br101', - 'instance_type': 'm1.small'} + 'instance_type_id': '5'} # m1.small def lazy_load_library_exists(self): """check if libvirt is available.""" diff --git a/nova/tests/test_volume.py b/nova/tests/test_volume.py index d71b75f3f..e9d8289aa 100644 --- a/nova/tests/test_volume.py +++ b/nova/tests/test_volume.py @@ -106,7 +106,7 @@ class VolumeTestCase(test.TestCase): inst['launch_time'] = '10' inst['user_id'] = 'fake' inst['project_id'] = 'fake' - inst['instance_type'] = 'm1.tiny' + inst['instance_type_id'] = '2' # m1.tiny inst['mac_address'] = utils.generate_mac() inst['ami_launch_index'] = 0 instance_id = db.instance_create(self.context, inst)['id'] diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py index 17e3f55e9..665ec068e 100644 --- a/nova/tests/test_xenapi.py +++ b/nova/tests/test_xenapi.py @@ -80,7 +80,7 @@ class XenAPIVolumeTestCase(test.TestCase): 'image_id': 1, 'kernel_id': 2, 'ramdisk_id': 3, - 'instance_type': 'm1.large', + 'instance_type_id': '3', # m1.large 'mac_address': 'aa:bb:cc:dd:ee:ff', 'os_type': 'linux'} @@ -328,7 +328,7 @@ class XenAPIVMTestCase(test.TestCase): self.assertEquals(self.vm['HVM_boot_policy'], '') def _test_spawn(self, image_id, kernel_id, ramdisk_id, - instance_type="m1.large", os_type="linux", + instance_type_id="3", os_type="linux", instance_id=1, check_injection=False): stubs.stubout_loopingcall_start(self.stubs) values = {'id': instance_id, @@ -337,7 +337,7 @@ class XenAPIVMTestCase(test.TestCase): 'image_id': image_id, 'kernel_id': kernel_id, 'ramdisk_id': ramdisk_id, - 'instance_type': instance_type, + 'instance_type_id': instance_type_id, 'mac_address': 'aa:bb:cc:dd:ee:ff', 'os_type': os_type} instance = db.instance_create(self.context, values) @@ -349,7 +349,7 @@ class XenAPIVMTestCase(test.TestCase): FLAGS.xenapi_image_service = 'glance' self.assertRaises(Exception, self._test_spawn, - 1, 2, 3, "m1.xlarge") + 1, 2, 3, "4") # m1.xlarge def test_spawn_raw_objectstore(self): FLAGS.xenapi_image_service = 'objectstore' @@ -523,7 +523,7 @@ class XenAPIVMTestCase(test.TestCase): 'image_id': 1, 'kernel_id': 2, 'ramdisk_id': 3, - 'instance_type': 'm1.large', + 'instance_type_id': '3', # m1.large 'mac_address': 'aa:bb:cc:dd:ee:ff', 'os_type': 'linux'} instance = db.instance_create(self.context, values) @@ -580,7 +580,7 @@ class XenAPIMigrateInstance(test.TestCase): 'kernel_id': None, 'ramdisk_id': None, 'local_gb': 5, - 'instance_type': 'm1.large', + 'instance_type_id': '3', # m1.large 'mac_address': 'aa:bb:cc:dd:ee:ff', 'os_type': 'linux'} diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index f34ea7225..6b7fce634 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -797,7 +797,10 @@ class LibvirtConnection(driver.ComputeDriver): root_fname = '%08x' % int(disk_images['image_id']) size = FLAGS.minimum_root_size - if inst['instance_type'] == 'm1.tiny' or suffix == '.rescue': + + inst_type_id = instance['instance_type_id'] + inst_type = instance_types.get_instance_type(inst_type_id) + if inst_type['name'] == 'm1.tiny' or suffix == '.rescue': size = None root_fname += "_sm" @@ -809,14 +812,13 @@ class LibvirtConnection(driver.ComputeDriver): user=user, project=project, size=size) - type_data = instance_types.get_instance_type(inst['instance_type']) - if type_data['local_gb']: + if inst_type['local_gb']: self._cache_image(fn=self._create_local, target=basepath('disk.local'), - fname="local_%s" % type_data['local_gb'], + fname="local_%s" % inst_type['local_gb'], cow=FLAGS.use_cow_images, - local_gb=type_data['local_gb']) + local_gb=inst_type['local_gb']) # For now, we assume that if we're not using a kernel, we're using a # partitioned disk image where the target partition is the first @@ -950,8 +952,8 @@ class LibvirtConnection(driver.ComputeDriver): nics.append(self._get_nic_for_xml(network, mapping)) # FIXME(vish): stick this in db - instance_type_name = instance['instance_type'] - instance_type = instance_types.get_instance_type(instance_type_name) + inst_type_id = instance['instance_type_id'] + inst_type = instance_types.get_instance_type(inst_type_id) if FLAGS.use_cow_images: driver_type = 'qcow2' @@ -962,10 +964,10 @@ class LibvirtConnection(driver.ComputeDriver): 'name': instance['name'], 'basepath': os.path.join(FLAGS.instances_path, instance['name']), - 'memory_kb': instance_type['memory_mb'] * 1024, - 'vcpus': instance_type['vcpus'], + 'memory_kb': inst_type['memory_mb'] * 1024, + 'vcpus': inst_type['vcpus'], 'rescue': rescue, - 'local': instance_type['local_gb'], + 'local': inst_type['local_gb'], 'driver_type': driver_type, 'nics': nics} diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index d07d60800..fd4f3705a 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -101,8 +101,8 @@ class VMHelper(HelperBase): 3. Using hardware virtualization """ - instance_type = instance_types.\ - get_instance_type(instance.instance_type) + inst_type_id = instance.instance_type_id + instance_type = instance_types.get_instance_type(inst_type_id) mem = str(long(instance_type['memory_mb']) * 1024 * 1024) vcpus = str(instance_type['vcpus']) rec = { @@ -169,8 +169,8 @@ class VMHelper(HelperBase): @classmethod def ensure_free_mem(cls, session, instance): - instance_type = instance_types.get_instance_type( - instance.instance_type) + inst_type_id = instance.instance_type_id + instance_type = instance_types.get_instance_type(inst_type_id) mem = long(instance_type['memory_mb']) * 1024 * 1024 #get free memory from host host = session.get_xenapi_host() diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index c96c35a6e..c26965c9a 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -802,8 +802,10 @@ class VMOps(object): instance['id']) networks = db.network_get_all_by_instance(admin_context, instance['id']) - flavor = db.instance_type_get_by_name(admin_context, - instance['instance_type']) + + inst_type = db.instance_type_get_by_id(admin_context, + instance['instance_type_id']) + network_info = [] for network in networks: network_IPs = [ip for ip in IPs if ip.network_id == network.id] @@ -827,7 +829,7 @@ class VMOps(object): 'gateway': network['gateway'], 'broadcast': network['broadcast'], 'mac': instance.mac_address, - 'rxtx_cap': flavor['rxtx_cap'], + 'rxtx_cap': inst_type['rxtx_cap'], 'dns': [network['dns']], 'ips': [ip_dict(ip) for ip in network_IPs]} if network['cidr_v6']: -- cgit From 5c67809e4b9a1546c48316ea52676dfeba8f1a75 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Mon, 4 Apr 2011 15:58:41 -0700 Subject: openstack api requires uppercase image format status responses --- nova/api/openstack/views/images.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nova/api/openstack/views/images.py b/nova/api/openstack/views/images.py index 16195b050..9dec8a355 100644 --- a/nova/api/openstack/views/images.py +++ b/nova/api/openstack/views/images.py @@ -34,11 +34,11 @@ class ViewBuilder(object): def _format_status(self, image): """Update the status field to standardize format.""" status_mapping = { - 'pending': 'queued', - 'decrypting': 'preparing', - 'untarring': 'saving', - 'available': 'active', - 'killed': 'failed', + 'pending': 'QUEUED', + 'decrypting': 'PREPARING', + 'untarring': 'SAVING', + 'available': 'ACTIVE', + 'killed': 'FAILED', } try: -- cgit From a6c283f00d67a5172d8271d7e48bd58484ac6b96 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Mon, 4 Apr 2011 16:00:59 -0700 Subject: openstack api metadata responses must be strings --- nova/api/openstack/views/servers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py index d24c025be..baa911590 100644 --- a/nova/api/openstack/views/servers.py +++ b/nova/api/openstack/views/servers.py @@ -82,7 +82,8 @@ class ViewBuilder(object): # Return the metadata as a dictionary metadata = {} for item in inst.get('metadata', []): - metadata[item['key']] = item['value'] + # metadata values must be strings per API + metadata[item['key']] = str(item['value']) inst_dict['metadata'] = metadata inst_dict['hostId'] = '' -- cgit From 868288b9705ea765b5515fd0ac9e0858f37239d0 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Mon, 4 Apr 2011 16:07:39 -0700 Subject: correct test for numeric/string metadata value conversion --- nova/tests/api/openstack/test_servers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index 313676e72..08a3f5d5a 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -630,7 +630,7 @@ class ServersTest(test.TestCase): self.assertEqual(s['imageId'], '10') self.assertEqual(s['flavorId'], '1') self.assertEqual(s['status'], 'BUILD') - self.assertEqual(s['metadata']['seq'], i) + self.assertEqual(s['metadata']['seq'], str(i)) def test_get_all_server_details_v1_1(self): req = webob.Request.blank('/v1.1/servers/detail') @@ -644,7 +644,7 @@ class ServersTest(test.TestCase): self.assertEqual(s['imageRef'], 'http://localhost/v1.1/images/10') self.assertEqual(s['flavorRef'], 'http://localhost/v1.1/flavors/1') self.assertEqual(s['status'], 'BUILD') - self.assertEqual(s['metadata']['seq'], i) + self.assertEqual(s['metadata']['seq'], str(i)) def test_get_all_server_details_with_host(self): ''' -- cgit From a18fece993c21f2ae1cbb44d8a0dea92d58d3b44 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Mon, 4 Apr 2011 22:16:53 -0400 Subject: Correct variable name. --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index d4cef8d7c..099ef647c 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -798,7 +798,7 @@ class LibvirtConnection(driver.ComputeDriver): root_fname = '%08x' % int(disk_images['image_id']) size = FLAGS.minimum_root_size - inst_type_id = instance['instance_type_id'] + inst_type_id = inst['instance_type_id'] inst_type = instance_types.get_instance_type(inst_type_id) if inst_type['name'] == 'm1.tiny' or suffix == '.rescue': size = None -- cgit From 7702affdbf09127e3e7cdfafcb6382673914438e Mon Sep 17 00:00:00 2001 From: Masanori Itoh Date: Tue, 5 Apr 2011 18:43:11 +0900 Subject: Remove and from AllocateAddress response, and fix bug #751176. --- nova/api/ec2/cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 425784e8a..3b333437b 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -777,7 +777,7 @@ class CloudController(object): def allocate_address(self, context, **kwargs): LOG.audit(_("Allocate address"), context=context) public_ip = self.network_api.allocate_floating_ip(context) - return {'addressSet': [{'publicIp': public_ip}]} + return {'publicIp': public_ip} def release_address(self, context, public_ip, **kwargs): LOG.audit(_("Release address %s"), public_ip, context=context) -- cgit From 2b3aea4be35f370c68ac3c24ab15d4851aa28e94 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Tue, 5 Apr 2011 20:10:10 +0900 Subject: fix bug 746821 --- nova/tests/test_virt.py | 3 ++- nova/virt/libvirt_conn.py | 38 +++++++++++++++++++++++++++----------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/nova/tests/test_virt.py b/nova/tests/test_virt.py index 958c8e3e2..2e9eac0d5 100644 --- a/nova/tests/test_virt.py +++ b/nova/tests/test_virt.py @@ -479,7 +479,7 @@ class LibvirtConnTestCase(test.TestCase): fake_timer = FakeTime() - self.create_fake_libvirt_mock(nwfilterLookupByName=fake_raise) + self.create_fake_libvirt_mock() instance_ref = db.instance_create(self.context, self.test_instance) # Start test @@ -488,6 +488,7 @@ class LibvirtConnTestCase(test.TestCase): conn = libvirt_conn.LibvirtConnection(False) conn.firewall_driver.setattr('setup_basic_filtering', fake_none) conn.firewall_driver.setattr('prepare_instance_filter', fake_none) + conn.firewall_driver.setattr('instance_filter_exists', fake_none) conn.ensure_filtering_rules_for_instance(instance_ref, time=fake_timer) except exception.Error, e: diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index babbc610d..bdf577825 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -1401,18 +1401,13 @@ class LibvirtConnection(driver.ComputeDriver): # wait for completion timeout_count = range(FLAGS.live_migration_retry_count) while timeout_count: - try: - filter_name = 'nova-instance-%s' % instance_ref.name - self._conn.nwfilterLookupByName(filter_name) + if self.firewall_driver.instance_filter_exists(instance_ref): break - except libvirt.libvirtError: - timeout_count.pop() - if len(timeout_count) == 0: - ec2_id = instance_ref['hostname'] - iname = instance_ref.name - msg = _('Timeout migrating for %(ec2_id)s(%(iname)s)') - raise exception.Error(msg % locals()) - time.sleep(1) + timeout_count.pop() + if len(timeout_count) == 0: + msg = _('Timeout migrating for %s. nwfilter not found.') + raise exception.Error(msg % instance_ref.name) + time.sleep(1) def live_migration(self, ctxt, instance_ref, dest, post_method, recover_method): @@ -1541,6 +1536,10 @@ class FirewallDriver(object): """ raise NotImplementedError() + def instance_filter_exists(self, instance): + """Check nova-instance-instance-xxx exists""" + raise NotImplementedError() + class NWFilterFirewall(FirewallDriver): """ @@ -1848,6 +1847,19 @@ class NWFilterFirewall(FirewallDriver): return 'nova-instance-%s' % (instance['name']) return 'nova-instance-%s-%s' % (instance['name'], nic_id) + def instance_filter_exists(self, instance): + """Check nova-instance-instance-xxx exists""" + + network_info = _get_network_info(instance) + for (network, mapping) in network_info: + nic_id = mapping['mac'].replace(':', '') + instance_filter_name = self._instance_filter_name(instance, nic_id) + try: + self._conn.nwfilterLookupByName(instance_filter_name) + except libvirt.libvirtError: + return False + return True + class IptablesFirewallDriver(FirewallDriver): def __init__(self, execute=None, **kwargs): @@ -2037,6 +2049,10 @@ class IptablesFirewallDriver(FirewallDriver): return ipv4_rules, ipv6_rules + def instance_filter_exists(self, instance): + """Check nova-instance-instance-xxx exists""" + return self.nwfilter.instance_filter_exists(instance) + def refresh_security_group_members(self, security_group): pass -- cgit From 4d1f60df049e11623df7d6174eda19e5e27d004e Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Tue, 5 Apr 2011 20:20:32 +0900 Subject: fix bug lp751231 --- nova/compute/manager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 08b772517..37a904b1e 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1090,6 +1090,15 @@ class ComputeManager(manager.SchedulerDependentManager): vm_state = vm_instance.state vms_not_found_in_db.remove(name) + if db_instance['state_description'] == 'migrating': + # A situation which db record exists, but no instance" + # sometimes occurs while live-migration at src compute, + # this case should be ignored. + LOG.info(_("the instance '%(name)s' is not found in hypervisor" + ", while db record is found. But not synchronize " + "since it is migrating." % locals())) + continue + if vm_state != db_state: LOG.info(_("DB/VM state mismatch. Changing state from " "'%(db_state)s' to '%(vm_state)s'") % locals()) -- cgit From ca2ce6dc4a96c7bded2c30c258b7becaee5a1ed7 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Tue, 5 Apr 2011 20:39:22 +0900 Subject: fix bug lp751242 --- nova/compute/api.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nova/compute/api.py b/nova/compute/api.py index 996955fe3..f67aa47e8 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -372,6 +372,10 @@ class API(base.Base): instance_id) return + if (instance['state_description'] == 'migrating'): + LOG.warning(_("Instance %s is being migrated"), instance_id) + return + self.update(context, instance['id'], state_description='terminating', -- cgit From d8ab404fd74facd181eaaee7cbc78b39a82afd1c Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Tue, 5 Apr 2011 08:26:16 -0400 Subject: Add missing underscore. --- nova/api/openstack/image_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/api/openstack/image_metadata.py b/nova/api/openstack/image_metadata.py index 76abdaa7e..c733172ae 100644 --- a/nova/api/openstack/image_metadata.py +++ b/nova/api/openstack/image_metadata.py @@ -46,7 +46,7 @@ class Controller(wsgi.Controller): num_metadata = len(metadata) quota_metadata = quota.allowed_metadata_items(context, num_metadata) if quota_metadata < num_metadata: - expl = ("Image metadata limit exceeded") + expl = _("Image metadata limit exceeded") raise exc.HTTPBadRequest(explanation=expl) def index(self, req, image_id): -- cgit From e6505fd78cc28a5e91ec6fbf55e2e8de07679c7c Mon Sep 17 00:00:00 2001 From: Naveed Massjouni Date: Tue, 5 Apr 2011 10:56:24 -0400 Subject: Fixed the addresses and metadata collections in xml responses. Added corresponding tests. --- nova/api/openstack/servers.py | 7 +++++++ nova/tests/api/openstack/test_servers.py | 36 ++++++++++++++++++++++++++++++++ nova/wsgi.py | 18 ++++++++++++++++ 3 files changed, 61 insertions(+) diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index 6704a68ae..cada92813 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -55,6 +55,13 @@ class Controller(wsgi.Controller): "imageRef"], "link": ["rel", "type", "href"], }, + "dict_collections": { + "metadata": {"item_name": "meta", "item_key": "key"}, + }, + "list_collections": { + "public": {"item_name": "ip", "item_key": "addr"}, + "private": {"item_name": "ip", "item_key": "addr"}, + }, }, } diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index 313676e72..ce9821587 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -192,6 +192,26 @@ class ServersTest(test.TestCase): print res_dict['server'] self.assertEqual(res_dict['server']['links'], expected_links) + def test_get_server_by_id_with_addresses_xml(self): + private = "192.168.0.3" + public = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1') + req.headers['Accept'] = 'application/xml' + res = req.get_response(fakes.wsgi_app()) + dom = minidom.parseString(res.body) + server = dom.childNodes[0] + self.assertEquals(server.nodeName, 'server') + self.assertEquals(server.getAttribute('id'), '1') + self.assertEquals(server.getAttribute('name'), 'server1') + (public,) = server.getElementsByTagName('public'); + (ip,) = public.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), '1.2.3.4') + (private,) = server.getElementsByTagName('private') + (ip,) = private.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), '192.168.0.3') + def test_get_server_by_id_with_addresses(self): private = "192.168.0.3" public = ["1.2.3.4"] @@ -618,6 +638,22 @@ class ServersTest(test.TestCase): res = req.get_response(fakes.wsgi_app()) self.assertEqual(res.status_int, 404) + def test_get_all_server_details_xml_v1_0(self): + req = webob.Request.blank('/v1.0/servers/detail') + req.headers['Accept'] = 'application/xml' + res = req.get_response(fakes.wsgi_app()) + print res.body + dom = minidom.parseString(res.body) + for i, server in enumerate(dom.getElementsByTagName('server')): + self.assertEqual(server.getAttribute('id'), str(i)) + self.assertEqual(server.getAttribute('hostId'), '') + self.assertEqual(server.getAttribute('name'), 'server%d' % i) + self.assertEqual(server.getAttribute('imageId'), '10') + self.assertEqual(server.getAttribute('status'), 'BUILD') + (meta,) = server.getElementsByTagName('meta') + self.assertEqual(meta.getAttribute('key'), 'seq') + self.assertEqual(meta.firstChild.data.strip(), str(i)) + def test_get_all_server_details_v1_0(self): req = webob.Request.blank('/v1.0/servers/detail') res = req.get_response(fakes.wsgi_app()) diff --git a/nova/wsgi.py b/nova/wsgi.py index ba0819466..a550a33b0 100644 --- a/nova/wsgi.py +++ b/nova/wsgi.py @@ -484,6 +484,14 @@ class Serializer(object): """Recursive method to convert data members to XML nodes.""" result = doc.createElement(nodename) if type(data) is list: + collections = metadata.get('list_collections', {}) + if nodename in collections: + metadata = collections[nodename] + for item in data: + node = doc.createElement(metadata['item_name']) + node.setAttribute(metadata['item_key'], str(item)) + result.appendChild(node) + return result singular = metadata.get('plurals', {}).get(nodename, None) if singular is None: if nodename.endswith('s'): @@ -494,6 +502,16 @@ class Serializer(object): node = self._to_xml_node(doc, metadata, singular, item) result.appendChild(node) elif type(data) is dict: + collections = metadata.get('dict_collections', {}) + if nodename in collections: + metadata = collections[nodename] + for k, v in data.items(): + node = doc.createElement(metadata['item_name']) + node.setAttribute(metadata['item_key'], str(k)) + text = doc.createTextNode(str(v)) + node.appendChild(text) + result.appendChild(node) + return result attrs = metadata.get('attributes', {}).get(nodename, {}) for k, v in data.items(): if k in attrs: -- cgit From 3bb6e627fd99a307825f88ff8882e974bcf1b365 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Tue, 5 Apr 2011 13:02:42 -0400 Subject: Remove comments. --- .../migrate_repo/versions/014_add_instance_type_id_to_instances.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py b/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py index 813e57e10..b12a0a801 100644 --- a/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py +++ b/nova/db/sqlalchemy/migrate_repo/versions/014_add_instance_type_id_to_instances.py @@ -63,7 +63,6 @@ def upgrade(migrate_engine): .values(instance_type_id=type_id)) instances.c.instance_type.drop() - #instances.c.instance_type_id.alter(nullable=False) def downgrade(migrate_engine): @@ -83,4 +82,3 @@ def downgrade(migrate_engine): .values(instance_type=type_name)) instances.c.instance_type_id.drop() - #instances.c.instance_type.alter(nullable=False) -- cgit From 3c487493de2a0f827780d54080797bfe70183ba6 Mon Sep 17 00:00:00 2001 From: Naveed Massjouni Date: Tue, 5 Apr 2011 17:49:38 -0400 Subject: Removing naughty semicolon. --- nova/tests/api/openstack/test_servers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index ce9821587..a424a8105 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -205,7 +205,7 @@ class ServersTest(test.TestCase): self.assertEquals(server.nodeName, 'server') self.assertEquals(server.getAttribute('id'), '1') self.assertEquals(server.getAttribute('name'), 'server1') - (public,) = server.getElementsByTagName('public'); + (public,) = server.getElementsByTagName('public') (ip,) = public.getElementsByTagName('ip') self.assertEquals(ip.getAttribute('addr'), '1.2.3.4') (private,) = server.getElementsByTagName('private') -- cgit From 56eb682a169c20a9a8275b3b9bfd423f0d562cbc Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 5 Apr 2011 15:01:33 -0700 Subject: unite the filtering done by glance client and s3 --- bin/nova-manage | 14 ++++++-------- nova/api/ec2/cloud.py | 2 +- nova/image/glance.py | 28 ---------------------------- nova/image/local.py | 4 +++- nova/image/s3.py | 45 +++------------------------------------------ nova/image/service.py | 27 +++++++++++++++++++++++++++ 6 files changed, 40 insertions(+), 80 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index fbf16f570..bfff227c9 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -897,15 +897,14 @@ class ImageCommands(object): def _register(self, container_format, disk_format, path, owner, name=None, is_public='T', architecture='x86_64', kernel_id=None, ramdisk_id=None): - meta = {'is_public': True, + meta = {'is_public': (is_public == 'T'), 'name': name, 'container_format': container_format, 'disk_format': disk_format, 'properties': {'image_state': 'available', - 'owner_id': owner, + 'project_id': owner, 'architecture': architecture, - 'image_location': 'local', - 'is_public': (is_public == 'T')}} + 'image_location': 'local'}} if kernel_id: meta['properties']['kernel_id'] = int(kernel_id) if ramdisk_id: @@ -980,13 +979,12 @@ class ImageCommands(object): disk_format = 'raw' new = {'disk_format': disk_format, 'container_format': container_format, - 'is_public': True, + 'is_public': old['isPublic'], 'name': old['imageId'], 'properties': {'image_state': old['imageState'], - 'owner_id': old['imageOwnerId'], + 'project_id': old['imageOwnerId'], 'architecture': old['architecture'], - 'image_location': old['imageLocation'], - 'is_public': old['isPublic']}} + 'image_location': old['imageLocation']}} if old.get('kernelId'): new['properties']['kernel_id'] = self._lookup(old['kernelId']) if old.get('ramdiskId'): diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 02a30220a..b4705820e 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -927,7 +927,7 @@ class CloudController(object): 'ari': 'ramdisk', 'ami': 'machine'} i['imageType'] = display_mapping.get(image_type) - i['isPublic'] = str(image['properties'].get('is_public', '')) == 'True' + i['isPublic'] = image.get('is_public') == True i['architecture'] = image['properties'].get('architecture') return i diff --git a/nova/image/glance.py b/nova/image/glance.py index fdf468594..e583c504d 100644 --- a/nova/image/glance.py +++ b/nova/image/glance.py @@ -186,34 +186,6 @@ class GlanceImageService(service.BaseImageService): image_meta = _convert_timestamps_to_datetimes(image_meta) return image_meta - @staticmethod - def _is_image_available(context, image_meta): - """ - Images are always available if they are public or if the user is an - admin. - - Otherwise, we filter by project_id (if present) and then fall-back to - images owned by user. - """ - # FIXME(sirp): We should be filtering by user_id on the Glance side - # for security; however, we can't do that until we get authn/authz - # sorted out. Until then, filtering in Nova. - if image_meta['is_public'] or context.is_admin: - return True - - properties = image_meta['properties'] - - if context.project_id and ('project_id' in properties): - return str(properties['project_id']) == str(project_id) - - try: - user_id = properties['user_id'] - except KeyError: - return False - - return str(user_id) == str(context.user_id) - - # utility functions def _convert_timestamps_to_datetimes(image_meta): """ diff --git a/nova/image/local.py b/nova/image/local.py index 1fb6e1f13..92d3dabd4 100644 --- a/nova/image/local.py +++ b/nova/image/local.py @@ -84,7 +84,9 @@ class LocalImageService(service.BaseImageService): def show(self, context, image_id): try: with open(self._path_to(image_id)) as metadata_file: - return json.load(metadata_file) + image_meta = json.load(metadata_file) + if not self._is_image_available(context, image_meta): + raise exception.NotFound except (IOError, ValueError): raise exception.NotFound diff --git a/nova/image/s3.py b/nova/image/s3.py index def49f682..93af21022 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -58,54 +58,16 @@ class S3ImageService(service.BaseImageService): return image def delete(self, context, image_id): - # FIXME(vish): call to show is to check filter + # FIXME(vish): call to show is to check visibility self.show(context, image_id) self.service.delete(context, image_id) def update(self, context, image_id, metadata, data=None): - # FIXME(vish): call to show is to check filter + # FIXME(vish): call to show is to check visibility self.show(context, image_id) image = self.service.update(context, image_id, metadata, data) return image - def index(self, context): - images = self.service.index(context) - # FIXME(vish): index doesn't filter so we do it manually - return self._filter(context, images) - - def detail(self, context): - images = self.service.detail(context) - # FIXME(vish): detail doesn't filter so we do it manually - return self._filter(context, images) - - @classmethod - def _is_visible(cls, context, image): - - return (context.is_admin - or context.project_id == image['properties'].get('owner_id') - or str(image['properties'].get('is_public')) == 'True') - - @classmethod - def _filter(cls, context, images): - filtered = [] - for image in images: - if not cls._is_visible(context, image): - continue - filtered.append(image) - return filtered - - def show(self, context, image_id): - image = self.service.show(context, image_id) - if not self._is_visible(context, image): - raise exception.NotFound - return image - - def show_by_name(self, context, name): - image = self.service.show_by_name(context, name) - if not self._is_visible(context, image): - raise exception.NotFound - return image - @staticmethod def _conn(context): # TODO(vish): is there a better way to get creds to sign @@ -168,7 +130,7 @@ class S3ImageService(service.BaseImageService): arch = 'x86_64' properties = metadata['properties'] - properties['owner_id'] = context.project_id + properties['project_id'] = context.project_id properties['architecture'] = arch if kernel_id: @@ -177,7 +139,6 @@ class S3ImageService(service.BaseImageService): if ramdisk_id: properties['ramdisk_id'] = ec2utils.ec2_id_to_id(ramdisk_id) - properties['is_public'] = False metadata.update({'disk_format': image_format, 'container_format': image_format, 'status': 'queued', diff --git a/nova/image/service.py b/nova/image/service.py index b9897ecae..fddc72409 100644 --- a/nova/image/service.py +++ b/nova/image/service.py @@ -136,6 +136,33 @@ class BaseImageService(object): """ raise NotImplementedError + @staticmethod + def _is_image_available(context, image_meta): + """ + Images are always available if they are public or if the user is an + admin. + + Otherwise, we filter by project_id (if present) and then fall-back to + images owned by user. + """ + # FIXME(sirp): We should be filtering by user_id on the Glance side + # for security; however, we can't do that until we get authn/authz + # sorted out. Until then, filtering in Nova. + if image_meta['is_public'] or context.is_admin: + return True + + properties = image_meta['properties'] + + if context.project_id and ('project_id' in properties): + return str(properties['project_id']) == str(context.project_id) + + try: + user_id = properties['user_id'] + except KeyError: + return False + + return str(user_id) == str(context.user_id) + @classmethod def _translate_to_base(cls, metadata): """Return a metadata dictionary that is BaseImageService compliant. -- cgit From 8eff0a91bbc475d8559b39fb81e1a62beda841f3 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 5 Apr 2011 15:35:17 -0700 Subject: update and fix tests --- nova/image/local.py | 1 + nova/image/s3.py | 13 +++++++++++++ nova/tests/api/openstack/test_servers.py | 16 +++++++--------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/nova/image/local.py b/nova/image/local.py index 92d3dabd4..bad4c2d85 100644 --- a/nova/image/local.py +++ b/nova/image/local.py @@ -87,6 +87,7 @@ class LocalImageService(service.BaseImageService): image_meta = json.load(metadata_file) if not self._is_image_available(context, image_meta): raise exception.NotFound + return image_meta except (IOError, ValueError): raise exception.NotFound diff --git a/nova/image/s3.py b/nova/image/s3.py index 93af21022..a7301eefd 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -46,6 +46,7 @@ flags.DEFINE_string('image_decryption_dir', '/tmp', class S3ImageService(service.BaseImageService): + """Wraps an existing image service to support s3 based register""" def __init__(self, service=None, *args, **kwargs): if service == None: service = utils.import_object(FLAGS.image_service) @@ -68,6 +69,18 @@ class S3ImageService(service.BaseImageService): image = self.service.update(context, image_id, metadata, data) return image + def index(self, context): + return self.service.index(context) + + def detail(self, context): + return self.service.detail(context) + + def show(self, context, image_id): + return self.service.show(context, image_id) + + def show_by_name(self, context, name): + return self.service.show(context, name) + @staticmethod def _conn(context): # TODO(vish): is there a better way to get creds to sign diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index 313676e72..1ec01bb4c 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -1525,29 +1525,27 @@ class TestGetKernelRamdiskFromImage(test.TestCase): def test_not_ami(self): """Anything other than ami should return no kernel and no ramdisk""" - image_meta = {'id': 1, 'status': 'active', - 'properties': {'disk_format': 'vhd'}} + image_meta = {'id': 1, 'status': 'active', 'container_format': 'vhd'} kernel_id, ramdisk_id = self._get_k_r(image_meta) self.assertEqual(kernel_id, None) self.assertEqual(ramdisk_id, None) def test_ami_no_kernel(self): """If an ami is missing a kernel it should raise NotFound""" - image_meta = {'id': 1, 'status': 'active', - 'properties': {'disk_format': 'ami', 'ramdisk_id': 1}} + image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami', + 'properties': {'ramdisk_id': 1}} self.assertRaises(exception.NotFound, self._get_k_r, image_meta) def test_ami_no_ramdisk(self): """If an ami is missing a ramdisk it should raise NotFound""" - image_meta = {'id': 1, 'status': 'active', - 'properties': {'disk_format': 'ami', 'kernel_id': 1}} + image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami', + 'properties': {'kernel_id': 1}} self.assertRaises(exception.NotFound, self._get_k_r, image_meta) def test_ami_kernel_ramdisk_present(self): """Return IDs if both kernel and ramdisk are present""" - image_meta = {'id': 1, 'status': 'active', - 'properties': {'disk_format': 'ami', 'kernel_id': 1, - 'ramdisk_id': 2}} + image_meta = {'id': 1, 'status': 'active', 'container_format': 'ami', + 'properties': {'kernel_id': 1, 'ramdisk_id': 2}} kernel_id, ramdisk_id = self._get_k_r(image_meta) self.assertEqual(kernel_id, 1) self.assertEqual(ramdisk_id, 2) -- cgit From 5f414311fb581ba612cf152f3ec9983d5f39c2e4 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 5 Apr 2011 15:45:01 -0700 Subject: fallback to status if image_state is not set --- nova/api/ec2/cloud.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index b4705820e..4e5b8bfc6 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -920,7 +920,11 @@ class CloudController(object): get('image_location'), name) else: i['imageLocation'] = image['properties'].get('image_location') - i['imageState'] = image['properties'].get('image_state') + # NOTE(vish): fallback status if image_state isn't set + state = image.get('status') + if state == 'active': + state = 'available' + i['imageState'] = image['properties'].get('image_state', state) i['displayName'] = name i['description'] = image.get('description') display_mapping = {'aki': 'kernel', -- cgit From 75082c44cdc0319c56805b5558927760636eaf4b Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Tue, 5 Apr 2011 15:49:43 -0700 Subject: pep8 --- nova/image/glance.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nova/image/glance.py b/nova/image/glance.py index e583c504d..f848f40d8 100644 --- a/nova/image/glance.py +++ b/nova/image/glance.py @@ -186,6 +186,7 @@ class GlanceImageService(service.BaseImageService): image_meta = _convert_timestamps_to_datetimes(image_meta) return image_meta + # utility functions def _convert_timestamps_to_datetimes(image_meta): """ -- cgit From a254fd9b63c48f64a62fd38df3a2caae81ce63c7 Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Tue, 5 Apr 2011 18:29:53 -0500 Subject: typo --- nova/virt/xenapi/vmops.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index c96c35a6e..ef2ab09b9 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -814,12 +814,11 @@ class VMOps(object): "netmask": network["netmask"], "enabled": "1"} - def ip6_dict(ip6): + def ip6_dict(): return { "ip": utils.to_global_ipv6(network['cidr_v6'], instance['mac_address']), "netmask": network['netmask_v6'], - "gateway": network['gateway_v6'], "enabled": "1"} info = { @@ -831,7 +830,9 @@ class VMOps(object): 'dns': [network['dns']], 'ips': [ip_dict(ip) for ip in network_IPs]} if network['cidr_v6']: - info['ip6s'] = [ip6_dict(ip) for ip in network_IPs] + info['ip6s'] = [ip6_dict()] + if network['gateway_v6']: + info['gateway6'] = network['gateway_v6'], network_info.append((network, info)) return network_info -- cgit From d137ffdc2fb4e0298a6fb177df9e6a8299320301 Mon Sep 17 00:00:00 2001 From: John Tran Date: Tue, 5 Apr 2011 18:35:15 -0700 Subject: Add a patch for python eventlet, when using install_venv.py (see FAQ # 1485) --- tools/eventlet-patch | 24 ++++++++++++++++++++++++ tools/install_venv.py | 6 ++++++ 2 files changed, 30 insertions(+) create mode 100644 tools/eventlet-patch diff --git a/tools/eventlet-patch b/tools/eventlet-patch new file mode 100644 index 000000000..c87c5f279 --- /dev/null +++ b/tools/eventlet-patch @@ -0,0 +1,24 @@ +# HG changeset patch +# User Soren Hansen +# Date 1297678255 -3600 +# Node ID 4c846d555010bb5a91ab4da78dfe596451313742 +# Parent 5b7e9946c79f005c028eb63207cf5eb7bb21d1c3 +Don't attempt to wrap GreenPipes in GreenPipe + +If the os module is monkeypatched, Python's standard subprocess module +will return greenio.GreenPipe instances for Popen objects' stdin, stdout, +and stderr attributes. However, eventlet.green.subprocess tries to wrap +these attributes in another greenio.GreenPipe, which GreenPipe refuses. + +diff -r 5b7e9946c79f -r 4c846d555010 eventlet/green/subprocess.py +--- a/eventlet/green/subprocess.py Sat Feb 05 13:05:05 2011 -0800 ++++ b/eventlet/green/subprocess.py Mon Feb 14 11:10:55 2011 +0100 +@@ -27,7 +27,7 @@ + # eventlet.processes.Process.run() method. + for attr in "stdin", "stdout", "stderr": + pipe = getattr(self, attr) +- if pipe is not None: ++ if pipe is not None and not type(pipe) == greenio.GreenPipe: + wrapped_pipe = greenio.GreenPipe(pipe, pipe.mode, bufsize) + setattr(self, attr, wrapped_pipe) + __init__.__doc__ = subprocess_orig.Popen.__init__.__doc__ diff --git a/tools/install_venv.py b/tools/install_venv.py index 4e3941210..30ec85374 100644 --- a/tools/install_venv.py +++ b/tools/install_venv.py @@ -103,6 +103,12 @@ def install_dependencies(venv=VENV): pthfile = os.path.join(venv, "lib", "python2.6", "site-packages", "nova.pth") f = open(pthfile, 'w') f.write("%s\n" % ROOT) + # Patch eventlet (see FAQ # 1485) + patchsrc = os.path.join(ROOT, 'tools', 'eventlet-patch') + patchfile = os.path.join(venv, "lib", "python2.6", "site-packages", "eventlet", + "green", "subprocess.py") + patch_cmd = "patch %s %s" % (patchfile, patchsrc) + os.system(patch_cmd) def print_help(): -- cgit From 44eefb1eefda5e42a286ee1aa689c1c93e72aae4 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Wed, 6 Apr 2011 14:44:19 +0900 Subject: fixed based on reviwer's comment --- nova/compute/api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/compute/api.py b/nova/compute/api.py index f67aa47e8..db04143c1 100644 --- a/nova/compute/api.py +++ b/nova/compute/api.py @@ -367,12 +367,12 @@ class API(base.Base): instance_id) raise - if (instance['state_description'] == 'terminating'): + if instance['state_description'] == 'terminating': LOG.warning(_("Instance %s is already being terminated"), instance_id) return - if (instance['state_description'] == 'migrating'): + if instance['state_description'] == 'migrating': LOG.warning(_("Instance %s is being migrated"), instance_id) return -- cgit From dbeab47bbdeceab0bef896c9d7646ae346c9dd3a Mon Sep 17 00:00:00 2001 From: Johannes Erdfelt Date: Wed, 6 Apr 2011 09:05:12 -0700 Subject: Wait for device node to be created after mounting image VDI --- nova/virt/xenapi/vm_utils.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index d07d60800..d29456ec6 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -49,6 +49,8 @@ LOG = logging.getLogger("nova.virt.xenapi.vm_utils") FLAGS = flags.FLAGS flags.DEFINE_string('default_os_type', 'linux', 'Default OS type') +flags.DEFINE_integer('timeout_block', 10, + 'time to wait for a block device to be created') XENAPI_POWER_STATE = { 'Halted': power_state.SHUTDOWN, @@ -896,6 +898,16 @@ def remap_vbd_dev(dev): return remapped_dev +def _wait_for_device(dev): + """Wait for device node to appear""" + for i in xrange(0, FLAGS.timeout_block): + if os.path.exists('/dev/%s' % dev): + return + time.sleep(1) + + raise StorageError(_('Timeout waiting for device %s to be created') % dev) + + def with_vdi_attached_here(session, vdi_ref, read_only, f): this_vm_ref = get_this_vm_ref(session) vbd_rec = {} @@ -924,6 +936,7 @@ def with_vdi_attached_here(session, vdi_ref, read_only, f): if dev != orig_dev: LOG.debug(_('VBD %(vbd_ref)s plugged into wrong dev, ' 'remapping to %(dev)s') % locals()) + _wait_for_device(dev) return f(dev) finally: LOG.debug(_('Destroying VBD for VDI %s ... '), vdi_ref) -- cgit From 0a8ca1bb7f123718ae48bb842b1c532b07f03890 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Wed, 6 Apr 2011 18:10:42 +0200 Subject: Create ca_folder if it does not already exist. --- nova/crypto.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nova/crypto.py b/nova/crypto.py index 2b122e560..9b1897926 100644 --- a/nova/crypto.py +++ b/nova/crypto.py @@ -269,6 +269,8 @@ def _sign_csr(csr_text, ca_folder): LOG.debug(_("Flags path: %s"), ca_folder) start = os.getcwd() # Change working dir to CA + if not os.path.exists(ca_folder): + os.makedirs(ca_folder) os.chdir(ca_folder) utils.execute('openssl', 'ca', '-batch', '-out', outbound, '-config', './openssl.cnf', '-infiles', inbound) -- cgit From 481a77134a4e0e1d668fa488d7c5b1d7e1bc5429 Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 11:15:35 -0500 Subject: modified behavior of inject_network_info and reset_network related to a vm_ref not being passed in --- nova/virt/xenapi/vmops.py | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index ef2ab09b9..f02beda24 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -176,7 +176,7 @@ class VMOps(object): vdi_ref, network_info) self.create_vifs(vm_ref, network_info) - self.inject_network_info(instance, vm_ref, network_info) + self.inject_network_info(instance, network_info, vm_ref) return vm_ref def _spawn(self, instance, vm_ref): @@ -836,15 +836,31 @@ class VMOps(object): network_info.append((network, info)) return network_info - def inject_network_info(self, instance, vm_ref, network_info): + #TODO{tr3buchet) remove this shim with nova-multi-nic + def inject_network_info(self, instance, network_info=None, vm_ref=None): + """ + shim in place which makes inject_network_info work without being + passed network_info. + shim goes away after nova-multi-nic + """ + if not network_info: + network_info = self._get_network_info(instance) + self._inject_network_info(instance, network_info, vm_ref) + + def _inject_network_info(self, instance, network_info, vm_ref=None): """ Generate the network info and make calls to place it into the xenstore and the xenstore param list. + vm_ref can be passed in because it will sometimes be different than + what VMHelper.lookup(session, instance.name) will find (ex: rescue) """ logging.debug(_("injecting network info to xs for vm: |%s|"), vm_ref) - # this function raises if vm_ref is not a vm_opaque_ref - self._session.get_xenapi().VM.get_record(vm_ref) + if vm_ref: + # this function raises if vm_ref is not a vm_opaque_ref + self._session.get_xenapi().VM.get_record(vm_ref) + else: + vm_ref = VMHelper.lookup(self._session, instance.name) for (network, info) in network_info: location = 'vm-data/networking/%s' % info['mac'].replace(':', '') @@ -876,8 +892,10 @@ class VMOps(object): VMHelper.create_vif(self._session, vm_ref, network_ref, mac_address, device, rxtx_cap) - def reset_network(self, instance, vm_ref): + def reset_network(self, instance, vm_ref=None): """Creates uuid arg to pass to make_agent_call and calls it.""" + if not vm_ref: + vm_ref = VMHelper.lookup(self._session, instance.name) args = {'id': str(uuid.uuid4())} # TODO(tr3buchet): fix function call after refactor #resp = self._make_agent_call('resetnetwork', instance, '', args) -- cgit From e46d78218eec77f8502579496ee0922ce401e84a Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 12:33:07 -0500 Subject: updated _prepare_injectables() to use info[gateway6] instead of looking inside the ip6 address dict for the gateway6 information --- nova/virt/xenapi/vm_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index d07d60800..886f1ec88 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -1130,7 +1130,7 @@ def _prepare_injectables(inst, networks_info): 'dns': dns, 'address_v6': ip_v6 and ip_v6['ip'] or '', 'netmask_v6': ip_v6 and ip_v6['netmask'] or '', - 'gateway_v6': ip_v6 and ip_v6['gateway'] or '', + 'gateway_v6': ip_v6 and info['gateway6'] or '', 'use_ipv6': FLAGS.use_ipv6} interfaces_info.append(interface_info) -- cgit From c18bf716f08e6b9fbdc259755cf172b5a6cf096a Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 12:52:25 -0500 Subject: updated get_network_info in libvirt_conn to correctly insert ip6s and gateway6 into the network info, also small style fixes --- nova/virt/libvirt_conn.py | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 2be190256..f1fa859ed 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -169,34 +169,34 @@ def _get_network_info(instance): instance['id']) network_info = [] - def ip_dict(ip): - return { - "ip": ip.address, - "netmask": network["netmask"], - "enabled": "1"} - - def ip6_dict(ip6): - prefix = ip6.network.cidr_v6 - mac = instance.mac_address - return { - "ip": utils.to_global_ipv6(prefix, mac), - "netmask": ip6.network.netmask_v6, - "gateway": ip6.network.gateway_v6, - "enabled": "1"} - for network in networks: network_ips = [ip for ip in ip_addresses - if ip.network_id == network.id] + if ip['network_id'] == network['id']] + + def ip_dict(ip): + return { + 'ip': ip['address'], + 'netmask': network['netmask'], + 'enabled': '1'} + + def ip6_dict(): + prefix = network['cidr_v6'] + mac = instance['mac_address'] + return { + 'ip': utils.to_global_ipv6(prefix, mac), + 'netmask': network['netmask_v6'], + 'enabled': '1'} mapping = { 'label': network['label'], 'gateway': network['gateway'], - 'mac': instance.mac_address, + 'mac': instance['mac_address'], 'dns': [network['dns']], 'ips': [ip_dict(ip) for ip in network_ips]} if FLAGS.use_ipv6: - mapping['ip6s'] = [ip6_dict(ip) for ip in network_ips] + mapping['ip6s'] = [ip6_dict()] + mapping['gateway6'] = network['gateway_v6'], network_info.append((network, mapping)) return network_info -- cgit From d5c077131e00f41a38fa03fdbea46aa4351f95b5 Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 13:05:39 -0500 Subject: updated check_vm_record in test_xenapi to check the gateway6 correctly --- nova/tests/test_xenapi.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nova/tests/test_xenapi.py b/nova/tests/test_xenapi.py index 17e3f55e9..42fe8f3fa 100644 --- a/nova/tests/test_xenapi.py +++ b/nova/tests/test_xenapi.py @@ -289,11 +289,11 @@ class XenAPIVMTestCase(test.TestCase): 'enabled':'1'}], 'ip6s': [{'ip': 'fe80::a8bb:ccff:fedd:eeff', 'netmask': '120', - 'enabled': '1', - 'gateway': 'fe80::a00:1'}], + 'enabled': '1'}], 'mac': 'aa:bb:cc:dd:ee:ff', 'dns': ['10.0.0.2'], - 'gateway': '10.0.0.1'}) + 'gateway': '10.0.0.1', + 'gateway6': 'fe80::a00:1'}) def check_vm_params_for_windows(self): self.assertEquals(self.vm['platform']['nx'], 'true') -- cgit From 07113a8ff0210bce81de5ef8a948cc0ff32d6623 Mon Sep 17 00:00:00 2001 From: Josh Kearney Date: Wed, 6 Apr 2011 13:27:43 -0500 Subject: Incorprate johannes.erdfelt's patch --- .../xenapi/etc/xapi.d/plugins/xenstore.py | 35 ++++++++++++---------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py b/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py index a35ccd6ab..d33c7346b 100755 --- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py +++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/xenstore.py @@ -56,16 +56,17 @@ def read_record(self, arg_dict): and boolean True, attempting to read a non-existent path will return the string 'None' instead of raising an exception. """ - cmd = "xenstore-read /local/domain/%(dom_id)s/%(path)s" % arg_dict + cmd = ["xenstore-read", "/local/domain/%(dom_id)s/%(path)s" % arg_dict] try: - return _run_command(cmd).rstrip("\n") + ret, result = _run_command(cmd) + return result.rstrip("\n") except pluginlib.PluginError, e: if arg_dict.get("ignore_missing_path", False): - cmd = "xenstore-exists /local/domain/%(dom_id)s/%(path)s; echo $?" - cmd = cmd % arg_dict - ret = _run_command(cmd).strip() + cmd = ["xenstore-exists", + "/local/domain/%(dom_id)s/%(path)s" % arg_dict] + ret, result = _run_command(cmd).strip() # If the path exists, the cmd should return "0" - if ret != "0": + if ret != 0: # No such path, so ignore the error and return the # string 'None', since None can't be marshalled # over RPC. @@ -83,8 +84,9 @@ def write_record(self, arg_dict): you must specify a 'value' key, whose value must be a string. Typically, you can json-ify more complex values and store the json output. """ - cmd = "xenstore-write /local/domain/%(dom_id)s/%(path)s '%(value)s'" - cmd = cmd % arg_dict + cmd = ["xenstore-write", + "/local/domain/%(dom_id)s/%(path)s" % arg_dict, + arg_dict["value"]] _run_command(cmd) return arg_dict["value"] @@ -96,10 +98,10 @@ def list_records(self, arg_dict): path as the key and the stored value as the value. If the path doesn't exist, an empty dict is returned. """ - cmd = "xenstore-ls /local/domain/%(dom_id)s/%(path)s" % arg_dict - cmd = cmd.rstrip("/") + dirpath = "/local/domain/%(dom_id)s/%(path)s" % arg_dict + cmd = ["xenstore-ls", dirpath.rstrip("/")] try: - recs = _run_command(cmd) + ret, recs = _run_command(cmd) except pluginlib.PluginError, e: if "No such file or directory" in "%s" % e: # Path doesn't exist. @@ -128,8 +130,9 @@ def delete_record(self, arg_dict): """Just like it sounds: it removes the record for the specified VM and the specified path from xenstore. """ - cmd = "xenstore-rm /local/domain/%(dom_id)s/%(path)s" % arg_dict - return _run_command(cmd) + cmd = ["xenstore-rm", "/local/domain/%(dom_id)s/%(path)s" % arg_dict] + ret, result = _run_command(cmd) + return result def _paths_from_ls(recs): @@ -171,9 +174,9 @@ def _run_command(cmd): Otherwise, the output from stdout is returned. """ pipe = subprocess.PIPE - proc = subprocess.Popen([cmd], shell=True, stdin=pipe, stdout=pipe, - stderr=pipe, close_fds=True) - proc.wait() + proc = subprocess.Popen(cmd, stdin=pipe, stdout=pipe, stderr=pipe, + close_fds=True) + ret = proc.wait() err = proc.stderr.read() if err: raise pluginlib.PluginError(err) -- cgit From d3fec5c2c3de2d3a1ef0fd1fd809ff248b6df5a8 Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 13:31:51 -0500 Subject: syntax error --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index f1fa859ed..50b09d19b 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -196,7 +196,7 @@ def _get_network_info(instance): if FLAGS.use_ipv6: mapping['ip6s'] = [ip6_dict()] - mapping['gateway6'] = network['gateway_v6'], + mapping['gateway6'] = network['gateway_v6'] network_info.append((network, mapping)) return network_info -- cgit From c649c8d5febab7d0dfa329bc5d78f0147383c5ee Mon Sep 17 00:00:00 2001 From: Johannes Erdfelt Date: Wed, 6 Apr 2011 11:36:08 -0700 Subject: Use a more descriptive name for the flag to make it easier to understand the purpose --- nova/virt/xenapi/vm_utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index d29456ec6..cf2adb44c 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -49,7 +49,7 @@ LOG = logging.getLogger("nova.virt.xenapi.vm_utils") FLAGS = flags.FLAGS flags.DEFINE_string('default_os_type', 'linux', 'Default OS type') -flags.DEFINE_integer('timeout_block', 10, +flags.DEFINE_integer('block_device_creation_timeout', 10, 'time to wait for a block device to be created') XENAPI_POWER_STATE = { @@ -900,7 +900,7 @@ def remap_vbd_dev(dev): def _wait_for_device(dev): """Wait for device node to appear""" - for i in xrange(0, FLAGS.timeout_block): + for i in xrange(0, FLAGS.block_device_creation_timeout): if os.path.exists('/dev/%s' % dev): return time.sleep(1) -- cgit From 560d36e7ad87ca7e8f8619e146ed4965f33dd391 Mon Sep 17 00:00:00 2001 From: Trey Morris Date: Wed, 6 Apr 2011 13:43:02 -0500 Subject: another syntax error --- nova/virt/xenapi/vmops.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/xenapi/vmops.py b/nova/virt/xenapi/vmops.py index f02beda24..30754b7b6 100644 --- a/nova/virt/xenapi/vmops.py +++ b/nova/virt/xenapi/vmops.py @@ -832,7 +832,7 @@ class VMOps(object): if network['cidr_v6']: info['ip6s'] = [ip6_dict()] if network['gateway_v6']: - info['gateway6'] = network['gateway_v6'], + info['gateway6'] = network['gateway_v6'] network_info.append((network, info)) return network_info -- cgit From cd279bec6391ef40d278f377f0039b507b14904b Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 6 Apr 2011 12:58:57 -0700 Subject: check visibility on delete and update --- nova/image/glance.py | 4 ++++ nova/image/local.py | 6 +++++- nova/image/s3.py | 4 ---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/nova/image/glance.py b/nova/image/glance.py index f848f40d8..bf49ca96c 100644 --- a/nova/image/glance.py +++ b/nova/image/glance.py @@ -151,6 +151,8 @@ class GlanceImageService(service.BaseImageService): :raises NotFound if the image does not exist. """ + # NOTE(vish): show is to check if image is available + self.show(context, image_id) try: image_meta = self.client.update_image(image_id, image_meta, data) except glance_exception.NotFound: @@ -165,6 +167,8 @@ class GlanceImageService(service.BaseImageService): :raises NotFound if the image does not exist. """ + # NOTE(vish): show is to check if image is available + self.show(context, image_id) try: result = self.client.delete_image(image_id) except glance_exception.NotFound: diff --git a/nova/image/local.py b/nova/image/local.py index bad4c2d85..8bf78b4c9 100644 --- a/nova/image/local.py +++ b/nova/image/local.py @@ -126,6 +126,8 @@ class LocalImageService(service.BaseImageService): def update(self, context, image_id, metadata, data=None): """Replace the contents of the given image with the new data.""" + # NOTE(vish): show is to check if image is available + self.show(context, image_id) metadata['id'] = image_id try: if data: @@ -143,9 +145,11 @@ class LocalImageService(service.BaseImageService): def delete(self, context, image_id): """Delete the given image. - Raises OSError if the image does not exist. + Raises NotFound if the image does not exist. """ + # NOTE(vish): show is to check if image is available + self.show(context, image_id) try: shutil.rmtree(self._path_to(image_id, None)) except (IOError, ValueError): diff --git a/nova/image/s3.py b/nova/image/s3.py index a7301eefd..554760d53 100644 --- a/nova/image/s3.py +++ b/nova/image/s3.py @@ -59,13 +59,9 @@ class S3ImageService(service.BaseImageService): return image def delete(self, context, image_id): - # FIXME(vish): call to show is to check visibility - self.show(context, image_id) self.service.delete(context, image_id) def update(self, context, image_id, metadata, data=None): - # FIXME(vish): call to show is to check visibility - self.show(context, image_id) image = self.service.update(context, image_id, metadata, data) return image -- cgit From 5534113f65cc578dcdf93432981b836bf4e3dfaf Mon Sep 17 00:00:00 2001 From: Naveed Massjouni Date: Wed, 6 Apr 2011 16:12:32 -0400 Subject: Added support for listing addresses of a server in the openstack api. Now you can GET * /servers/1/ips * /servers/1/ips/public * /servers/1/ips/private Supports v1.0 json and xml. Added corresponding tests. --- nova/api/openstack/__init__.py | 6 +++ nova/api/openstack/ips.py | 71 +++++++++++++++++++++++++++++ nova/api/openstack/servers.py | 9 ---- nova/api/openstack/views/addresses.py | 10 +++- nova/tests/api/openstack/test_servers.py | 78 ++++++++++++++++++++++++++++++++ 5 files changed, 163 insertions(+), 11 deletions(-) create mode 100644 nova/api/openstack/ips.py diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py index 7545eb0c9..5e76a06f7 100644 --- a/nova/api/openstack/__init__.py +++ b/nova/api/openstack/__init__.py @@ -34,6 +34,7 @@ from nova.api.openstack import consoles from nova.api.openstack import flavors from nova.api.openstack import images from nova.api.openstack import image_metadata +from nova.api.openstack import ips from nova.api.openstack import limits from nova.api.openstack import servers from nova.api.openstack import server_metadata @@ -144,6 +145,11 @@ class APIRouterV10(APIRouter): parent_resource=dict(member_name='server', collection_name='servers')) + mapper.resource("ip", "ips", controller=ips.Controller(), + collection=dict(public='GET', private='GET'), + parent_resource=dict(member_name='server', + collection_name='servers')) + class APIRouterV11(APIRouter): """Define routes specific to OpenStack API V1.1.""" diff --git a/nova/api/openstack/ips.py b/nova/api/openstack/ips.py new file mode 100644 index 000000000..89b0936d5 --- /dev/null +++ b/nova/api/openstack/ips.py @@ -0,0 +1,71 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2011 OpenStack LLC. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import time + +from webob import exc + +import nova +import nova.api.openstack.views.addresses +from nova.api.openstack import faults + + +class Controller(nova.wsgi.Controller): + """The servers addresses API controller for the Openstack API.""" + + _serialization_metadata = { + 'application/xml': { + 'list_collections': { + 'public': {'item_name': 'ip', 'item_key': 'addr'}, + 'private': {'item_name': 'ip', 'item_key': 'addr'}, + }, + }, + } + + def __init__(self): + self.compute_api = nova.compute.API() + self.builder = nova.api.openstack.views.addresses.ViewBuilderV10() + + def index(self, req, server_id): + try: + instance = self.compute_api.get(req.environ['nova.context'], id) + except nova.exception.NotFound: + return faults.Fault(exc.HTTPNotFound()) + return {'addresses': self.builder.build(instance)} + + def public(self, req, server_id): + try: + instance = self.compute_api.get(req.environ['nova.context'], id) + except nova.exception.NotFound: + return faults.Fault(exc.HTTPNotFound()) + return {'public': self.builder.build_public_parts(instance)} + + def private(self, req, server_id): + try: + instance = self.compute_api.get(req.environ['nova.context'], id) + except nova.exception.NotFound: + return faults.Fault(exc.HTTPNotFound()) + return {'private': self.builder.build_private_parts(instance)} + + def show(self, req, server_id, id): + return faults.Fault(exc.HTTPNotImplemented()) + + def create(self, req, server_id): + return faults.Fault(exc.HTTPNotImplemented()) + + def delete(self, req, server_id, id): + return faults.Fault(exc.HTTPNotImplemented()) diff --git a/nova/api/openstack/servers.py b/nova/api/openstack/servers.py index cada92813..67e6eefd8 100644 --- a/nova/api/openstack/servers.py +++ b/nova/api/openstack/servers.py @@ -70,15 +70,6 @@ class Controller(wsgi.Controller): self._image_service = utils.import_object(FLAGS.image_service) super(Controller, self).__init__() - def ips(self, req, id): - try: - instance = self.compute_api.get(req.environ['nova.context'], id) - except exception.NotFound: - return faults.Fault(exc.HTTPNotFound()) - - builder = self._get_addresses_view_builder(req) - return builder.build(instance) - def index(self, req): """ Returns a list of server names and ids for a given user """ return self._items(req, is_detail=False) diff --git a/nova/api/openstack/views/addresses.py b/nova/api/openstack/views/addresses.py index 90c77855b..2810cce39 100644 --- a/nova/api/openstack/views/addresses.py +++ b/nova/api/openstack/views/addresses.py @@ -28,10 +28,16 @@ class ViewBuilder(object): class ViewBuilderV10(ViewBuilder): def build(self, inst): - private_ips = utils.get_from_path(inst, 'fixed_ip/address') - public_ips = utils.get_from_path(inst, 'fixed_ip/floating_ips/address') + private_ips = self.build_private_parts(inst) + public_ips = self.build_public_parts(inst) return dict(public=public_ips, private=private_ips) + def build_public_parts(self, inst): + return utils.get_from_path(inst, 'fixed_ip/floating_ips/address') + + def build_private_parts(self, inst): + return utils.get_from_path(inst, 'fixed_ip/address') + class ViewBuilderV11(ViewBuilder): def build(self, inst): diff --git a/nova/tests/api/openstack/test_servers.py b/nova/tests/api/openstack/test_servers.py index a424a8105..640418cfa 100644 --- a/nova/tests/api/openstack/test_servers.py +++ b/nova/tests/api/openstack/test_servers.py @@ -228,6 +228,84 @@ class ServersTest(test.TestCase): self.assertEqual(len(addresses["private"]), 1) self.assertEqual(addresses["private"][0], private) + def test_get_server_addresses_V10(self): + private = '192.168.0.3' + public = ['1.2.3.4'] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips') + res = req.get_response(fakes.wsgi_app()) + res_dict = json.loads(res.body) + self.assertEqual(res_dict, { + 'addresses': {'public': public, 'private': [private]}}) + + def test_get_server_addresses_xml_V10(self): + private_expected = "192.168.0.3" + public_expected = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private_expected, + public_expected) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips') + req.headers['Accept'] = 'application/xml' + res = req.get_response(fakes.wsgi_app()) + dom = minidom.parseString(res.body) + (addresses,) = dom.childNodes + self.assertEquals(addresses.nodeName, 'addresses') + (public,) = addresses.getElementsByTagName('public') + (ip,) = public.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), public_expected[0]) + (private,) = addresses.getElementsByTagName('private') + (ip,) = private.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), private_expected) + + def test_get_server_addresses_public_V10(self): + private = "192.168.0.3" + public = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips/public') + res = req.get_response(fakes.wsgi_app()) + res_dict = json.loads(res.body) + self.assertEqual(res_dict, {'public': public}) + + def test_get_server_addresses_private_V10(self): + private = "192.168.0.3" + public = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips/private') + res = req.get_response(fakes.wsgi_app()) + res_dict = json.loads(res.body) + self.assertEqual(res_dict, {'private': [private]}) + + def test_get_server_addresses_public_xml_V10(self): + private = "192.168.0.3" + public = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips/public') + req.headers['Accept'] = 'application/xml' + res = req.get_response(fakes.wsgi_app()) + dom = minidom.parseString(res.body) + (public_node,) = dom.childNodes + self.assertEquals(public_node.nodeName, 'public') + (ip,) = public_node.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), public[0]) + + def test_get_server_addresses_private_xml_V10(self): + private = "192.168.0.3" + public = ["1.2.3.4"] + new_return_server = return_server_with_addresses(private, public) + self.stubs.Set(nova.db.api, 'instance_get', new_return_server) + req = webob.Request.blank('/v1.0/servers/1/ips/private') + req.headers['Accept'] = 'application/xml' + res = req.get_response(fakes.wsgi_app()) + dom = minidom.parseString(res.body) + (private_node,) = dom.childNodes + self.assertEquals(private_node.nodeName, 'private') + (ip,) = private_node.getElementsByTagName('ip') + self.assertEquals(ip.getAttribute('addr'), private) + def test_get_server_by_id_with_addresses_v11(self): private = "192.168.0.3" public = ["1.2.3.4"] -- cgit From e16571671e4baab50521870ec64e4ab954c7d165 Mon Sep 17 00:00:00 2001 From: Naveed Massjouni Date: Wed, 6 Apr 2011 17:50:11 -0400 Subject: Controllers now inherit from nova.api.openstack.common.OpenstackController. --- nova/api/openstack/ips.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nova/api/openstack/ips.py b/nova/api/openstack/ips.py index 89b0936d5..778e9ba1a 100644 --- a/nova/api/openstack/ips.py +++ b/nova/api/openstack/ips.py @@ -21,10 +21,11 @@ from webob import exc import nova import nova.api.openstack.views.addresses +from nova.api.openstack import common from nova.api.openstack import faults -class Controller(nova.wsgi.Controller): +class Controller(common.OpenstackController): """The servers addresses API controller for the Openstack API.""" _serialization_metadata = { -- cgit From 040428cc35aa046de4bcf744c95b7c507df94550 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 6 Apr 2011 14:53:35 -0700 Subject: Add automatic metadata ip to network host on start. Also fix race where gw is readded twice --- nova/network/linux_net.py | 13 ++++++++++++- nova/network/manager.py | 3 +++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index d11d21dad..6a7051d10 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -391,6 +391,13 @@ def unbind_floating_ip(floating_ip): 'dev', FLAGS.public_interface) +def ensure_metadata_ip(interface): + """Sets up local metadata ip""" + _execute('sudo', 'ip', 'addr', 'add', '169.254.169.254/32', + 'scope', 'link', 'dev', interface, + check_exit_code=False) + + def ensure_vlan_forward(public_ip, port, private_ip): """Sets up forwarding rules for vlan""" iptables_manager.ipv4['filter'].add_rule("FORWARD", @@ -504,7 +511,11 @@ def ensure_bridge(bridge, interface, net_attrs=None): _execute(*_ip_bridge_cmd('del', params, fields[-1])) _execute(*_ip_bridge_cmd('add', params, bridge)) if gateway: - _execute('sudo', 'route', 'add', '0.0.0.0', 'gw', gateway) + # NOTE(vish): If the gateway already exists we are fine + out, err = _execute('sudo', 'route', 'add', '0.0.0.0', 'gw', + gateway, check_exit_code=False) + if err and err != "SIOCADDRT: File exists\n": + raise exception.Error("Failed to reset gateway: %s" % err) out, err = _execute('sudo', 'brctl', 'addif', bridge, interface, check_exit_code=False) diff --git a/nova/network/manager.py b/nova/network/manager.py index 86ee4fc00..a3c345b69 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -100,6 +100,8 @@ flags.DEFINE_string('network_host', socket.gethostname(), 'Network host to use for ip allocation in flat modes') flags.DEFINE_bool('fake_call', False, 'If True, skip using the queue and make local calls') +flags.DEFINE_string('metadata_interface', 'eth0', + 'interface to add the metadata ip to') class AddressAlreadyAllocated(exception.Error): @@ -128,6 +130,7 @@ class NetworkManager(manager.SchedulerDependentManager): self.driver.init_host() # Set up networking for the projects for which we're already # the designated network host. + self.driver.ensure_metadata_ip(FLAGS.metadata_interface) ctxt = context.get_admin_context() for network in self.db.host_get_networks(ctxt, self.host): self._on_set_network_host(ctxt, network['id']) -- cgit From dc8b3cb3fa124755ed3e5282b2d11a811f1db2d5 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Wed, 6 Apr 2011 15:39:44 -0700 Subject: removed comment on API compliance --- nova/api/openstack/views/servers.py | 1 - 1 file changed, 1 deletion(-) diff --git a/nova/api/openstack/views/servers.py b/nova/api/openstack/views/servers.py index baa911590..096bf70c6 100644 --- a/nova/api/openstack/views/servers.py +++ b/nova/api/openstack/views/servers.py @@ -82,7 +82,6 @@ class ViewBuilder(object): # Return the metadata as a dictionary metadata = {} for item in inst.get('metadata', []): - # metadata values must be strings per API metadata[item['key']] = str(item['value']) inst_dict['metadata'] = metadata -- cgit From 3831008b4e8aeec08b58afb49e40428ad5ece5b1 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Wed, 6 Apr 2011 16:10:08 -0700 Subject: if we delete the old route when we move it we don't need to check for exists --- nova/network/linux_net.py | 9 ++++----- nova/network/manager.py | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index 6a7051d10..a4d312f02 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -449,6 +449,7 @@ def ensure_vlan(vlan_num): return interface +@utils.synchronized('ensure_bridge', external=True) def ensure_bridge(bridge, interface, net_attrs=None): """Create a bridge unless it already exists. @@ -502,6 +503,8 @@ def ensure_bridge(bridge, interface, net_attrs=None): fields = line.split() if fields and fields[0] == "0.0.0.0" and fields[-1] == interface: gateway = fields[1] + _execute('sudo', 'route', 'del', 'default', 'gw', gateway, + 'dev', interface) out, err = _execute('sudo', 'ip', 'addr', 'show', 'dev', interface, 'scope', 'global') for line in out.split("\n"): @@ -511,11 +514,7 @@ def ensure_bridge(bridge, interface, net_attrs=None): _execute(*_ip_bridge_cmd('del', params, fields[-1])) _execute(*_ip_bridge_cmd('add', params, bridge)) if gateway: - # NOTE(vish): If the gateway already exists we are fine - out, err = _execute('sudo', 'route', 'add', '0.0.0.0', 'gw', - gateway, check_exit_code=False) - if err and err != "SIOCADDRT: File exists\n": - raise exception.Error("Failed to reset gateway: %s" % err) + _execute('sudo', 'route', 'add', 'default', 'gw', gateway) out, err = _execute('sudo', 'brctl', 'addif', bridge, interface, check_exit_code=False) diff --git a/nova/network/manager.py b/nova/network/manager.py index a3c345b69..b80560bdf 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -128,9 +128,9 @@ class NetworkManager(manager.SchedulerDependentManager): standalone service. """ self.driver.init_host() + self.driver.ensure_metadata_ip(FLAGS.metadata_interface) # Set up networking for the projects for which we're already # the designated network host. - self.driver.ensure_metadata_ip(FLAGS.metadata_interface) ctxt = context.get_admin_context() for network in self.db.host_get_networks(ctxt, self.host): self._on_set_network_host(ctxt, network['id']) -- cgit From d7e8d91d6bc4954f2d256f57e34444b5bd170ab0 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Thu, 7 Apr 2011 13:08:14 +0900 Subject: fixed based on reviewer's comment - 'locals() should be off from _() --- nova/compute/manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 37a904b1e..847c3655a 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1096,7 +1096,7 @@ class ComputeManager(manager.SchedulerDependentManager): # this case should be ignored. LOG.info(_("the instance '%(name)s' is not found in hypervisor" ", while db record is found. But not synchronize " - "since it is migrating." % locals())) + "since it is migrating.") % locals()) continue if vm_state != db_state: -- cgit From 2bc0e744162276048ddd9c1a1eeacbd647cda6f4 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Thu, 7 Apr 2011 13:32:19 +0900 Subject: fixed based on reviewer's comment - 1. erase unnecessary blank line, 2. adding LOG.debug --- nova/virt/libvirt_conn.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index bdf577825..eab54c53e 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -1849,7 +1849,6 @@ class NWFilterFirewall(FirewallDriver): def instance_filter_exists(self, instance): """Check nova-instance-instance-xxx exists""" - network_info = _get_network_info(instance) for (network, mapping) in network_info: nic_id = mapping['mac'].replace(':', '') @@ -1857,6 +1856,9 @@ class NWFilterFirewall(FirewallDriver): try: self._conn.nwfilterLookupByName(instance_filter_name) except libvirt.libvirtError: + name = instance.name + LOG.debug(_('The nwfilter(%(instance_filter_name)s) for' + '%(name)s is not found.') % locals()) return False return True -- cgit From 7cf0deda8f7ab410005c556779353d599c8e8a63 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Thu, 7 Apr 2011 10:34:14 -0300 Subject: adds timeout to login_with_password --- nova/virt/xenapi_conn.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nova/virt/xenapi_conn.py b/nova/virt/xenapi_conn.py index 99fd35c61..6dfe0b9a9 100644 --- a/nova/virt/xenapi_conn.py +++ b/nova/virt/xenapi_conn.py @@ -63,6 +63,7 @@ import xmlrpclib from eventlet import event from eventlet import tpool +from eventlet import timeout from nova import context from nova import db @@ -140,7 +141,9 @@ flags.DEFINE_bool('xenapi_remap_vbd_dev', False, flags.DEFINE_string('xenapi_remap_vbd_dev_prefix', 'sd', 'Specify prefix to remap VBD dev to ' '(ex. /dev/xvdb -> /dev/sdb)') - +flags.DEFINE_integer('xenapi_login_timeout', + 10, + 'Timeout in seconds for XenAPI login.') def get_connection(_): """Note that XenAPI doesn't have a read-only connection mode, so @@ -318,7 +321,9 @@ class XenAPISession(object): def __init__(self, url, user, pw): self.XenAPI = self.get_imported_xenapi() self._session = self._create_session(url) - self._session.login_with_password(user, pw) + exception = self.XenAPI.Failure(_("Unable to log in to XenAPI.")) + with timeout.Timeout(FLAGS.xenapi_login_timeout, exception): + self._session.login_with_password(user, pw) self.loop = None def get_imported_xenapi(self): -- cgit From 9b24c399c5689a1492b96dcd6725590c2a97c6e3 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Thu, 7 Apr 2011 10:42:29 -0300 Subject: pep8 --- nova/virt/xenapi_conn.py | 1 + 1 file changed, 1 insertion(+) diff --git a/nova/virt/xenapi_conn.py b/nova/virt/xenapi_conn.py index 6dfe0b9a9..f10aa6eb5 100644 --- a/nova/virt/xenapi_conn.py +++ b/nova/virt/xenapi_conn.py @@ -145,6 +145,7 @@ flags.DEFINE_integer('xenapi_login_timeout', 10, 'Timeout in seconds for XenAPI login.') + def get_connection(_): """Note that XenAPI doesn't have a read-only connection mode, so the read_only parameter is ignored.""" -- cgit From 9f57f78efab4a31bfe29e2edab1e86eedf4352fd Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Thu, 7 Apr 2011 11:59:40 -0300 Subject: better error message --- nova/virt/xenapi_conn.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nova/virt/xenapi_conn.py b/nova/virt/xenapi_conn.py index f10aa6eb5..0cabccf08 100644 --- a/nova/virt/xenapi_conn.py +++ b/nova/virt/xenapi_conn.py @@ -322,7 +322,8 @@ class XenAPISession(object): def __init__(self, url, user, pw): self.XenAPI = self.get_imported_xenapi() self._session = self._create_session(url) - exception = self.XenAPI.Failure(_("Unable to log in to XenAPI.")) + exception = self.XenAPI.Failure(_("Unable to log in to XenAPI " + "(is the Dom0 disk full?)")) with timeout.Timeout(FLAGS.xenapi_login_timeout, exception): self._session.login_with_password(user, pw) self.loop = None -- cgit From 8da3e6c19b97ab7cd08e69fb0df114653c0b90db Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 7 Apr 2011 10:37:40 -0700 Subject: Simplify by always adding to loopback --- nova/network/linux_net.py | 5 ++--- nova/network/manager.py | 4 +--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index a4d312f02..ed6c943c7 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -391,11 +391,10 @@ def unbind_floating_ip(floating_ip): 'dev', FLAGS.public_interface) -def ensure_metadata_ip(interface): +def ensure_metadata_ip(): """Sets up local metadata ip""" _execute('sudo', 'ip', 'addr', 'add', '169.254.169.254/32', - 'scope', 'link', 'dev', interface, - check_exit_code=False) + 'scope', 'link', 'dev', 'lo', check_exit_code=False) def ensure_vlan_forward(public_ip, port, private_ip): diff --git a/nova/network/manager.py b/nova/network/manager.py index b80560bdf..0dd7f2360 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -100,8 +100,6 @@ flags.DEFINE_string('network_host', socket.gethostname(), 'Network host to use for ip allocation in flat modes') flags.DEFINE_bool('fake_call', False, 'If True, skip using the queue and make local calls') -flags.DEFINE_string('metadata_interface', 'eth0', - 'interface to add the metadata ip to') class AddressAlreadyAllocated(exception.Error): @@ -128,7 +126,7 @@ class NetworkManager(manager.SchedulerDependentManager): standalone service. """ self.driver.init_host() - self.driver.ensure_metadata_ip(FLAGS.metadata_interface) + self.driver.ensure_metadata_ip() # Set up networking for the projects for which we're already # the designated network host. ctxt = context.get_admin_context() -- cgit From fcf358cacd8f993faaf64310307956686a7d330b Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Thu, 7 Apr 2011 11:12:14 -0700 Subject: moved -manage instance list command to -manage vm list to avoid lazy match conflict with instance_types --- bin/nova-manage | 85 +++++++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 45 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index 6789efba8..bd3f9f50d 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -570,6 +570,45 @@ class NetworkCommands(object): class VmCommands(object): """Class for mangaging VM instances.""" + def list(self, host=None, instance=None): + """Show a list of all instances""" + print "%-10s %-15s %-10s %-10s %-19s %-12s %-12s %-12s" \ + " %-10s %-10s %-10s %-5s" % ( + _('instance'), + _('node'), + _('type'), + _('state'), + _('launched'), + _('image'), + _('kernel'), + _('ramdisk'), + _('project'), + _('user'), + _('zone'), + _('index')) + + if host == None: + instances = db.instance_get_all(context.get_admin_context()) + else: + instances = db.instance_get_all_by_host( + context.get_admin_context(), host) + + for instance in instances: + print "%-10s %-15s %-10s %-10s %-19s %-12s %-12s %-12s" \ + " %-10s %-10s %-10s %-5d" % ( + instance['hostname'], + instance['host'], + instance['instance_type'], + instance['state_description'], + instance['launched_at'], + instance['image_id'], + instance['kernel_id'], + instance['ramdisk_id'], + instance['project_id'], + instance['user_id'], + instance['availability_zone'], + instance['launch_index']) + def live_migration(self, ec2_id, dest): """Migrates a running instance to a new machine. @@ -725,49 +764,6 @@ class DbCommands(object): print migration.db_version() -class InstanceCommands(object): - """Class for managing instances.""" - - def list(self, host=None, instance=None): - """Show a list of all instances""" - print "%-10s %-15s %-10s %-10s %-19s %-12s %-12s %-12s" \ - " %-10s %-10s %-10s %-5s" % ( - _('instance'), - _('node'), - _('type'), - _('state'), - _('launched'), - _('image'), - _('kernel'), - _('ramdisk'), - _('project'), - _('user'), - _('zone'), - _('index')) - - if host == None: - instances = db.instance_get_all(context.get_admin_context()) - else: - instances = db.instance_get_all_by_host( - context.get_admin_context(), host) - - for instance in instances: - print "%-10s %-15s %-10s %-10s %-19s %-12s %-12s %-12s" \ - " %-10s %-10s %-10s %-5d" % ( - instance['hostname'], - instance['host'], - instance['instance_type'], - instance['state_description'], - instance['launched_at'], - instance['image_id'], - instance['kernel_id'], - instance['ramdisk_id'], - instance['project_id'], - instance['user_id'], - instance['availability_zone'], - instance['launch_index']) - - class VolumeCommands(object): """Methods for dealing with a cloud in an odd state""" @@ -1054,8 +1050,7 @@ CATEGORIES = [ ('volume', VolumeCommands), ('instance_type', InstanceTypeCommands), ('image', ImageCommands), - ('flavor', InstanceTypeCommands), - ('instance', InstanceCommands)] + ('flavor', InstanceTypeCommands)] def lazy_match(name, key_value_tuples): -- cgit From ce5e102d0097f1b3f2322dc0d1ac1d0e5dea7f0a Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Thu, 7 Apr 2011 11:22:31 -0700 Subject: removed unused instance parameter from vm list ... as it is unused. added parameters to docstring for vm list. --- bin/nova-manage | 8 ++++++-- doc/source/man/novamanage.rst | 10 ++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index bd3f9f50d..6903c16c9 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -570,8 +570,12 @@ class NetworkCommands(object): class VmCommands(object): """Class for mangaging VM instances.""" - def list(self, host=None, instance=None): - """Show a list of all instances""" + def list(self, host=None): + """Show a list of all instances + + :param host: show all instance on specified host. + :param instance: show specificed instance. + """ print "%-10s %-15s %-10s %-10s %-19s %-12s %-12s %-12s" \ " %-10s %-10s %-10s %-5s" % ( _('instance'), diff --git a/doc/source/man/novamanage.rst b/doc/source/man/novamanage.rst index 1d8446f08..b7688f0d8 100644 --- a/doc/source/man/novamanage.rst +++ b/doc/source/man/novamanage.rst @@ -240,6 +240,16 @@ Nova Images Converts all images in directory from the old (Bexar) format to the new format. +Nova VM +~~~~~~~~~~~ + +``nova-manage vm list [host]`` + Show a list of all instances. Accepts optional hostname (to show only instances on specific host). + +``nova-manage live-migration `` + Live migrate instance from current host to destination host. Requires instance id (which comes from euca-describe-instance) and destination host name. + + FILES ======== -- cgit From 11b76108dbd8a540da151141f5208de9358cf38b Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Thu, 7 Apr 2011 11:25:44 -0700 Subject: added -manage vm [list|live-migration] to man page --- doc/source/man/novamanage.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/man/novamanage.rst b/doc/source/man/novamanage.rst index b7688f0d8..9c54f3608 100644 --- a/doc/source/man/novamanage.rst +++ b/doc/source/man/novamanage.rst @@ -247,7 +247,7 @@ Nova VM Show a list of all instances. Accepts optional hostname (to show only instances on specific host). ``nova-manage live-migration `` - Live migrate instance from current host to destination host. Requires instance id (which comes from euca-describe-instance) and destination host name. + Live migrate instance from current host to destination host. Requires instance id (which comes from euca-describe-instance) and destination host name (which can be found from nova-manage service list). FILES -- cgit From 404feb59a829e24e026f793a362e54aad1aaa03f Mon Sep 17 00:00:00 2001 From: Josh Kearney Date: Thu, 7 Apr 2011 13:55:42 -0500 Subject: Renamed computeFault to cloudServersFault --- nova/api/openstack/faults.py | 2 +- nova/tests/api/openstack/test_api.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nova/api/openstack/faults.py b/nova/api/openstack/faults.py index bc97639a0..87118ce19 100644 --- a/nova/api/openstack/faults.py +++ b/nova/api/openstack/faults.py @@ -47,7 +47,7 @@ class Fault(webob.exc.HTTPException): """Generate a WSGI response based on the exception passed to ctor.""" # Replace the body with fault details. code = self.wrapped_exc.status_int - fault_name = self._fault_names.get(code, "computeFault") + fault_name = self._fault_names.get(code, "cloudServersFault") fault_data = { fault_name: { 'code': code, diff --git a/nova/tests/api/openstack/test_api.py b/nova/tests/api/openstack/test_api.py index 5112c486f..c63431a45 100644 --- a/nova/tests/api/openstack/test_api.py +++ b/nova/tests/api/openstack/test_api.py @@ -53,13 +53,13 @@ class APITest(test.TestCase): #api.application = succeed api = self._wsgi_app(succeed) resp = Request.blank('/').get_response(api) - self.assertFalse('computeFault' in resp.body, resp.body) + self.assertFalse('cloudServersFault' in resp.body, resp.body) self.assertEqual(resp.status_int, 200, resp.body) #api.application = raise_webob_exc api = self._wsgi_app(raise_webob_exc) resp = Request.blank('/').get_response(api) - self.assertFalse('computeFault' in resp.body, resp.body) + self.assertFalse('cloudServersFault' in resp.body, resp.body) self.assertEqual(resp.status_int, 404, resp.body) #api.application = raise_api_fault @@ -71,11 +71,11 @@ class APITest(test.TestCase): #api.application = fail api = self._wsgi_app(fail) resp = Request.blank('/').get_response(api) - self.assertTrue('{"computeFault' in resp.body, resp.body) + self.assertTrue('{"cloudServersFault' in resp.body, resp.body) self.assertEqual(resp.status_int, 500, resp.body) #api.application = fail api = self._wsgi_app(fail) resp = Request.blank('/.xml').get_response(api) - self.assertTrue(' Date: Thu, 7 Apr 2011 15:09:10 -0400 Subject: Drop unneeded Fkey on InstanceTypes.id. --- nova/db/sqlalchemy/models.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nova/db/sqlalchemy/models.py b/nova/db/sqlalchemy/models.py index 9d4c6cdef..f79d0f16c 100644 --- a/nova/db/sqlalchemy/models.py +++ b/nova/db/sqlalchemy/models.py @@ -258,8 +258,7 @@ class InstanceActions(BASE, NovaBase): class InstanceTypes(BASE, NovaBase): """Represent possible instance_types or flavor of VM offered""" __tablename__ = "instance_types" - id = Column(Integer, ForeignKey('instances.instance_type_id'), - primary_key=True) + id = Column(Integer, primary_key=True) name = Column(String(255), unique=True) memory_mb = Column(Integer) vcpus = Column(Integer) -- cgit From 99e8335e9b07b1cbf9c28cda2dfb2496d955c72c Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 7 Apr 2011 15:43:51 -0400 Subject: Some i18n fixes to instance_types. --- nova/compute/instance_types.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/nova/compute/instance_types.py b/nova/compute/instance_types.py index 5b1d92e29..b3a5ab0ac 100644 --- a/nova/compute/instance_types.py +++ b/nova/compute/instance_types.py @@ -59,8 +59,8 @@ def create(name, memory, vcpus, local_gb, flavorid, swap=0, rxtx_quota=rxtx_quota, rxtx_cap=rxtx_cap)) except exception.DBError, e: - LOG.exception(_('DB error: %s' % e)) - raise exception.ApiError(_("Cannot create instance type: %s" % name)) + LOG.exception(_('DB error: %s') % e) + raise exception.ApiError(_("Cannot create instance type: %s") % name) def destroy(name): @@ -72,8 +72,8 @@ def destroy(name): try: db.instance_type_destroy(context.get_admin_context(), name) except exception.NotFound: - LOG.exception(_('Instance type %s not found for deletion' % name)) - raise exception.ApiError(_("Unknown instance type: %s" % name)) + LOG.exception(_('Instance type %s not found for deletion') % name) + raise exception.ApiError(_("Unknown instance type: %s") % name) def purge(name): @@ -85,8 +85,8 @@ def purge(name): try: db.instance_type_purge(context.get_admin_context(), name) except exception.NotFound: - LOG.exception(_('Instance type %s not found for purge' % name)) - raise exception.ApiError(_("Unknown instance type: %s" % name)) + LOG.exception(_('Instance type %s not found for purge') % name) + raise exception.ApiError(_("Unknown instance type: %s") % name) def get_all_types(inactive=0): @@ -106,7 +106,7 @@ def get_default_instance_type(): try: return get_instance_type_by_name(name) except exception.DBError: - raise exception.ApiError(_("Unknown instance type: %s" % name)) + raise exception.ApiError(_("Unknown instance type: %s") % name) def get_instance_type(id): @@ -117,7 +117,7 @@ def get_instance_type(id): ctxt = context.get_admin_context() return db.instance_type_get_by_id(ctxt, id) except exception.DBError: - raise exception.ApiError(_("Unknown instance type: %s" % name)) + raise exception.ApiError(_("Unknown instance type: %s") % name) def get_instance_type_by_name(name): @@ -128,7 +128,7 @@ def get_instance_type_by_name(name): ctxt = context.get_admin_context() return db.instance_type_get_by_name(ctxt, name) except exception.DBError: - raise exception.ApiError(_("Unknown instance type: %s" % name)) + raise exception.ApiError(_("Unknown instance type: %s") % name) def get_instance_type_by_flavor_id(flavor_id): @@ -139,5 +139,5 @@ def get_instance_type_by_flavor_id(flavor_id): ctxt = context.get_admin_context() return db.instance_type_get_by_flavor_id(ctxt, flavor_id) except exception.DBError, e: - LOG.exception(_('DB error: %s' % e)) - raise exception.ApiError(_("Unknown flavor: %s" % flavor_id)) + LOG.exception(_('DB error: %s') % e) + raise exception.ApiError(_("Unknown flavor: %s") % flavor_id) -- cgit From c7fd470d7ff0df4b23664b6599e5ae5acdb21511 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 7 Apr 2011 15:52:14 -0400 Subject: Drop extra 'None' arg from dict.get call. --- nova/api/ec2/cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index e4bcccb2b..c3124b89d 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -731,7 +731,7 @@ class CloudController(object): instance['host']) i['productCodesSet'] = self._convert_to_set([], 'product_codes') if instance['instance_type']: - i['instanceType'] = instance['instance_type'].get('name', None) + i['instanceType'] = instance['instance_type'].get('name') else: i['instanceType'] = None i['launchTime'] = instance['created_at'] -- cgit From b5310d58d418f123b2d5d2953d6b4082a70120cd Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Fri, 8 Apr 2011 06:32:53 +0900 Subject: fix pep8 violation --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index eab54c53e..256e6e635 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -1857,7 +1857,7 @@ class NWFilterFirewall(FirewallDriver): self._conn.nwfilterLookupByName(instance_filter_name) except libvirt.libvirtError: name = instance.name - LOG.debug(_('The nwfilter(%(instance_filter_name)s) for' + LOG.debug(_('The nwfilter(%(instance_filter_name)s) for' '%(name)s is not found.') % locals()) return False return True -- cgit From b54be0e29cdcd91e3d106fb587b89c39ca3a0bff Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Thu, 7 Apr 2011 15:52:27 -0700 Subject: Removed commented-out old 'delete instance on SHUTOFF' code --- nova/compute/manager.py | 6 ------ nova/virt/libvirt_conn.py | 8 +------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 72f04ecb1..d3cd2e51a 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1090,12 +1090,6 @@ class ComputeManager(manager.SchedulerDependentManager): # NOTE(justinsb): We no longer auto-remove SHUTOFF instances # It's quite hard to get them back when we do. - #if vm_state == power_state.SHUTOFF: - # # TODO(soren): This is what the compute manager does when you - # # terminate an instance. At some point I figure we'll have a - # # "terminated" state and some sort of cleanup job that runs - # # occasionally, cleaning them out. - # self.db.instance_destroy(context, db_instance['id']) # Are there VMs not in the DB? for vm_not_found_in_db in vms_not_found_in_db: diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 533ff9394..4523cdd2f 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -232,14 +232,8 @@ class LibvirtConnection(driver.ComputeDriver): {'name': instance['name'], 'state': state}) db.instance_set_state(ctxt, instance['id'], state) - # NOTE(justinsb): We no longer delete these instances, + # NOTE(justinsb): We no longer delete SHUTOFF instances, # the user may want to power them back on - #if state == power_state.SHUTOFF: - # # TODO(soren): This is what the compute manager does when you - # # terminate # an instance. At some point I figure we'll have a - # # "terminated" state and some sort of cleanup job that runs - # # occasionally, cleaning them out. - # db.instance_destroy(ctxt, instance['id']) if state != power_state.RUNNING: continue -- cgit From 52478e039b094861e7d783b7995b9cafa68e32b9 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Thu, 7 Apr 2011 15:56:16 -0700 Subject: Fix to correct libvirt error code when the domain is not found --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 4523cdd2f..a7a8a14b1 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -974,7 +974,7 @@ class LibvirtConnection(driver.ComputeDriver): try: virt_dom = self._conn.lookupByName(instance_name) except libvirt.libvirtError as e: - if e.get_error_code() == libvirt.VIR_ERR_UNKNOWN_HOST: + if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN: raise exception.NotFound(_("Instance %s not found") % instance_name) LOG.warning(_("Error from libvirt during lookup: %s") % e) -- cgit From 0c5f70c0bcf9395fb25a231057d997b075d04fda Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Thu, 7 Apr 2011 16:00:55 -0700 Subject: Log libvirt errcode on exception --- nova/virt/libvirt_conn.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index a7a8a14b1..5f1c12ab3 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -974,10 +974,13 @@ class LibvirtConnection(driver.ComputeDriver): try: virt_dom = self._conn.lookupByName(instance_name) except libvirt.libvirtError as e: - if e.get_error_code() == libvirt.VIR_ERR_NO_DOMAIN: + errcode = e.get_error_code() + if errcode == libvirt.VIR_ERR_NO_DOMAIN: raise exception.NotFound(_("Instance %s not found") % instance_name) - LOG.warning(_("Error from libvirt during lookup: %s") % e) + LOG.warning(_("Error from libvirt during lookup. " + "Code=%(errcode)s Error=%(e)s") % + locals()) raise (state, max_mem, mem, num_cpu, cpu_time) = virt_dom.info() -- cgit From b0ad20c796bd25dad0538ab85b1a56f421e16039 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 7 Apr 2011 16:42:33 -0700 Subject: fix tests from moving access check into update and delete --- nova/image/local.py | 5 ++++- nova/tests/image/test_glance.py | 8 ++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/nova/image/local.py b/nova/image/local.py index 8bf78b4c9..d4fd62156 100644 --- a/nova/image/local.py +++ b/nova/image/local.py @@ -122,12 +122,15 @@ class LocalImageService(service.BaseImageService): image_path = self._path_to(image_id, None) if not os.path.exists(image_path): os.mkdir(image_path) - return self.update(context, image_id, metadata, data) + return self._store(context, image_id, metadata, data) def update(self, context, image_id, metadata, data=None): """Replace the contents of the given image with the new data.""" # NOTE(vish): show is to check if image is available self.show(context, image_id) + return self._store(context, image_id, metadata, data) + + def _store(self, context, image_id, metadata, data=None): metadata['id'] = image_id try: if data: diff --git a/nova/tests/image/test_glance.py b/nova/tests/image/test_glance.py index 9d0b14613..109905ded 100644 --- a/nova/tests/image/test_glance.py +++ b/nova/tests/image/test_glance.py @@ -209,17 +209,17 @@ class TestMutatorDateTimeTests(BaseGlanceTest): self.assertDateTimesEmpty(image_meta) def test_update_handles_datetimes(self): + self.client.images = {'image1': self._make_datetime_fixture()} self.client.update_response = self._make_datetime_fixture() - dummy_id = 'dummy_id' dummy_meta = {} - image_meta = self.service.update(self.context, 'dummy_id', dummy_meta) + image_meta = self.service.update(self.context, 'image1', dummy_meta) self.assertDateTimesFilled(image_meta) def test_update_handles_none_datetimes(self): + self.client.images = {'image1': self._make_datetime_fixture()} self.client.update_response = self._make_none_datetime_fixture() - dummy_id = 'dummy_id' dummy_meta = {} - image_meta = self.service.update(self.context, 'dummy_id', dummy_meta) + image_meta = self.service.update(self.context, 'image1', dummy_meta) self.assertDateTimesEmpty(image_meta) def _make_datetime_fixture(self): -- cgit From 254834b864808b33ced23784048f14fa1bcf7489 Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Thu, 7 Apr 2011 18:04:42 -0700 Subject: removed log command from nova-manage. no longer applicable with multiple logfiles. --- bin/nova-manage | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/bin/nova-manage b/bin/nova-manage index 6789efba8..a8eb49081 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -701,15 +701,6 @@ class ServiceCommands(object): {"method": "update_available_resource"}) -class LogCommands(object): - def request(self, request_id, logfile='/var/log/nova.log'): - """Show all fields in the log for the given request. Assumes you - haven't changed the log format too much. - ARGS: request_id [logfile]""" - lines = utils.execute("cat %s | grep '\[%s '" % (logfile, request_id)) - print re.sub('#012', "\n", "\n".join(lines)) - - class DbCommands(object): """Class for managing the database.""" @@ -1049,7 +1040,6 @@ CATEGORIES = [ ('network', NetworkCommands), ('vm', VmCommands), ('service', ServiceCommands), - ('log', LogCommands), ('db', DbCommands), ('volume', VolumeCommands), ('instance_type', InstanceTypeCommands), -- cgit From 479c95b8e855c5f07b75883a1f55b4657e886a92 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 7 Apr 2011 21:44:41 -0400 Subject: Ignore errors when deleting the default route in the ensure_bridge function. --- nova/network/linux_net.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index ed6c943c7..ec5579dee 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -503,7 +503,7 @@ def ensure_bridge(bridge, interface, net_attrs=None): if fields and fields[0] == "0.0.0.0" and fields[-1] == interface: gateway = fields[1] _execute('sudo', 'route', 'del', 'default', 'gw', gateway, - 'dev', interface) + 'dev', interface, check_exit_code=False) out, err = _execute('sudo', 'ip', 'addr', 'show', 'dev', interface, 'scope', 'global') for line in out.split("\n"): -- cgit From 7badb6c0278c8cc51fc3e870fd3810ea3706f494 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Thu, 7 Apr 2011 23:39:29 -0400 Subject: Update the describe_image_attribute and modify_image_attribute functions in the ec2 API so they use the top level 'is_public' attribute of image objects. This brings these functions in line with the base image service. Added missing EC2 unit tests on describing and modifying image attributes. --- nova/api/ec2/cloud.py | 4 ++-- nova/tests/test_cloud.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 4ed8a9ecf..651ec47f9 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -984,7 +984,7 @@ class CloudController(object): except exception.NotFound: raise exception.NotFound(_('Image %s not found') % image_id) result = {'imageId': image_id, 'launchPermission': []} - if image['properties']['is_public']: + if image['is_public']: result['launchPermission'].append({'group': 'all'}) return result @@ -1009,7 +1009,7 @@ class CloudController(object): internal_id = image['id'] del(image['id']) - image['properties']['is_public'] = (operation_type == 'add') + image['is_public'] = (operation_type == 'add') return self.image_service.update(context, internal_id, image) def update_image(self, context, image_id, **kwargs): diff --git a/nova/tests/test_cloud.py b/nova/tests/test_cloud.py index 5cb969979..5f76a9005 100644 --- a/nova/tests/test_cloud.py +++ b/nova/tests/test_cloud.py @@ -247,6 +247,37 @@ class CloudTestCase(test.TestCase): self.assertRaises(NotFound, describe_images, self.context, ['ami-fake']) + def test_describe_image_attribute(self): + describe_image_attribute = self.cloud.describe_image_attribute + + def fake_show(meh, context, id): + return {'id': 1, 'properties': {'kernel_id': 1, 'ramdisk_id': 1, + 'type': 'machine'}, 'is_public': True} + + self.stubs.Set(local.LocalImageService, 'show', fake_show) + self.stubs.Set(local.LocalImageService, 'show_by_name', fake_show) + result = describe_image_attribute(self.context, 'ami-00000001', + 'launchPermission') + self.assertEqual([{'group': 'all'}], result['launchPermission']) + + def test_modify_image_attribute(self): + modify_image_attribute = self.cloud.modify_image_attribute + + def fake_show(meh, context, id): + return {'id': 1, 'properties': {'kernel_id': 1, 'ramdisk_id': 1, + 'type': 'machine'}, 'is_public': False} + + def fake_update(meh, context, image_id, metadata, data=None): + return metadata + + self.stubs.Set(local.LocalImageService, 'show', fake_show) + self.stubs.Set(local.LocalImageService, 'show_by_name', fake_show) + self.stubs.Set(local.LocalImageService, 'update', fake_update) + result = modify_image_attribute(self.context, 'ami-00000001', + 'launchPermission', 'add', + user_group=['all']) + self.assertEqual(True, result['is_public']) + def test_console_output(self): instance_type = FLAGS.default_instance_type max_count = 1 -- cgit From 2e7c4c744dd37358d79b03d52e8a59ab6eb9e197 Mon Sep 17 00:00:00 2001 From: Thierry Carrez Date: Fri, 8 Apr 2011 10:42:01 +0200 Subject: Import from lp:~nova-core/nova/translations --- po/ast.po | 2614 +++++++++++++++++++++++++--------------- po/cs.po | 2659 +++++++++++++++++++++++++--------------- po/da.po | 2610 ++++++++++++++++++++++++--------------- po/de.po | 2706 ++++++++++++++++++++++++++--------------- po/es.po | 3866 +++++++++++++++++++++++++++++++++++++--------------------- po/it.po | 2789 ++++++++++++++++++++++++++---------------- po/ja.po | 3886 ++++++++++++++++++++++++++++++++++++++--------------------- po/pt_BR.po | 3147 ++++++++++++++++++++++++++++++----------------- po/ru.po | 2993 ++++++++++++++++++++++++++++----------------- po/uk.po | 2745 ++++++++++++++++++++++++++--------------- po/zh_CN.po | 2997 ++++++++++++++++++++++++++++----------------- 11 files changed, 21163 insertions(+), 11849 deletions(-) diff --git a/po/ast.po b/po/ast.po index 6e224f235..be9910a2c 100644 --- a/po/ast.po +++ b/po/ast.po @@ -7,2124 +7,2842 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" "PO-Revision-Date: 2011-01-12 19:50+0000\n" "Last-Translator: Xuacu Saturio \n" "Language-Team: Asturian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:18+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "" + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "Nome del ficheru de l'autoridá de certificáu raíz" -#: nova/crypto.py:49 -msgid "Filename of private key" -msgstr "Nome del ficheru de clave privada" +#: ../nova/crypto.py:49 +msgid "Filename of private key" +msgstr "Nome del ficheru de clave privada" + +#: ../nova/crypto.py:51 +msgid "Filename of root Certificate Revokation List" +msgstr "Nome del ficheru de llista de refugu de certificáu raíz" + +#: ../nova/crypto.py:53 +msgid "Where we keep our keys" +msgstr "" + +#: ../nova/crypto.py:55 +msgid "Where we keep our root CA" +msgstr "" + +#: ../nova/crypto.py:57 +msgid "Should we use a CA for each project?" +msgstr "" + +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "" + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "" + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" -#: nova/crypto.py:51 -msgid "Filename of root Certificate Revokation List" -msgstr "Nome del ficheru de llista de refugu de certificáu raíz" +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" -#: nova/crypto.py:53 -msgid "Where we keep our keys" +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" msgstr "" -#: nova/crypto.py:55 -msgid "Where we keep our root CA" +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" msgstr "" -#: nova/crypto.py:57 -msgid "Should we use a CA for each project?" +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" msgstr "" -#: nova/crypto.py:61 +#: ../nova/utils.py:58 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "Inner Exception: %s" msgstr "" -#: nova/crypto.py:66 +#: ../nova/utils.py:59 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" +msgid "Class %s cannot be found" msgstr "" -#: nova/crypto.py:71 +#: ../nova/utils.py:118 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" +msgid "Fetching %s" msgstr "" -#: nova/crypto.py:258 +#: ../nova/utils.py:130 #, python-format -msgid "Flags path: %s" +msgid "Running cmd (subprocess): %s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" msgstr "" -#: nova/exception.py:36 +#: ../nova/utils.py:159 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" +msgid "Running cmd (SSH): %s" msgstr "" -#: nova/exception.py:86 -msgid "Uncaught exception" +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/fakerabbit.py:49 #, python-format -msgid "(%s) publish (key: %s) %s" +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/fakerabbit.py:54 #, python-format msgid "Publishing to route %s" msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/fakerabbit.py:84 #, python-format msgid "Declaring queue %s" msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/fakerabbit.py:90 #, python-format msgid "Declaring exchange %s" msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/fakerabbit.py:96 #, python-format -msgid "Binding %s to %s with key %s" +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/fakerabbit.py:121 #, python-format -msgid "Getting from %s: %s" +msgid "Getting from %(queue)s: %(message)s" msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +msgid "Created VM %s..." msgstr "" -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:138 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgid "Created VM %(instance_name)s as %(vm_ref)s." msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." msgstr "" -#: nova/rpc.py:155 +#: ../nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "VBD not found in instance %s" msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:197 #, python-format -msgid "received %s" +msgid "Unable to unplug VBD %s" msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:209 #, python-format -msgid "no method for message: %s" +msgid "Unable to destroy VBD %s" msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:224 #, python-format -msgid "No method for message: %s" +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:227 #, python-format -msgid "Returning exception %s to caller" +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:286 +#: ../nova/virt/xenapi/vm_utils.py:246 #, python-format -msgid "unpacked context: %s" +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:272 #, python-format -msgid "MSG_ID is %s" +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:286 #, python-format -msgid "response %s" +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:327 #, python-format -msgid "topic is %s" +msgid "Size for image %(image)s:%(virtual_size)d" msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "message %s" +msgid "Glance image %s" msgstr "" -#: nova/service.py:157 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "Starting %s node" +msgid "Copying VDI %s to /boot/guest on dom0" msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "Running pygrub against %s" msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:411 #, python-format -msgid "Serving %s" +msgid "Found Xen kernel %s" msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +msgid "duplicate name found: %s" msgstr "" -#: nova/twistd.py:268 +#: ../nova/virt/xenapi/vm_utils.py:442 #, python-format -msgid "Starting %s" +msgid "VDI %s is still available" msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/vm_utils.py:463 #, python-format -msgid "Inner Exception: %s" +msgid "(VM_UTILS) xenserver vm state -> |%s|" msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "Class %s cannot be found" +msgid "(VM_UTILS) xenapi power_state -> |%s|" msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/vm_utils.py:525 #, python-format -msgid "Fetching %s" +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/vm_utils.py:542 #, python-format -msgid "Running cmd (subprocess): %s" +msgid "Re-scanning SR %s" msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/xenapi/vm_utils.py:567 #, python-format -msgid "Result was %s" +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "debug in callback: %s" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "Running %s" +msgid "No VDIs found for VM %s" msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "Invalid backend: %s" +msgid "Creating VBD for VDI %s ... " msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 #, python-format -msgid "backend %s" +msgid "Creating VBD for VDI %s done." msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 #, python-format msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Authentication Failure: %s" +msgid "Writing partition table %s done." msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "Nested received %(queue)s, %(value)s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "action: %s" +msgid "Nested return %s" msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "arg: %s\t\tval: %s" +msgid "Received %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "No service for id %s" msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "NotFound raised: %s" +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "ApiError raised: %s" +msgid "No floating ip for address %s" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Unexpected error raised: %s" +msgid "No address for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 #, python-format -msgid "Creating new user: %s" +msgid "No network for id %s" msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Deleting user: %s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:1527 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Create project %s managed by %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:1589 #, python-format -msgid "Delete project: %s" +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Adding user %s to project %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "Removing user %s from project %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/cloud.py:117 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "Generating root CA: %s" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Create key pair %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Delete key pair %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "%s is not a valid ipProtocol" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Revoke security group ingress %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Authorize security group ingress %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "This rule already exists in group %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Create Security Group %s" +msgid "Connecting to libvirt: %s" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "group %s already exists" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Delete security group %s" +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Get console output for instance %s" +msgid "No disk at %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Create volume of %s GB" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Detach volume %s" +msgid "instance %s: rescued" msgstr "" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Release address %s" +msgid "instance %s: is running" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Associate address %s to instance %s" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Disassociate address %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#: ../nova/virt/libvirt_conn.py:436 +#, python-format +msgid "virsh said: %r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Reboot instance %r" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "De-registering image %s" +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Registered image %s with id %s" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "attribute not supported: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "invalid id: %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 +#, python-format +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Updating image %s publicity" +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" + +#: ../nova/api/ec2/metadatarequesthandler.py:76 +#, python-format +msgid "Failed to get metadata for ip: %s" +msgstr "" + +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "" + +#: ../nova/network/api.py:39 +#, python-format +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "" + +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "" + +#: ../nova/tests/test_volume.py:162 +#, python-format +msgid "Target %s allocated" +msgstr "" + +#: ../nova/virt/images.py:70 +#, python-format +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" + +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 -#, python-format -msgid "Failed to get metadata for ip: %s" +#: ../nova/console/manager.py:70 +msgid "Adding console" msgstr "" -#: nova/api/openstack/__init__.py:70 +#: ../nova/console/manager.py:90 #, python-format -msgid "Caught error: %s" +msgid "Tried to remove non-existant console %(console_id)s." msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/api/direct.py:149 +msgid "not available" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Compute.api::lock %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/api/openstack/servers.py:199 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "Compute.api::unlock %s" +msgid "Generating root CA: %s" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "Compute.api::get_lock %s" +msgid "Create key pair %s" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/api/ec2/cloud.py:311 #, python-format -msgid "Compute.api::pause %s" +msgid "Delete key pair %s" msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/api/ec2/cloud.py:386 #, python-format -msgid "Compute.api::unpause %s" +msgid "%s is not a valid ipProtocol" msgstr "" -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "compute.api::resume %s" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "Project can't be created because project %s already exists" +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "This rule already exists in group %s" msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/api/ec2/cloud.py:492 #, python-format -msgid "User \"%s\" not found" +msgid "Create Security Group %s" msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/api/ec2/cloud.py:495 #, python-format -msgid "Project \"%s\" not found" -msgstr "" - -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +msgid "group %s already exists" msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../nova/api/ec2/cloud.py:507 #, python-format -msgid "LDAP object for %s doesn't exist" +msgid "Delete security group %s" msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Create volume of %s GB" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "User %s is already a member of the group %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Detach volume %s" msgstr "" -#: nova/auth/ldapdriver.py:528 -#, python-format -msgid "Group at dn %s doesn't exist" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:259 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "Looking up user: %r" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Failed authorization for access key %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:780 #, python-format -msgid "No user found for access key %s" +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:270 -#, python-format -msgid "Using project name = user name (%s)" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:275 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "No project called %s could be found" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "User %s is not a member of project %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:890 #, python-format -msgid "Invalid signature for user %s" +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" msgstr "" -#: nova/auth/manager.py:408 -#, python-format -msgid "The %s role can not be found" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/auth/manager.py:410 +#: ../nova/api/ec2/cloud.py:908 #, python-format -msgid "The %s role is global only" +msgid "Updating image %s publicity" msgstr "" -#: nova/auth/manager.py:412 +#: ../bin/nova-api.py:52 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/manager.py:438 +#: ../bin/nova-api.py:57 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../bin/nova-api.py:59 #, python-format -msgid "Created project %s with manager %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:523 +#: ../bin/nova-api.py:64 #, python-format -msgid "modifying project %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:553 +#: ../bin/nova-api.py:69 #, python-format -msgid "Remove user %s from project %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/auth/manager.py:581 +#: ../bin/nova-api.py:83 #, python-format -msgid "Deleting project %s" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/auth/manager.py:637 +#: ../bin/nova-api.py:89 #, python-format -msgid "Created user %s (admin: %r)" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/auth/manager.py:645 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Deleting user %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/manager.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Access Key change for user %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/manager.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Secret Key change for user %s" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/manager.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Argument %s is required." msgstr "" -#: nova/auth/manager.py:708 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "No vpn data for project %s" -msgstr "" - -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "" - -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Launching VPN for %s" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/api.py:67 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Instance %d has no host" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:167 +#, python-format +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Going to run %s instances..." +msgid "Instance %s: booted" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Instance not present %s" msgstr "" -#: nova/compute/api.py:279 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Going to try and terminate %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/api.py:283 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/api.py:288 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Instance %d is already being terminated" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/disk.py:71 -#, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Failed to load partition: %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Unknown instance type: %s" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/image/s3.py:99 +#, python-format +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "instance %s: Failed to spawn" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Terminating instance %s" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Disassociating address %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Deallocating address %s" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Rebooting instance %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: snapshotting" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "instance %s: rescuing" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "instance %s: unrescuing" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: unpausing" +msgid "User %s already exists" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: suspending" +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: resuming" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "instance %s: locking" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "instance %s: unlocking" +msgid "User \"%s\" not found" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "instance %s: getting locked state" +msgid "Project \"%s\" not found" msgstr "" -#: nova/compute/manager.py:462 -#, python-format -msgid "instance %s: attaching volume %s to %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Got exception: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/compute/monitor.py:259 #, python-format msgid "updating %s..." msgstr "" -#: nova/compute/monitor.py:289 +#: ../nova/compute/monitor.py:289 msgid "unexpected error during update" msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:412 +#: ../nova/compute/monitor.py:414 msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/compute/monitor.py:429 #, python-format msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "" - -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/san.py:67 #, python-format -msgid "No service for id %s" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No service for %s, %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No floating ip for address %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/console/xvp.py:116 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No network for instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/db/sqlalchemy/api.py:1401 -#, python-format -msgid "Volume %s not found" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/db/sqlalchemy/api.py:1426 -#, python-format -msgid "No target id found for volume %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 -#, python-format -msgid "No secuity group rule with id %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 -#, python-format -msgid "No project with id %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/disk.py:69 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "Failed to load partition: %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/disk.py:124 #, python-format -msgid "Image %s could not be found" +msgid "nbd device %s did not show up" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/disk.py:128 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/network/linux_net.py:176 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Starting VLAN inteface %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/linux_net.py:186 -#, python-format -msgid "Starting Bridge interface for %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Starting VM %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "Started VM %s " msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:152 +#, python-format +msgid "spawn vm failed: %s" msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "Leasing IP %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Set memory for vm %s..." msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "IP %s released that isn't associated" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "New disk drive path is %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "IP %s released that was not leased" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Created disk for %s" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Unknown S3 value type %r" +msgid "Creating nic for %s " msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:273 +#, python-format +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "List keys for bucket %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" +msgstr "" + +#: ../nova/virt/hyperv.py:286 +#, python-format +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Creating bucket %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Deleting bucket %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Getting object: %s / %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "Putting object: %s / %s" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Deleting object: %s / %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/compute/api.py:71 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/compute/api.py:77 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/compute/api.py:97 #, python-format -msgid "Starting image upload: %s" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:420 +#: ../nova/compute/api.py:99 #, python-format -msgid "Not authorized to update attributes of image %s" +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:428 -#, python-format -msgid "Toggling publicity flag of image %s %r" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/compute/api.py:160 #, python-format -msgid "Updating user fields on image %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:447 +#: ../nova/compute/api.py:187 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/compute/api.py:292 #, python-format -msgid "Deleted image: %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +#: ../nova/compute/api.py:296 +#, python-format +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/compute/api.py:301 +#, python-format +msgid "Instance %d is already being terminated" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/compute/api.py:481 #, python-format -msgid "Casting to %s %s for %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/rpc.py:98 +#, python-format +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/rpc.py:103 +#, python-format +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" msgstr "" -#: nova/tests/test_cloud.py:210 -#, python-format -msgid "Need to watch instance %s until it's running..." +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/rpc.py:159 #, python-format -msgid "Running instances: %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/rpc.py:178 #, python-format -msgid "After terminating instances: %s" +msgid "received %s" msgstr "" -#: nova/tests/test_rpc.py:89 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Nested received %s, %s" +msgid "no method for message: %s" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/rpc.py:192 #, python-format -msgid "Nested return %s" +msgid "No method for message: %s" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/rpc.py:253 #, python-format -msgid "Received %s" +msgid "Returning exception %s to caller" msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/rpc.py:294 #, python-format -msgid "Target %s allocated" +msgid "unpacked context: %s" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:316 #, python-format -msgid "Instance %s Not Found" +msgid "MSG_ID is %s" msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:364 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "response %s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:373 #, python-format -msgid "Starting VM %s " +msgid "topic is %s" msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/rpc.py:374 #, python-format -msgid "Started VM %s " +msgid "message %s" msgstr "" -#: nova/virt/hyperv.py:152 +#: ../nova/volume/driver.py:78 #, python-format -msgid "spawn vm failed: %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to create VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created VM %s..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:188 -#, python-format -msgid "Set memory for vm %s..." +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:198 -#, python-format -msgid "Set vcpus for vm %s..." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:414 #, python-format -msgid "New disk drive path is %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:247 -#, python-format -msgid "Failed to add vhd file to VM %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/wsgi.py:68 #, python-format -msgid "Created disk for %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:273 -#, python-format -msgid "Failed creating port for %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:275 -#, python-format -msgid "Created switch port %s on switch %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Created nic for %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/fake.py:239 #, python-format -msgid "WMI job failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/network/manager.py:153 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to destroy vm %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/network/manager.py:216 #, python-format -msgid "Del: disk %s vm %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/network/manager.py:220 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/network/manager.py:228 #, python-format -msgid "duplicate name found: %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:233 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:241 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:244 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "No disk at %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: rebooted" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "instance %s: rescued" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "instance %s: is running" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: booted" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Contents of file %s: %r" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: Creating image" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:589 -#, python-format -msgid "instance %s: finished toXML method" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Got exception: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "%s: _db_content => %s" -msgstr "" - -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "Calling %s %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Calling getter %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Found no network for bridge %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Created VM %s as %s." +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "VBD not found in instance %s" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:277 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:279 #, python-format -msgid "VDI %s is still available" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:287 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:289 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "VHD %s has parent %s" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 -#, python-format -msgid "Re-scanning SR %s" +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 -#, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:414 #, python-format -msgid "No VDIs found for VM %s" +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Starting VM %s..." +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Spawning VM %s created %s." +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Instance %s: booted" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Instance not present %s" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Starting snapshot for VM %s" +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:592 #, python-format -msgid "suspend: instance not present %s" +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:650 #, python-format -msgid "resume: instance not present %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Instance not found %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Introducing %s..." +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Introduced %s as %s." -msgstr "" - -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Forgetting SR %s ... " +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/service.py:161 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 -#, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 -#, python-format -msgid "Forgetting SR %s done." +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 -#, python-format -msgid "Ignoring exception %s when forgetting SR %s" +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 -#, python-format -msgid "Unable to introduce VDI on SR %s" +#: ../nova/service.py:213 +msgid "model server went away" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Detach_volume: %s, %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Unable to locate volume %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Unable to detach volume %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "" - -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "" - -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "" - -#: nova/volume/api.py:103 -msgid "Volume is already detached" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "volume group %s doesn't exist" +msgid "Creating new user: %s" msgstr "" -#: nova/volume/driver.py:210 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "FAKE AOE: %s" +msgid "Deleting user: %s" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Re-exporting %s volumes" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "volume %s: creating" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:102 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "volume %s: creating lv of size %sG" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/manager.py:106 -#, python-format -msgid "volume %s: creating export" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/manager.py:113 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "volume %s: created successfully" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" +#: ../nova/api/ec2/admin.py:177 +#, python-format +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" +#: ../nova/api/ec2/admin.py:190 +#, python-format +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:124 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "volume %s: removing export" +msgid "Delete project: %s" msgstr "" -#: nova/volume/manager.py:126 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "volume %s: deleting" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:129 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: deleted successfully" +msgid "Removing user %(user)s from project %(project)s" msgstr "" diff --git a/po/cs.po b/po/cs.po index 861efa37e..7c69e2f79 100644 --- a/po/cs.po +++ b/po/cs.po @@ -7,2131 +7,2862 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" "PO-Revision-Date: 2011-02-07 12:45+0000\n" "Last-Translator: David Pravec \n" "Language-Team: Czech \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-08 05:28+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:18+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Při spouštění příkazu došlo k nečekané chybě" + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Neošetřená výjimka" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "Jméno souboru kořenové CA" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "Jméno souboru s privátním klíčem" -#: nova/crypto.py:51 -msgid "Filename of root Certificate Revokation List" +#: ../nova/crypto.py:51 +msgid "Filename of root Certificate Revokation List" +msgstr "" + +#: ../nova/crypto.py:53 +msgid "Where we keep our keys" +msgstr "Adresář, do kterého ukládáme naše klíče" + +#: ../nova/crypto.py:55 +msgid "Where we keep our root CA" +msgstr "Adresář, do kterého ukládáme naši kořenovou CA" + +#: ../nova/crypto.py:57 +msgid "Should we use a CA for each project?" +msgstr "Použijeme CA pro každý projekt?" + +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "" + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "" + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" msgstr "" -#: nova/crypto.py:53 -msgid "Where we keep our keys" -msgstr "Adresář, do kterého ukládáme naše klíče" +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" -#: nova/crypto.py:55 -msgid "Where we keep our root CA" -msgstr "Adresář, do kterého ukládáme naši kořenovou CA" +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "" -#: nova/crypto.py:57 -msgid "Should we use a CA for each project?" -msgstr "Použijeme CA pro každý projekt?" +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" -#: nova/crypto.py:61 +#: ../nova/utils.py:217 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "debug in callback: %s" msgstr "" -#: nova/crypto.py:66 +#: ../nova/utils.py:222 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" +msgid "Running %s" msgstr "" -#: nova/crypto.py:71 +#: ../nova/utils.py:262 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" +msgid "Link Local address is not found.:%s" msgstr "" -#: nova/crypto.py:258 +#: ../nova/utils.py:265 #, python-format -msgid "Flags path: %s" +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Při spouštění příkazu došlo k nečekané chybě" +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" -#: nova/exception.py:36 +#: ../nova/utils.py:374 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Příkaz: %s\n" -"Vrácená hodnota: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Neošetřená výjimka" +msgid "backend %s" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/fakerabbit.py:49 #, python-format -msgid "(%s) publish (key: %s) %s" +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/fakerabbit.py:54 #, python-format msgid "Publishing to route %s" msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/fakerabbit.py:84 #, python-format msgid "Declaring queue %s" msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/fakerabbit.py:90 #, python-format msgid "Declaring exchange %s" msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/fakerabbit.py:96 #, python-format -msgid "Binding %s to %s with key %s" +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/fakerabbit.py:121 #, python-format -msgid "Getting from %s: %s" +msgid "Getting from %(queue)s: %(message)s" msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "AMQP server na %s:%d není dosažitelný. Zkusím znovu za %d sekund." +msgid "Created VM %s..." +msgstr "" -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:138 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgid "Created VM %(instance_name)s as %(vm_ref)s." msgstr "" -"Nepodařilo se připojit k AMQP serveru ani po %d pokusech. Tento proces bude " -"ukončen." -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Znovu připojeno k AMQP frontě" +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "Selhalo získání zprávy z AMQP fronty" +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" -#: nova/rpc.py:155 +#: ../nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "VBD not found in instance %s" msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:197 #, python-format -msgid "received %s" -msgstr "získáno: %s" +msgid "Unable to unplug VBD %s" +msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:209 #, python-format -msgid "no method for message: %s" -msgstr "Není metoda pro zpracování zprávy: %s" +msgid "Unable to destroy VBD %s" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:224 #, python-format -msgid "No method for message: %s" -msgstr "Není metoda pro zpracování zprávy: %s" +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:227 #, python-format -msgid "Returning exception %s to caller" -msgstr "Volajícímu je vrácena výjimka: %s" +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" -#: nova/rpc.py:286 +#: ../nova/virt/xenapi/vm_utils.py:246 #, python-format -msgid "unpacked context: %s" -msgstr "rozbalený obsah: %s" +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Volání asynchronní funkce..." +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:272 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID je %s" +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:286 #, python-format -msgid "response %s" -msgstr "odpověď %s" +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:327 #, python-format -msgid "topic is %s" +msgid "Size for image %(image)s:%(virtual_size)d" msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "message %s" -msgstr "zpráva %s" +msgid "Glance image %s" +msgstr "" -#: nova/service.py:157 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "Starting %s node" +msgid "Copying VDI %s to /boot/guest on dom0" msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "Running pygrub against %s" msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:411 #, python-format -msgid "Serving %s" +msgid "Found Xen kernel %s" msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +msgid "duplicate name found: %s" msgstr "" -#: nova/twistd.py:268 +#: ../nova/virt/xenapi/vm_utils.py:442 #, python-format -msgid "Starting %s" +msgid "VDI %s is still available" msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/vm_utils.py:463 #, python-format -msgid "Inner Exception: %s" +msgid "(VM_UTILS) xenserver vm state -> |%s|" msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "Class %s cannot be found" +msgid "(VM_UTILS) xenapi power_state -> |%s|" msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/vm_utils.py:525 #, python-format -msgid "Fetching %s" +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/vm_utils.py:542 #, python-format -msgid "Running cmd (subprocess): %s" +msgid "Re-scanning SR %s" msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/xenapi/vm_utils.py:567 #, python-format -msgid "Result was %s" +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "debug in callback: %s" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "Running %s" +msgid "No VDIs found for VM %s" msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "Invalid backend: %s" +msgid "Creating VBD for VDI %s ... " msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 #, python-format -msgid "backend %s" +msgid "Creating VBD for VDI %s done." msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +msgid "Plugging VBD %s done." msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/xenapi/vm_utils.py:661 #, python-format -msgid "Authentication Failure: %s" +msgid "VBD %(vbd)s plugged as %(orig_dev)s" msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/virt/xenapi/vm_utils.py:664 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 #, python-format -msgid "action: %s" +msgid "Destroying VBD for VDI %s ... " msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 #, python-format -msgid "arg: %s\t\tval: %s" +msgid "Destroying VBD for VDI %s done." msgstr "" -#: nova/api/ec2/__init__.py:301 -#, python-format -msgid "Unauthorized request for controller=%s and action=%s" +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." msgstr "" -#: nova/api/ec2/__init__.py:339 -#, python-format -msgid "NotFound raised: %s" +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 #, python-format -msgid "ApiError raised: %s" +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 #, python-format -msgid "Unexpected error raised: %s" +msgid "Ignoring XenAPI.Failure %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Creating new user: %s" +msgid "Writing partition table %s done." msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Deleting user: %s" +msgid "Nested received %(queue)s, %(value)s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "Nested return %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "Received %s" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No service for id %s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "No service for %(host)s, %(binary)s" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "No floating ip for address %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Create project %s managed by %s" +msgid "No address for instance %s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:961 #, python-format -msgid "Delete project: %s" +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 #, python-format -msgid "Adding user %s to project %s" +msgid "No network for id %s" msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Removing user %s from project %s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/cloud.py:117 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "Generating root CA: %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "Create key pair %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 #, python-format -msgid "Delete key pair %s" +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/db/sqlalchemy/api.py:1514 #, python-format -msgid "%s is not a valid ipProtocol" +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Revoke security group ingress %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Authorize security group ingress %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "This rule already exists in group %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Create Security Group %s" +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "group %s already exists" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Delete security group %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Get console output for instance %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "Create volume of %s GB" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/db/sqlalchemy/api.py:2057 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "on instance %s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Detach volume %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Release address %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "Associate address %s to instance %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Disassociate address %s" +msgid "Connecting to libvirt: %s" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "Reboot instance %r" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "De-registering image %s" +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Registered image %s with id %s" +msgid "No disk at %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "attribute not supported: %s" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "invalid id: %s" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#: ../nova/virt/libvirt_conn.py:382 +#, python-format +msgid "instance %s: rescued" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/virt/libvirt_conn.py:411 +#, python-format +msgid "instance %s: is running" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Updating image %s publicity" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Failed to get metadata for ip: %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/openstack/__init__.py:70 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "Caught error: %s" +msgid "virsh said: %r" msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Compute.api::lock %s" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/openstack/servers.py:199 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "Compute.api::unlock %s" +msgid "Contents of file %(fpath)s: %(contents)r" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Compute.api::get_lock %s" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "Compute.api::pause %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "Compute.api::unpause %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/openstack/servers.py:246 +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 #, python-format -msgid "compute.api::suspend %s" +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/openstack/servers.py:257 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "compute.api::resume %s" +msgid "instance %s: starting toXML method" msgstr "" -#: nova/auth/dbdriver.py:84 +#: ../nova/virt/libvirt_conn.py:732 #, python-format -msgid "User %s already exists" +msgid "instance %s: finished toXML method" msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Project can't be created because manager %s doesn't exist" +msgid "Attempted to unfilter instance %s which is not filtered" msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format -msgid "Project can't be created because project %s already exists" +msgid "Failed to get metadata for ip: %s" +msgstr "" + +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/network/api.py:39 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "" + +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "User \"%s\" not found" +msgid "Target %s allocated" msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/virt/images.py:70 #, python-format -msgid "Project \"%s\" not found" +msgid "Finished retreving %(url)s -- placed in %(path)s" msgstr "" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" msgstr "" -#: nova/auth/ldapdriver.py:181 -#, python-format -msgid "LDAP object for %s doesn't exist" +#: ../nova/console/manager.py:70 +msgid "Adding console" msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/console/manager.py:90 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" + +#: ../nova/api/direct.py:149 +msgid "not available" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "User %s is already a member of the group %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/auth/ldapdriver.py:507 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Generating root CA: %s" msgstr "" -#: nova/auth/ldapdriver.py:528 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "Group at dn %s doesn't exist" +msgid "Create key pair %s" msgstr "" -#: nova/auth/manager.py:259 +#: ../nova/api/ec2/cloud.py:311 #, python-format -msgid "Looking up user: %r" +msgid "Delete key pair %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:386 #, python-format -msgid "Failed authorization for access key %s" +msgid "%s is not a valid ipProtocol" +msgstr "" + +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "No user found for access key %s" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/manager.py:270 -#, python-format -msgid "Using project name = user name (%s)" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/manager.py:275 -#, python-format -msgid "failed authorization: no project named %s (user=%s)" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "No project called %s could be found" +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "This rule already exists in group %s" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:492 #, python-format -msgid "User %s is not a member of project %s" +msgid "Create Security Group %s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:495 #, python-format -msgid "Invalid signature for user %s" -msgstr "" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +msgid "group %s already exists" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:507 +#, python-format +msgid "Delete security group %s" msgstr "" -#: nova/auth/manager.py:408 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "The %s role can not be found" +msgid "Create volume of %s GB" msgstr "" -#: nova/auth/manager.py:410 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "The %s role is global only" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/manager.py:412 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Detach volume %s" msgstr "" -#: nova/auth/manager.py:438 -#, python-format -msgid "Removing role %s from user %s on project %s" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:505 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "Created project %s with manager %s" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:523 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "modifying project %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:553 +#: ../nova/api/ec2/cloud.py:780 #, python-format -msgid "Remove user %s from project %s" +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:581 -#, python-format -msgid "Deleting project %s" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:637 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "Created user %s (admin: %r)" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:645 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "Deleting user %s" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:655 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Access Key change for user %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:657 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "Secret Key change for user %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:659 +#: ../nova/api/ec2/cloud.py:890 #, python-format -msgid "Admin status set to %r for user %s" +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:708 -#, python-format -msgid "No vpn data for project %s" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../nova/api/ec2/cloud.py:908 +#, python-format +msgid "Updating image %s publicity" msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../bin/nova-api.py:52 #, python-format -msgid "Launching VPN for %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/compute/api.py:67 +#: ../bin/nova-api.py:57 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/compute/api.py:73 +#: ../bin/nova-api.py:59 #, python-format -msgid "Instance %d has no host" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/compute/api.py:92 +#: ../bin/nova-api.py:64 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "Running %s API" msgstr "" -#: nova/compute/api.py:94 +#: ../bin/nova-api.py:69 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "No known API applications configured in %s." msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../bin/nova-api.py:83 +#, python-format +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/compute/api.py:156 +#: ../bin/nova-api.py:89 #, python-format -msgid "Going to run %s instances..." +msgid "No paste configuration found for: %s" msgstr "" -#: nova/compute/api.py:180 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/compute/api.py:279 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Going to try and terminate %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/compute/api.py:283 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/compute/api.py:288 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Instance %d is already being terminated" +msgid "Argument %s is required." msgstr "" -#: nova/compute/api.py:450 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/compute/disk.py:71 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Failed to load partition: %s" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Unknown instance type: %s" +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "Instance %s: booted" msgstr "" -#: nova/compute/manager.py:71 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +msgid "Instance not present %s" msgstr "" -#: nova/compute/manager.py:75 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "check_instance_lock: locked: |%s|" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/manager.py:77 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "check_instance_lock: admin: |%s|" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/manager.py:86 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "check_instance_lock: not executing |%s|" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "instance %s: Failed to spawn" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Terminating instance %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Disassociating address %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Deallocating address %s" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "Rebooting instance %s" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:260 -#, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:286 -#, python-format -msgid "instance %s: snapshotting" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:289 -#, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "instance %s: rescuing" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/manager.py:316 -#, python-format -msgid "instance %s: unrescuing" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:335 +#: ../nova/image/s3.py:99 #, python-format -msgid "instance %s: pausing" +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:352 -#, python-format -msgid "instance %s: unpausing" +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "instance %s: suspending" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "instance %s: resuming" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "instance %s: locking" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "instance %s: unlocking" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "instance %s: getting locked state" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:462 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "instance %s: attaching volume %s to %s" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "updating %s..." +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "User %s already exists" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 +#, python-format +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "Found instance: %s" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 +#, python-format +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "No service for id %s" +msgid "User \"%s\" not found" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "No service for %s, %s" +msgid "Project \"%s\" not found" msgstr "" -#: nova/db/sqlalchemy/api.py:574 -#, python-format -msgid "No floating ip for address %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/db/sqlalchemy/api.py:668 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "No instance for id %s" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Instance %s not found" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Got exception: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 +#: ../nova/compute/monitor.py:259 #, python-format -msgid "No network for id %s" +msgid "updating %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "No network for instance %s" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Token %s does not exist" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" msgstr "" -#: nova/db/sqlalchemy/api.py:1356 +#: ../nova/compute/monitor.py:429 #, python-format -msgid "No volume for id %s" +msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/volume/san.py:67 #, python-format -msgid "Volume %s not found" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No export device found for volume %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No target id found for volume %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/console/xvp.py:116 #, python-format -msgid "No secuity group rule with id %s" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No project with id %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/image/glance.py:78 -#, python-format -msgid "Parallax returned HTTP error %d from request for /images" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/image/glance.py:97 -#, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/image/s3.py:82 -#, python-format -msgid "Image %s could not be found" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/network/api.py:39 -#, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/network/linux_net.py:176 -#, python-format -msgid "Starting VLAN inteface %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/network/linux_net.py:186 -#, python-format -msgid "Starting Bridge interface for %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/network/linux_net.py:254 -#, python-format -msgid "Hupping dnsmasq threw %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/network/linux_net.py:256 -#, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/network/linux_net.py:334 -#, python-format -msgid "Killing dnsmasq threw %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/network/manager.py:190 -#, python-format -msgid "Leasing IP %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/disk.py:69 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to load partition: %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/disk.py:91 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/disk.py:124 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "nbd device %s did not show up" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/disk.py:128 #, python-format -msgid "IP %s released that isn't associated" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/manager.py:217 -#, python-format -msgid "IP %s released from bad mac %s vs %s" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/network/manager.py:220 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "IP %s released that was not leased" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/manager.py:442 -#, python-format -msgid "Dissassociated %s stale fixed ip(s)" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Unknown S3 value type %r" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:148 +#, python-format +msgid "Starting VM %s " msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:150 +#, python-format +msgid "Started VM %s " msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "List keys for bucket %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "Creating bucket %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "Deleting bucket %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "Getting object: %s / %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "New disk drive path is %s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Putting object: %s / %s" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Created disk for %s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Deleting object: %s / %s" +msgid "Creating nic for %s " +msgstr "" + +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Starting image upload: %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/objectstore/handler.py:420 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Not authorized to update attributes of image %s" +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:428 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Toggling publicity flag of image %s %r" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Updating user fields on image %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:447 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Deleted image: %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +#: ../nova/virt/hyperv.py:393 +#, python-format +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/virt/hyperv.py:415 +#, python-format +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Casting to %s %s for %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/virt/hyperv.py:454 +#, python-format +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/compute/api.py:71 +#, python-format +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/compute/api.py:77 +#, python-format +msgid "Instance %d has no host" msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/compute/api.py:97 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/compute/api.py:99 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." +msgstr "" + +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/compute/api.py:160 #, python-format -msgid "Running instances: %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/compute/api.py:187 #, python-format -msgid "After terminating instances: %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/tests/test_rpc.py:89 +#: ../nova/compute/api.py:292 #, python-format -msgid "Nested received %s, %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/compute/api.py:296 #, python-format -msgid "Nested return %s" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/compute/api.py:301 #, python-format -msgid "Received %s" +msgid "Instance %d is already being terminated" msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/compute/api.py:481 #, python-format -msgid "Target %s allocated" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:98 #, python-format -msgid "Instance %s Not Found" +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:103 +#, python-format +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" +"Nepodařilo se připojit k AMQP serveru ani po %d pokusech. Tento proces bude " +"ukončen." + +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Znovu připojeno k AMQP frontě" + +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "Selhalo získání zprávy z AMQP fronty" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:159 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:178 #, python-format -msgid "Starting VM %s " -msgstr "" +msgid "received %s" +msgstr "získáno: %s" -#: nova/virt/hyperv.py:150 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Started VM %s " -msgstr "" +msgid "no method for message: %s" +msgstr "Není metoda pro zpracování zprávy: %s" -#: nova/virt/hyperv.py:152 +#: ../nova/rpc.py:192 #, python-format -msgid "spawn vm failed: %s" -msgstr "" +msgid "No method for message: %s" +msgstr "Není metoda pro zpracování zprávy: %s" -#: nova/virt/hyperv.py:169 +#: ../nova/rpc.py:253 #, python-format -msgid "Failed to create VM %s" -msgstr "" +msgid "Returning exception %s to caller" +msgstr "Volajícímu je vrácena výjimka: %s" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/rpc.py:294 #, python-format -msgid "Created VM %s..." -msgstr "" +msgid "unpacked context: %s" +msgstr "rozbalený obsah: %s" + +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Volání asynchronní funkce..." -#: nova/virt/hyperv.py:188 +#: ../nova/rpc.py:316 #, python-format -msgid "Set memory for vm %s..." +msgid "MSG_ID is %s" +msgstr "MSG_ID je %s" + +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:198 +#: ../nova/rpc.py:364 #, python-format -msgid "Set vcpus for vm %s..." -msgstr "" +msgid "response %s" +msgstr "odpověď %s" -#: nova/virt/hyperv.py:202 +#: ../nova/rpc.py:373 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "topic is %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/rpc.py:374 #, python-format -msgid "Failed to add diskdrive to VM %s" -msgstr "" +msgid "message %s" +msgstr "zpráva %s" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:78 #, python-format -msgid "New disk drive path is %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to add vhd file to VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created disk for %s" +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:273 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Failed creating port for %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Created switch port %s on switch %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:285 +#: ../nova/volume/driver.py:414 #, python-format -msgid "Failed to add nic to VM %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:287 -#, python-format -msgid "Created nic for %s " +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/wsgi.py:68 #, python-format -msgid "WMI job failed: %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:322 -#, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:383 -#, python-format -msgid "Failed to destroy vm %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:389 -#, python-format -msgid "Del: disk %s vm %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" +msgstr "" + +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../bin/nova-dhcpbridge.py:123 #, python-format msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/virt/fake.py:239 #, python-format -msgid "duplicate name found: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:153 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 -#, python-format -msgid "Failed to change vm state of %s to %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:212 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:216 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:220 +#, python-format +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/network/manager.py:228 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/network/manager.py:233 #, python-format -msgid "No disk at %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/network/manager.py:237 +#, python-format +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/network/manager.py:241 #, python-format -msgid "instance %s: rebooted" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/network/manager.py:244 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:340 -#, python-format -msgid "instance %s: rescued" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "instance %s: is running" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:381 -#, python-format -msgid "instance %s: booted" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "virsh said: %r" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +#: ../nova/virt/xenapi/volume_utils.py:101 +#, python-format +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "data: %r, fpath: %r" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Contents of file %s: %r" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: Creating image" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:589 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: finished toXML method" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/image.py:262 +#, python-format +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "Got exception: %s" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/xenapi/fake.py:72 -#, python-format -msgid "%s: _db_content => %s" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Calling %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Calling getter %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "Found no network for bridge %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Created VM %s as %s." +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "VBD not found in instance %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:259 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:263 #, python-format -msgid "VDI %s is still available" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:264 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:270 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:277 #, python-format -msgid "VHD %s has parent %s" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 +#: ../nova/auth/manager.py:279 #, python-format -msgid "Re-scanning SR %s" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 +#: ../nova/auth/manager.py:287 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:289 #, python-format -msgid "No VDIs found for VM %s" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vmops.py:62 -#, python-format -msgid "Attempted to create non-unique name %s" +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vmops.py:99 -#, python-format -msgid "Starting VM %s..." +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:414 #, python-format -msgid "Spawning VM %s created %s." +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Instance %s: booted" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Instance not present %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Starting snapshot for VM %s" +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:515 #, python-format -msgid "suspend: instance not present %s" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:533 #, python-format -msgid "resume: instance not present %s" +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Instance not found %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Introducing %s..." +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Introduced %s as %s." +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/auth/manager.py:650 +#, python-format +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Forgetting SR %s ... " +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Forgetting SR %s done." +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/service.py:161 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 -#, python-format -msgid "Unable to introduce VDI on SR %s" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 -#, python-format -msgid "Unable to get record of VDI %s on" +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 -#, python-format -msgid "Unable to introduce VDI for SR %s" +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 -#, python-format -msgid "Unable to obtain target information %s, %s" +#: ../nova/service.py:213 +msgid "model server went away" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Detach_volume: %s, %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to locate volume %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Unable to detach volume %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "User %s is not a member of the group" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" +#: ../nova/auth/ldapdriver.py:549 +#, python-format +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/volume/api.py:97 -msgid "Volume is already attached" +#: ../nova/auth/ldapdriver.py:564 +#, python-format +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/volume/api.py:103 -msgid "Volume is already detached" +#: ../nova/virt/xenapi/network_utils.py:40 +#, python-format +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "volume group %s doesn't exist" +msgid "Creating new user: %s" msgstr "" -#: nova/volume/driver.py:210 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "FAKE AOE: %s" +msgid "Deleting user: %s" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Re-exporting %s volumes" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "volume %s: creating" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:102 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "volume %s: creating lv of size %sG" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/manager.py:106 -#, python-format -msgid "volume %s: creating export" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/manager.py:113 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "volume %s: created successfully" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" +#: ../nova/api/ec2/admin.py:177 +#, python-format +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" +#: ../nova/api/ec2/admin.py:190 +#, python-format +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:124 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "volume %s: removing export" +msgid "Delete project: %s" msgstr "" -#: nova/volume/manager.py:126 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "volume %s: deleting" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:129 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: deleted successfully" +msgid "Removing user %(user)s from project %(project)s" msgstr "" + +#, python-format +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "AMQP server na %s:%d není dosažitelný. Zkusím znovu za %d sekund." + +#, python-format +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Příkaz: %s\n" +#~ "Vrácená hodnota: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" diff --git a/po/da.po b/po/da.po index f845f11b0..d24d89fd9 100644 --- a/po/da.po +++ b/po/da.po @@ -7,2124 +7,2842 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" "PO-Revision-Date: 2011-01-15 21:46+0000\n" "Last-Translator: Soren Hansen \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:18+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "" + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "" -#: nova/crypto.py:49 -msgid "Filename of private key" -msgstr "Filnavn for privatnøgle" +#: ../nova/crypto.py:49 +msgid "Filename of private key" +msgstr "Filnavn for privatnøgle" + +#: ../nova/crypto.py:51 +msgid "Filename of root Certificate Revokation List" +msgstr "" + +#: ../nova/crypto.py:53 +msgid "Where we keep our keys" +msgstr "" + +#: ../nova/crypto.py:55 +msgid "Where we keep our root CA" +msgstr "" + +#: ../nova/crypto.py:57 +msgid "Should we use a CA for each project?" +msgstr "" + +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "" + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "" + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "bind %s: slettet" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" -#: nova/crypto.py:51 -msgid "Filename of root Certificate Revokation List" +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" msgstr "" -#: nova/crypto.py:53 -msgid "Where we keep our keys" +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" msgstr "" -#: nova/crypto.py:55 -msgid "Where we keep our root CA" +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" msgstr "" -#: nova/crypto.py:57 -msgid "Should we use a CA for each project?" +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" msgstr "" -#: nova/crypto.py:61 +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "Killing dnsmasq threw %s" msgstr "" -#: nova/crypto.py:66 +#: ../nova/utils.py:58 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" +msgid "Inner Exception: %s" msgstr "" -#: nova/crypto.py:71 +#: ../nova/utils.py:59 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" +msgid "Class %s cannot be found" msgstr "" -#: nova/crypto.py:258 +#: ../nova/utils.py:118 #, python-format -msgid "Flags path: %s" +msgid "Fetching %s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" msgstr "" -#: nova/exception.py:36 +#: ../nova/utils.py:143 ../nova/utils.py:183 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" +msgid "Result was %s" msgstr "" -#: nova/exception.py:86 -msgid "Uncaught exception" +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/fakerabbit.py:49 #, python-format -msgid "(%s) publish (key: %s) %s" +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/fakerabbit.py:54 #, python-format msgid "Publishing to route %s" msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/fakerabbit.py:84 #, python-format msgid "Declaring queue %s" msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/fakerabbit.py:90 #, python-format msgid "Declaring exchange %s" msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/fakerabbit.py:96 #, python-format -msgid "Binding %s to %s with key %s" +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/fakerabbit.py:121 #, python-format -msgid "Getting from %s: %s" +msgid "Getting from %(queue)s: %(message)s" msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +msgid "Created VM %s..." msgstr "" -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:138 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgid "Created VM %(instance_name)s as %(vm_ref)s." msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." msgstr "" -#: nova/rpc.py:155 +#: ../nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "VBD not found in instance %s" msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:197 #, python-format -msgid "received %s" +msgid "Unable to unplug VBD %s" msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:209 #, python-format -msgid "no method for message: %s" +msgid "Unable to destroy VBD %s" msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:224 #, python-format -msgid "No method for message: %s" +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:227 #, python-format -msgid "Returning exception %s to caller" +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:286 +#: ../nova/virt/xenapi/vm_utils.py:246 #, python-format -msgid "unpacked context: %s" +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:272 #, python-format -msgid "MSG_ID is %s" +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:286 #, python-format -msgid "response %s" +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:327 #, python-format -msgid "topic is %s" +msgid "Size for image %(image)s:%(virtual_size)d" msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "message %s" +msgid "Glance image %s" msgstr "" -#: nova/service.py:157 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "Starting %s node" +msgid "Copying VDI %s to /boot/guest on dom0" msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "Running pygrub against %s" msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:411 #, python-format -msgid "Serving %s" +msgid "Found Xen kernel %s" msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +msgid "duplicate name found: %s" msgstr "" -#: nova/twistd.py:268 +#: ../nova/virt/xenapi/vm_utils.py:442 #, python-format -msgid "Starting %s" +msgid "VDI %s is still available" msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/vm_utils.py:463 #, python-format -msgid "Inner Exception: %s" +msgid "(VM_UTILS) xenserver vm state -> |%s|" msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "Class %s cannot be found" +msgid "(VM_UTILS) xenapi power_state -> |%s|" msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/vm_utils.py:525 #, python-format -msgid "Fetching %s" +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/vm_utils.py:542 #, python-format -msgid "Running cmd (subprocess): %s" +msgid "Re-scanning SR %s" msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/xenapi/vm_utils.py:567 #, python-format -msgid "Result was %s" +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "debug in callback: %s" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "Running %s" +msgid "No VDIs found for VM %s" msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "Invalid backend: %s" +msgid "Creating VBD for VDI %s ... " msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 #, python-format -msgid "backend %s" +msgid "Creating VBD for VDI %s done." msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 #, python-format msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Authentication Failure: %s" +msgid "Writing partition table %s done." msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "Nested received %(queue)s, %(value)s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "action: %s" +msgid "Nested return %s" msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "arg: %s\t\tval: %s" +msgid "Received %s" msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "No service for id %s" msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "NotFound raised: %s" +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "ApiError raised: %s" +msgid "No floating ip for address %s" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Unexpected error raised: %s" +msgid "No address for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 #, python-format -msgid "Creating new user: %s" +msgid "No network for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Deleting user: %s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:1527 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Create project %s managed by %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:1589 #, python-format -msgid "Delete project: %s" +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Adding user %s to project %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "Removing user %s from project %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/cloud.py:117 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "Generating root CA: %s" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Create key pair %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Delete key pair %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "%s is not a valid ipProtocol" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Revoke security group ingress %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Authorize security group ingress %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "This rule already exists in group %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Create Security Group %s" +msgid "Connecting to libvirt: %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "group %s already exists" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Delete security group %s" +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Get console output for instance %s" +msgid "No disk at %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Create volume of %s GB" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Detach volume %s" +msgid "instance %s: rescued" msgstr "" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Release address %s" +msgid "instance %s: is running" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Associate address %s to instance %s" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Disassociate address %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#: ../nova/virt/libvirt_conn.py:436 +#, python-format +msgid "virsh said: %r" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Reboot instance %r" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "De-registering image %s" +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Registered image %s with id %s" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "attribute not supported: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "invalid id: %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 +#, python-format +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Updating image %s publicity" +msgid "Attempted to unfilter instance %s which is not filtered" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format msgid "Failed to get metadata for ip: %s" msgstr "" -#: nova/api/openstack/__init__.py:70 +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "" + +#: ../nova/network/api.py:39 +#, python-format +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "" + +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "" + +#: ../nova/tests/test_volume.py:162 +#, python-format +msgid "Target %s allocated" +msgstr "" + +#: ../nova/virt/images.py:70 +#, python-format +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" + +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "" + +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" + +#: ../nova/console/manager.py:90 #, python-format -msgid "Caught error: %s" +msgid "Tried to remove non-existant console %(console_id)s." msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/api/direct.py:149 +msgid "not available" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Compute.api::lock %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/api/openstack/servers.py:199 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "Compute.api::unlock %s" +msgid "Generating root CA: %s" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "Compute.api::get_lock %s" +msgid "Create key pair %s" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/api/ec2/cloud.py:311 #, python-format -msgid "Compute.api::pause %s" +msgid "Delete key pair %s" msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/api/ec2/cloud.py:386 #, python-format -msgid "Compute.api::unpause %s" +msgid "%s is not a valid ipProtocol" msgstr "" -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "compute.api::resume %s" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "Project can't be created because project %s already exists" +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "This rule already exists in group %s" msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/api/ec2/cloud.py:492 #, python-format -msgid "User \"%s\" not found" +msgid "Create Security Group %s" msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/api/ec2/cloud.py:495 #, python-format -msgid "Project \"%s\" not found" -msgstr "" - -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +msgid "group %s already exists" msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../nova/api/ec2/cloud.py:507 #, python-format -msgid "LDAP object for %s doesn't exist" +msgid "Delete security group %s" msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Create volume of %s GB" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "User %s is already a member of the group %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Detach volume %s" msgstr "" -#: nova/auth/ldapdriver.py:528 -#, python-format -msgid "Group at dn %s doesn't exist" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:259 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "Looking up user: %r" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Failed authorization for access key %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:780 #, python-format -msgid "No user found for access key %s" +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:270 -#, python-format -msgid "Using project name = user name (%s)" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:275 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "No project called %s could be found" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "User %s is not a member of project %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:890 #, python-format -msgid "Invalid signature for user %s" +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" msgstr "" -#: nova/auth/manager.py:408 -#, python-format -msgid "The %s role can not be found" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/auth/manager.py:410 +#: ../nova/api/ec2/cloud.py:908 #, python-format -msgid "The %s role is global only" +msgid "Updating image %s publicity" msgstr "" -#: nova/auth/manager.py:412 +#: ../bin/nova-api.py:52 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/manager.py:438 +#: ../bin/nova-api.py:57 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../bin/nova-api.py:59 #, python-format -msgid "Created project %s with manager %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:523 +#: ../bin/nova-api.py:64 #, python-format -msgid "modifying project %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:553 +#: ../bin/nova-api.py:69 #, python-format -msgid "Remove user %s from project %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/auth/manager.py:581 +#: ../bin/nova-api.py:83 #, python-format -msgid "Deleting project %s" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/auth/manager.py:637 +#: ../bin/nova-api.py:89 #, python-format -msgid "Created user %s (admin: %r)" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/auth/manager.py:645 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Deleting user %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/manager.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Access Key change for user %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/manager.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Secret Key change for user %s" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/manager.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Argument %s is required." msgstr "" -#: nova/auth/manager.py:708 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "No vpn data for project %s" -msgstr "" - -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "" - -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Launching VPN for %s" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/api.py:67 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Instance %d has no host" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:167 +#, python-format +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Going to run %s instances..." +msgid "Instance %s: booted" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Instance not present %s" msgstr "" -#: nova/compute/api.py:279 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Going to try and terminate %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/api.py:283 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/api.py:288 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Instance %d is already being terminated" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/disk.py:71 -#, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Failed to load partition: %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Unknown instance type: %s" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/image/s3.py:99 +#, python-format +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "instance %s: Failed to spawn" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Terminating instance %s" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Disassociating address %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Deallocating address %s" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Rebooting instance %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: snapshotting" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "instance %s: rescuing" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "instance %s: unrescuing" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: unpausing" +msgid "User %s already exists" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: suspending" +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: resuming" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "instance %s: locking" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "instance %s: unlocking" +msgid "User \"%s\" not found" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "instance %s: getting locked state" +msgid "Project \"%s\" not found" msgstr "" -#: nova/compute/manager.py:462 -#, python-format -msgid "instance %s: attaching volume %s to %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Got exception: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/compute/monitor.py:259 #, python-format msgid "updating %s..." msgstr "" -#: nova/compute/monitor.py:289 +#: ../nova/compute/monitor.py:289 msgid "unexpected error during update" msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:412 +#: ../nova/compute/monitor.py:414 msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/compute/monitor.py:429 #, python-format msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "" - -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/san.py:67 #, python-format -msgid "No service for id %s" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No service for %s, %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No floating ip for address %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/console/xvp.py:116 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No network for instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/db/sqlalchemy/api.py:1401 -#, python-format -msgid "Volume %s not found" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/db/sqlalchemy/api.py:1426 -#, python-format -msgid "No target id found for volume %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 -#, python-format -msgid "No secuity group rule with id %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 -#, python-format -msgid "No project with id %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/disk.py:69 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "Failed to load partition: %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/disk.py:124 #, python-format -msgid "Image %s could not be found" +msgid "nbd device %s did not show up" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/disk.py:128 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/network/linux_net.py:176 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Starting VLAN inteface %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/linux_net.py:186 -#, python-format -msgid "Starting Bridge interface for %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Starting VM %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "Started VM %s " msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:152 +#, python-format +msgid "spawn vm failed: %s" msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "Leasing IP %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Set memory for vm %s..." msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "IP %s released that isn't associated" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "New disk drive path is %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "IP %s released that was not leased" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Created disk for %s" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Unknown S3 value type %r" +msgid "Creating nic for %s " msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:273 +#, python-format +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "List keys for bucket %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Failed to add nic to VM %s" +msgstr "" + +#: ../nova/virt/hyperv.py:288 +#, python-format +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Creating bucket %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Deleting bucket %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Getting object: %s / %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "Putting object: %s / %s" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Deleting object: %s / %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/compute/api.py:71 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/compute/api.py:77 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/compute/api.py:97 #, python-format -msgid "Starting image upload: %s" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:420 +#: ../nova/compute/api.py:99 #, python-format -msgid "Not authorized to update attributes of image %s" +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:428 -#, python-format -msgid "Toggling publicity flag of image %s %r" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/compute/api.py:160 #, python-format -msgid "Updating user fields on image %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:447 +#: ../nova/compute/api.py:187 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/compute/api.py:292 #, python-format -msgid "Deleted image: %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +#: ../nova/compute/api.py:296 +#, python-format +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/compute/api.py:301 +#, python-format +msgid "Instance %d is already being terminated" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/compute/api.py:481 #, python-format -msgid "Casting to %s %s for %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/rpc.py:98 +#, python-format +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/rpc.py:103 +#, python-format +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" msgstr "" -#: nova/tests/test_cloud.py:210 -#, python-format -msgid "Need to watch instance %s until it's running..." +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/rpc.py:159 #, python-format -msgid "Running instances: %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/rpc.py:178 #, python-format -msgid "After terminating instances: %s" +msgid "received %s" msgstr "" -#: nova/tests/test_rpc.py:89 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Nested received %s, %s" +msgid "no method for message: %s" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/rpc.py:192 #, python-format -msgid "Nested return %s" +msgid "No method for message: %s" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/rpc.py:253 #, python-format -msgid "Received %s" +msgid "Returning exception %s to caller" msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/rpc.py:294 #, python-format -msgid "Target %s allocated" +msgid "unpacked context: %s" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:316 #, python-format -msgid "Instance %s Not Found" +msgid "MSG_ID is %s" msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:364 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "response %s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:373 #, python-format -msgid "Starting VM %s " +msgid "topic is %s" msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/rpc.py:374 #, python-format -msgid "Started VM %s " +msgid "message %s" msgstr "" -#: nova/virt/hyperv.py:152 +#: ../nova/volume/driver.py:78 #, python-format -msgid "spawn vm failed: %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to create VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created VM %s..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:188 -#, python-format -msgid "Set memory for vm %s..." +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:198 -#, python-format -msgid "Set vcpus for vm %s..." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:414 #, python-format -msgid "New disk drive path is %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:247 -#, python-format -msgid "Failed to add vhd file to VM %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/wsgi.py:68 #, python-format -msgid "Created disk for %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:273 -#, python-format -msgid "Failed creating port for %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:275 -#, python-format -msgid "Created switch port %s on switch %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Created nic for %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/fake.py:239 #, python-format -msgid "WMI job failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/network/manager.py:153 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to destroy vm %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/network/manager.py:216 #, python-format -msgid "Del: disk %s vm %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/network/manager.py:220 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/network/manager.py:228 #, python-format -msgid "duplicate name found: %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:233 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:241 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:244 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "No disk at %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: rebooted" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "instance %s: rescued" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "instance %s: is running" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: booted" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Contents of file %s: %r" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: Creating image" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:589 -#, python-format -msgid "instance %s: finished toXML method" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Got exception: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "%s: _db_content => %s" -msgstr "" - -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "Calling %s %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Calling getter %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Found no network for bridge %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Created VM %s as %s." +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "VBD not found in instance %s" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:277 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:279 #, python-format -msgid "VDI %s is still available" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:287 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:289 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "VHD %s has parent %s" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 -#, python-format -msgid "Re-scanning SR %s" +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 -#, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:414 #, python-format -msgid "No VDIs found for VM %s" +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Starting VM %s..." +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Spawning VM %s created %s." +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Instance %s: booted" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Instance not present %s" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Starting snapshot for VM %s" +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:592 #, python-format -msgid "suspend: instance not present %s" +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:650 #, python-format -msgid "resume: instance not present %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Instance not found %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Introducing %s..." +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Introduced %s as %s." -msgstr "" - -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Forgetting SR %s ... " +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/service.py:161 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 -#, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 -#, python-format -msgid "Forgetting SR %s done." +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 -#, python-format -msgid "Ignoring exception %s when forgetting SR %s" +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 -#, python-format -msgid "Unable to introduce VDI on SR %s" +#: ../nova/service.py:213 +msgid "model server went away" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Detach_volume: %s, %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Unable to locate volume %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Unable to detach volume %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "" - -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "" - -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "" - -#: nova/volume/api.py:103 -msgid "Volume is already detached" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "volume group %s doesn't exist" +msgid "Creating new user: %s" msgstr "" -#: nova/volume/driver.py:210 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "FAKE AOE: %s" +msgid "Deleting user: %s" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Re-exporting %s volumes" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "volume %s: creating" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/manager.py:102 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "volume %s: creating lv of size %sG" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/manager.py:106 -#, python-format -msgid "volume %s: creating export" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/manager.py:113 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "volume %s: created successfully" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" +#: ../nova/api/ec2/admin.py:177 +#, python-format +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" +#: ../nova/api/ec2/admin.py:190 +#, python-format +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:124 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "volume %s: removing export" +msgid "Delete project: %s" msgstr "" -#: nova/volume/manager.py:126 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "volume %s: deleting" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:129 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: deleted successfully" -msgstr "bind %s: slettet" +msgid "Removing user %(user)s from project %(project)s" +msgstr "" diff --git a/po/de.po b/po/de.po index 3b30c2fa9..8b4a00d72 100644 --- a/po/de.po +++ b/po/de.po @@ -7,2131 +7,2883 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-02-09 10:49+0000\n" -"Last-Translator: Christian Berendt \n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-04-03 19:42+0000\n" +"Last-Translator: Matthias Loidolt \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-10 05:13+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-04-04 05:19+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "Keine Computer gefunden." + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Unerwarteter Fehler bei Ausführung des Kommandos." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" +"%(description)s\n" +"Befehl: %(cmd)s\n" +"Exit-Code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Nicht abgefangene Ausnahme" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "PID-Datei %s existiert nicht. Läuft der Daemon nicht?\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "Alle vorhandenen FLAGS:" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "%s wird gestartet" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "Dateiname der Root CA" -#: nova/crypto.py:49 -msgid "Filename of private key" -msgstr "Dateiname des Private Key" +#: ../nova/crypto.py:49 +msgid "Filename of private key" +msgstr "Dateiname des Private Key" + +#: ../nova/crypto.py:51 +msgid "Filename of root Certificate Revokation List" +msgstr "Dateiname der Certificate Revocation List" + +#: ../nova/crypto.py:53 +msgid "Where we keep our keys" +msgstr "" + +#: ../nova/crypto.py:55 +msgid "Where we keep our root CA" +msgstr "" + +#: ../nova/crypto.py:57 +msgid "Should we use a CA for each project?" +msgstr "Soll eine eigenständige CA für jedes Projekt verwendet werden?" + +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "" + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "" + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "Volume %s: wird erstellt" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "Volume %s: erstelle Export" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "Volume %s: erfolgreich erstellt" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "Volume %s: entferne Export" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "Volume %s: wird entfernt" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "Volume %s: erfolgreich entfernt" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "Klasse %s konnte nicht gefunden werden" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "Führe Kommando (subprocess) aus: %s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "Ergebnis war %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "" -#: nova/crypto.py:51 -msgid "Filename of root Certificate Revokation List" -msgstr "Dateiname der Certificate Revocation List" +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" -#: nova/crypto.py:53 -msgid "Where we keep our keys" +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" msgstr "" -#: nova/crypto.py:55 -msgid "Where we keep our root CA" +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" msgstr "" -#: nova/crypto.py:57 -msgid "Should we use a CA for each project?" -msgstr "Soll eine eigenständige CA für jedes Projekt verwendet werden?" +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "" -#: nova/crypto.py:61 +#: ../nova/fakerabbit.py:49 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" msgstr "" -#: nova/crypto.py:66 +#: ../nova/fakerabbit.py:54 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" +msgid "Publishing to route %s" msgstr "" -#: nova/crypto.py:71 +#: ../nova/fakerabbit.py:84 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" +msgid "Declaring queue %s" msgstr "" -#: nova/crypto.py:258 +#: ../nova/fakerabbit.py:90 #, python-format -msgid "Flags path: %s" +msgid "Declaring exchange %s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Unerwarteter Fehler bei Ausführung des Kommandos." +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" -#: nova/exception.py:36 +#: ../nova/fakerabbit.py:121 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Kommando: %s\n" -"Exit Code: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Nicht abgefangene Ausnahme" +msgid "Getting from %(queue)s: %(message)s" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s) öffentlich (Schlüssel: %s) %s" +msgid "Created VM %s..." +msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/virt/xenapi/vm_utils.py:138 #, python-format -msgid "Publishing to route %s" +msgid "Created VM %(instance_name)s as %(vm_ref)s." msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/virt/xenapi/vm_utils.py:168 #, python-format -msgid "Declaring queue %s" +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/virt/xenapi/vm_utils.py:171 #, python-format -msgid "Declaring exchange %s" +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Binding %s to %s with key %s" +msgid "VBD not found in instance %s" msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/virt/xenapi/vm_utils.py:197 #, python-format -msgid "Getting from %s: %s" -msgstr "Beziehe von %s: %s" +msgid "Unable to unplug VBD %s" +msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:209 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +msgid "Unable to destroy VBD %s" msgstr "" -"Der AMQP server %s:%d ist nicht erreichbar. Erneuter Versuch in %d Sekunden." -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:224 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." msgstr "" -#: nova/rpc.py:155 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:272 #, python-format -msgid "received %s" +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:286 #, python-format -msgid "no method for message: %s" -msgstr "keine Methode für diese Nachricht gefunden: %s" +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:327 #, python-format -msgid "No method for message: %s" -msgstr "keine Methode für diese Nachricht gefunden: %s" +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "Returning exception %s to caller" +msgid "Glance image %s" msgstr "" -#: nova/rpc.py:286 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "unpacked context: %s" +msgid "Copying VDI %s to /boot/guest on dom0" msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "führe asynchronen Aufruf durch..." +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:361 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID ist %s" +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 #, python-format -msgid "response %s" +msgid "Looking up vdi %s for PV kernel" msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:397 #, python-format -msgid "topic is %s" -msgstr "Betreff ist %s" +msgid "PV Kernel in VDI:%s" +msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "message %s" -msgstr "Nachricht %s" +msgid "Running pygrub against %s" +msgstr "" -#: nova/service.py:157 +#: ../nova/virt/xenapi/vm_utils.py:411 #, python-format -msgid "Starting %s node" +msgid "Found Xen kernel %s" msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "(VM_UTILS) xenapi power_state -> |%s|" msgstr "" -"Datastore %s ist nicht erreichbar. Versuche es erneut in %d Sekunden." -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:525 #, python-format -msgid "Serving %s" +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" -msgstr "Alle vorhandenen FLAGS:" +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/xenapi/vm_utils.py:567 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" -msgstr "PID-Datei %s existiert nicht. Läuft der Daemon nicht?\n" +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" -#: nova/twistd.py:268 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "Starting %s" -msgstr "%s wird gestartet" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." +msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "Inner Exception: %s" +msgid "No VDIs found for VM %s" msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "Class %s cannot be found" -msgstr "Klasse %s konnte nicht gefunden werden" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "Fetching %s" +msgid "Creating VBD for VDI %s ... " msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 #, python-format -msgid "Running cmd (subprocess): %s" -msgstr "Führe Kommando (subprocess) aus: %s" +msgid "Creating VBD for VDI %s done." +msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 #, python-format -msgid "Result was %s" -msgstr "Ergebnis war %s" +msgid "Plugging VBD %s ... " +msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 #, python-format -msgid "debug in callback: %s" +msgid "Plugging VBD %s done." msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/xenapi/vm_utils.py:661 #, python-format -msgid "Running %s" +msgid "VBD %(vbd)s plugged as %(orig_dev)s" msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/xenapi/vm_utils.py:664 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 #, python-format -msgid "Invalid backend: %s" +msgid "Destroying VBD for VDI %s ... " msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 #, python-format -msgid "backend %s" +msgid "Destroying VBD for VDI %s done." msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 #, python-format msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Authentication Failure: %s" +msgid "Writing partition table %s done." msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "Nested received %(queue)s, %(value)s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "action: %s" +msgid "Nested return %s" msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "arg: %s\t\tval: %s" +msgid "Received %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "No service for id %s" msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "NotFound raised: %s" +msgid "No service for %(host)s, %(binary)s" msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "ApiError raised: %s" +msgid "No floating ip for address %s" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Unexpected error raised: %s" +msgid "No address for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 #, python-format -msgid "Creating new user: %s" +msgid "No network for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Deleting user: %s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:1527 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Create project %s managed by %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:1589 #, python-format -msgid "Delete project: %s" +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Adding user %s to project %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "Removing user %s from project %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/cloud.py:117 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "Generating root CA: %s" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Create key pair %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Delete key pair %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "%s is not a valid ipProtocol" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Revoke security group ingress %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Authorize security group ingress %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "This rule already exists in group %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Create Security Group %s" +msgid "Connecting to libvirt: %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "group %s already exists" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Delete security group %s" +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Get console output for instance %s" +msgid "No disk at %s" msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Create volume of %s GB" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Detach volume %s" +msgid "instance %s: rescued" msgstr "" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Release address %s" +msgid "instance %s: is running" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Associate address %s to instance %s" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Disassociate address %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#: ../nova/virt/libvirt_conn.py:436 +#, python-format +msgid "virsh said: %r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Reboot instance %r" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "De-registering image %s" +msgid "Contents of file %(fpath)s: %(contents)r" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Registered image %s with id %s" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "attribute not supported: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "invalid id: %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 +#, python-format +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Updating image %s publicity" +msgid "Attempted to unfilter instance %s which is not filtered" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format msgid "Failed to get metadata for ip: %s" msgstr "" -#: nova/api/openstack/__init__.py:70 +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "" + +#: ../nova/network/api.py:39 #, python-format -msgid "Caught error: %s" +msgid "Quota exceeeded for %s, tried to allocate address" msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Compute.api::lock %s" +msgid "Target %s allocated" msgstr "" -#: nova/api/openstack/servers.py:199 +#: ../nova/virt/images.py:70 #, python-format -msgid "Compute.api::unlock %s" +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" + +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "" + +#: ../nova/console/manager.py:70 +msgid "Adding console" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/console/manager.py:90 #, python-format -msgid "Compute.api::get_lock %s" +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" + +#: ../nova/api/direct.py:149 +msgid "not available" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Compute.api::pause %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/api/openstack/servers.py:235 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "Compute.api::unpause %s" +msgid "Generating root CA: %s" msgstr "" -#: nova/api/openstack/servers.py:246 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "compute.api::suspend %s" +msgid "Create key pair %s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:311 +#, python-format +msgid "Delete key pair %s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:386 +#, python-format +msgid "%s is not a valid ipProtocol" msgstr "" -#: nova/api/openstack/servers.py:257 -#, python-format -msgid "compute.api::resume %s" +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" msgstr "" -#: nova/auth/dbdriver.py:84 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "User %s already exists" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "User \"%s\" not found" +msgid "This rule already exists in group %s" msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/api/ec2/cloud.py:492 #, python-format -msgid "Project \"%s\" not found" +msgid "Create Security Group %s" msgstr "" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +#: ../nova/api/ec2/cloud.py:495 +#, python-format +msgid "group %s already exists" msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../nova/api/ec2/cloud.py:507 #, python-format -msgid "LDAP object for %s doesn't exist" +msgid "Delete security group %s" msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Create volume of %s GB" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "User %s is already a member of the group %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Detach volume %s" msgstr "" -#: nova/auth/ldapdriver.py:528 -#, python-format -msgid "Group at dn %s doesn't exist" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:259 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "Looking up user: %r" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Failed authorization for access key %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:780 #, python-format -msgid "No user found for access key %s" +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:270 -#, python-format -msgid "Using project name = user name (%s)" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:275 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "No project called %s could be found" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "User %s is not a member of project %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:890 #, python-format -msgid "Invalid signature for user %s" +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" msgstr "" -#: nova/auth/manager.py:408 -#, python-format -msgid "The %s role can not be found" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/auth/manager.py:410 +#: ../nova/api/ec2/cloud.py:908 #, python-format -msgid "The %s role is global only" +msgid "Updating image %s publicity" msgstr "" -#: nova/auth/manager.py:412 +#: ../bin/nova-api.py:52 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/manager.py:438 +#: ../bin/nova-api.py:57 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../bin/nova-api.py:59 #, python-format -msgid "Created project %s with manager %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:523 +#: ../bin/nova-api.py:64 #, python-format -msgid "modifying project %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:553 +#: ../bin/nova-api.py:69 #, python-format -msgid "Remove user %s from project %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/auth/manager.py:581 +#: ../bin/nova-api.py:83 #, python-format -msgid "Deleting project %s" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/auth/manager.py:637 +#: ../bin/nova-api.py:89 #, python-format -msgid "Created user %s (admin: %r)" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/auth/manager.py:645 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Deleting user %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/manager.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Access Key change for user %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/manager.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Secret Key change for user %s" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/manager.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Argument %s is required." msgstr "" -#: nova/auth/manager.py:708 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "No vpn data for project %s" -msgstr "" - -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "" - -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Launching VPN for %s" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/api.py:67 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Instance %d has no host" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:167 +#, python-format +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Going to run %s instances..." +msgid "Instance %s: booted" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Instance not present %s" msgstr "" -#: nova/compute/api.py:279 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Going to try and terminate %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/api.py:283 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/api.py:288 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Instance %d is already being terminated" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/disk.py:71 -#, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Failed to load partition: %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Unknown instance type: %s" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/image/s3.py:99 +#, python-format +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "instance %s: Failed to spawn" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Terminating instance %s" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Disassociating address %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Deallocating address %s" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Rebooting instance %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: snapshotting" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "instance %s: rescuing" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "instance %s: unrescuing" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: unpausing" +msgid "User %s already exists" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: suspending" +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: resuming" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "instance %s: locking" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "instance %s: unlocking" +msgid "User \"%s\" not found" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "instance %s: getting locked state" +msgid "Project \"%s\" not found" msgstr "" -#: nova/compute/manager.py:462 -#, python-format -msgid "instance %s: attaching volume %s to %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Got exception: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/compute/monitor.py:259 #, python-format msgid "updating %s..." msgstr "" -#: nova/compute/monitor.py:289 +#: ../nova/compute/monitor.py:289 msgid "unexpected error during update" msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:412 +#: ../nova/compute/monitor.py:414 msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/compute/monitor.py:429 #, python-format msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" +#: ../nova/volume/san.py:67 +#, python-format +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No service for id %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No service for %s, %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:574 -#, python-format -msgid "No floating ip for address %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 +#: ../nova/console/xvp.py:116 #, python-format -msgid "Instance %s not found" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:891 -#, python-format -msgid "no keypair for user %s, name %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No network for bridge %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 -#, python-format -msgid "No network for instance %s" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/db/sqlalchemy/api.py:1401 -#, python-format -msgid "Volume %s not found" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:1426 -#, python-format -msgid "No target id found for volume %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 -#, python-format -msgid "No secuity group rule with id %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/virt/disk.py:69 #, python-format -msgid "No project with id %s" +msgid "Failed to load partition: %s" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/disk.py:124 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "nbd device %s did not show up" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/disk.py:128 #, python-format -msgid "Image %s could not be found" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" +msgstr "" + +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/network/linux_net.py:176 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Starting VLAN inteface %s" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/network/linux_net.py:186 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Starting Bridge interface for %s" +msgid "Starting VM %s " msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Started VM %s " msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "spawn vm failed: %s" msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:188 +#, python-format +msgid "Set memory for vm %s..." msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "Leasing IP %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "New disk drive path is %s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "IP %s released that isn't associated" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Created disk for %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "IP %s released that was not leased" +msgid "Creating nic for %s " msgstr "" -#: nova/network/manager.py:442 -#, python-format -msgid "Dissassociated %s stale fixed ip(s)" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Unknown S3 value type %r" +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:276 +#, python-format +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:286 +#, python-format +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "List keys for bucket %s" +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Creating bucket %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Deleting bucket %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Getting object: %s / %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Putting object: %s / %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/compute/api.py:71 #, python-format -msgid "Deleting object: %s / %s" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/compute/api.py:77 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/compute/api.py:97 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/compute/api.py:99 #, python-format -msgid "Starting image upload: %s" +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:420 -#, python-format -msgid "Not authorized to update attributes of image %s" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:428 +#: ../nova/compute/api.py:160 #, python-format -msgid "Toggling publicity flag of image %s %r" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/compute/api.py:187 #, python-format -msgid "Updating user fields on image %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:447 +#: ../nova/compute/api.py:292 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/compute/api.py:296 #, python-format -msgid "Deleted image: %s" -msgstr "" - -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/compute/api.py:301 +#, python-format +msgid "Instance %d is already being terminated" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/compute/api.py:481 #, python-format -msgid "Casting to %s %s for %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/rpc.py:98 +#, python-format +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/rpc.py:103 +#, python-format +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" msgstr "" -#: nova/tests/test_cloud.py:210 -#, python-format -msgid "Need to watch instance %s until it's running..." +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/rpc.py:159 #, python-format -msgid "Running instances: %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/rpc.py:178 #, python-format -msgid "After terminating instances: %s" +msgid "received %s" msgstr "" -#: nova/tests/test_rpc.py:89 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Nested received %s, %s" -msgstr "" +msgid "no method for message: %s" +msgstr "keine Methode für diese Nachricht gefunden: %s" -#: nova/tests/test_rpc.py:94 +#: ../nova/rpc.py:192 #, python-format -msgid "Nested return %s" -msgstr "" +msgid "No method for message: %s" +msgstr "keine Methode für diese Nachricht gefunden: %s" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/rpc.py:253 #, python-format -msgid "Received %s" +msgid "Returning exception %s to caller" msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/rpc.py:294 #, python-format -msgid "Target %s allocated" +msgid "unpacked context: %s" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" -msgstr "" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "führe asynchronen Aufruf durch..." -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:316 #, python-format -msgid "Instance %s Not Found" -msgstr "" +msgid "MSG_ID is %s" +msgstr "MSG_ID ist %s" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:364 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "response %s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:373 #, python-format -msgid "Starting VM %s " -msgstr "" +msgid "topic is %s" +msgstr "Betreff ist %s" -#: nova/virt/hyperv.py:150 +#: ../nova/rpc.py:374 #, python-format -msgid "Started VM %s " -msgstr "" +msgid "message %s" +msgstr "Nachricht %s" -#: nova/virt/hyperv.py:152 +#: ../nova/volume/driver.py:78 #, python-format -msgid "spawn vm failed: %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to create VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created VM %s..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:188 -#, python-format -msgid "Set memory for vm %s..." +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:198 -#, python-format -msgid "Set vcpus for vm %s..." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:414 #, python-format -msgid "New disk drive path is %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:247 -#, python-format -msgid "Failed to add vhd file to VM %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/wsgi.py:68 #, python-format -msgid "Created disk for %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:273 -#, python-format -msgid "Failed creating port for %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:275 -#, python-format -msgid "Created switch port %s on switch %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Created nic for %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/fake.py:239 #, python-format -msgid "WMI job failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/network/manager.py:153 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to destroy vm %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/network/manager.py:216 #, python-format -msgid "Del: disk %s vm %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/network/manager.py:220 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/network/manager.py:228 #, python-format -msgid "duplicate name found: %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:233 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:241 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:244 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "No disk at %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: rebooted" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "instance %s: rescued" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "instance %s: is running" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: booted" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Contents of file %s: %r" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: Creating image" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:589 -#, python-format -msgid "instance %s: finished toXML method" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Got exception: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "%s: _db_content => %s" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +#: ../nova/objectstore/handler.py:249 +#, python-format +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Calling %s %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "Calling getter %s" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Found no network for bridge %s" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Created VM %s as %s." +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "VBD not found in instance %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:277 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:279 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:287 #, python-format -msgid "VDI %s is still available" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:289 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "Invalid signature for user %s" +msgstr "" + +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:380 +msgid "Must specify project" +msgstr "" + +#: ../nova/auth/manager.py:414 #, python-format -msgid "VHD %s has parent %s" +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Re-scanning SR %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:423 #, python-format -msgid "No VDIs found for VM %s" +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Starting VM %s..." +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Spawning VM %s created %s." +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Instance %s: booted" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Instance not present %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Starting snapshot for VM %s" +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:650 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:669 #, python-format -msgid "suspend: instance not present %s" +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:671 #, python-format -msgid "resume: instance not present %s" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Instance not found %s" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Introducing %s..." +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/service.py:161 #, python-format -msgid "Introduced %s as %s." +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 -#, python-format -msgid "Unable to find SR from VBD %s" +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 -#, python-format -msgid "Forgetting SR %s ... " +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "" + +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Forgetting SR %s done." +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Unable to introduce VDI on SR %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Detach_volume: %s, %s" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Unable to locate volume %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Unable to detach volume %s" +msgid "Creating new user: %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "Deleting user: %s" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" +#: ../nova/api/ec2/admin.py:137 +#, python-format +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/api.py:97 -msgid "Volume is already attached" +#: ../nova/api/ec2/admin.py:141 +#, python-format +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/api.py:103 -msgid "Volume is already detached" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "volume group %s doesn't exist" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/driver.py:210 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "FAKE AOE: %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Delete project: %s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "Re-exporting %s volumes" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: creating" -msgstr "Volume %s: wird erstellt" +msgid "Removing user %(user)s from project %(project)s" +msgstr "" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "Volume %s: erstelle LV mit %sG" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Kommando: %s\n" +#~ "Exit Code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "Volume %s: erstelle Export" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s) öffentlich (Schlüssel: %s) %s" -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "Volume %s: erfolgreich erstellt" - -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" - -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#~ msgid "Getting from %s: %s" +#~ msgstr "Beziehe von %s: %s" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "Volume %s: entferne Export" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "Der AMQP server %s:%d ist nicht erreichbar. Erneuter Versuch in %d Sekunden." -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "Volume %s: wird entfernt" +#~ msgid "volume %s: creating lv of size %sG" +#~ msgstr "Volume %s: erstelle LV mit %sG" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "Volume %s: erfolgreich entfernt" +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "Datastore %s ist nicht erreichbar. Versuche es erneut in %d Sekunden." diff --git a/po/es.po b/po/es.po index 8d4f90b26..a54260db8 100644 --- a/po/es.po +++ b/po/es.po @@ -7,827 +7,2104 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-01-18 14:56+0000\n" -"Last-Translator: Javier Turégano \n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-03-17 15:54+0000\n" +"Last-Translator: Erick Huezo \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:19+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "No se han encontrado hosts" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Sucedió un error inesperado mientras el comando se ejecutaba." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Excepción no controlada" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "Cuota excedida. No puedes crear un volumen con tamaño %sG" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "El estado del volumen debe estar disponible" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "El volumen ya está asociado previamente" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "El volumen ya ha sido desasociado previamente" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "Fallo lectura de IP Privada" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "Fallo lectura de IP(s) Publicas" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "%(param)s propiedad no encontrada para la imagen %(_image_id)s" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "No se definio una Keypairs" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "Compute.api::lock %s" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "Compute.api::unlock %s" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "Compute.api::get_lock %s" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "Compute.api::pause %s" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "Compute.api::unpause %s" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "compute.api::suspend %s" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "compute.api::resume %s" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "Numero de argumentos incorrectos" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "el pidfile %s no existe. ¿No estará el demonio parado?\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "No se encontró proceso" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "Sirviendo %s" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "Conjunto completo de opciones:" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "Comenzando %s" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "La instancia %s no se ha encontrado" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "Imposible adjuntar volumen a la instancia %s" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "Imposible encontrar volumen %s" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "Imposible desasociar volumen %s" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "Tipo de instancia desconocido: %s" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "Nombre de fichero de la CA raíz" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "Nombre de fichero de la clave privada" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" msgstr "Nombre de fichero de la lista de certificados de revocación raíz" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "Donde guardamos nuestras claves" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" msgstr "Dónde guardamos nuestra CA raíz" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "¿Deberíamos usar una CA para cada proyecto?" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 #, python-format msgid "Subject for certificate for users, %s for project, user, timestamp" msgstr "" "Sujeto (Subject) para el certificado de usuarios, %s para el proyecto, " "usuario, marca de tiempo" -#: nova/crypto.py:66 +#: ../nova/crypto.py:66 #, python-format msgid "Subject for certificate for projects, %s for project, timestamp" msgstr "" "Sujeto (Subject) para el certificado del proyecto, %s para el proyecto, " "marca de tiempo" -#: nova/crypto.py:71 +#: ../nova/crypto.py:71 #, python-format msgid "Subject for certificate for vpns, %s for project, timestamp" msgstr "" "Sujeto (Subject) para el certificado para vpns, %s para el proyecto, marca " "de tiempo" -#: nova/crypto.py:258 +#: ../nova/crypto.py:258 #, python-format msgid "Flags path: %s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Sucedió un error inesperado mientras el comando se ejecutaba." +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "check_instance_lock: decorating: |%s|" -#: nova/exception.py:36 +#: ../nova/compute/manager.py:80 #, python-format msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Comando: %s\n" -"Código de salida: %s\n" -"Stdout: %s\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Excepción no controlada" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/compute/manager.py:84 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s) públicar (clave: %s) %s" +msgid "check_instance_lock: locked: |%s|" +msgstr "check_instance_lock: locked: |%s|" -#: nova/fakerabbit.py:53 +#: ../nova/compute/manager.py:86 #, python-format -msgid "Publishing to route %s" -msgstr "Publicando la ruta %s" +msgid "check_instance_lock: admin: |%s|" +msgstr "check_instance_lock: admin: |%s|" -#: nova/fakerabbit.py:83 +#: ../nova/compute/manager.py:91 #, python-format -msgid "Declaring queue %s" -msgstr "Declarando cola %s" +msgid "check_instance_lock: executing: |%s|" +msgstr "check_instance_lock: ejecutando: |%s|" -#: nova/fakerabbit.py:89 +#: ../nova/compute/manager.py:95 #, python-format -msgid "Declaring exchange %s" -msgstr "Declarando intercambio %s" +msgid "check_instance_lock: not executing |%s|" +msgstr "check_instance_lock: no ejecutando |%s|" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "La instancia ha sido creada previamente" -#: nova/fakerabbit.py:95 +#: ../nova/compute/manager.py:180 #, python-format -msgid "Binding %s to %s with key %s" -msgstr "Asociando %s a %s con clave %s" +msgid "instance %s: starting..." +msgstr "instancia %s: iniciando..." -#: nova/fakerabbit.py:120 +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 #, python-format -msgid "Getting from %s: %s" -msgstr "Obteniendo desde %s: %s" +msgid "instance %s: Failed to spawn" +msgstr "Instancia %s: no se pudo iniciar" -#: nova/rpc.py:92 +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "" -"El servidor AMQP en %s:%d no se puede alcanzar. Se reintentará en %d " -"segundos." +msgid "Terminating instance %s" +msgstr "Finalizando la instancia %s" -#: nova/rpc.py:99 +#: ../nova/compute/manager.py:255 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "" -"Imposible conectar al servidor AMQP después de %d intentos. Apagando." +msgid "Deallocating address %s" +msgstr "Desasociando la dirección %s" -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Reconectado a la cola" +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "intentando finalizar una instancia que ya había sido finalizada: %s" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "Fallo al obtener el mensaje de la cola" +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "Reiniciando instancia %s" -#: nova/rpc.py:155 +#: ../nova/compute/manager.py:287 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" msgstr "" -#: nova/rpc.py:170 +#: ../nova/compute/manager.py:311 #, python-format -msgid "received %s" -msgstr "recibido %s" +msgid "instance %s: snapshotting" +msgstr "instancia %s: creando snapshot" -#: nova/rpc.py:183 +#: ../nova/compute/manager.py:316 #, python-format -msgid "no method for message: %s" -msgstr "no hay método para el mensaje: %s" +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/compute/manager.py:332 #, python-format -msgid "No method for message: %s" -msgstr "No hay método para el mensaje: %s" +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/compute/manager.py:335 #, python-format -msgid "Returning exception %s to caller" +msgid "instance %s: setting admin password" msgstr "" -#: nova/rpc.py:286 +#: ../nova/compute/manager.py:353 #, python-format -msgid "unpacked context: %s" -msgstr "contenido desempaquetado: %s" - -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Haciendo una llamada asíncrona..." +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" -#: nova/rpc.py:308 +#: ../nova/compute/manager.py:362 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID es %s" +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" -#: nova/rpc.py:356 +#: ../nova/compute/manager.py:372 #, python-format -msgid "response %s" -msgstr "respuesta %s" +msgid "instance %s: rescuing" +msgstr "instancia %s: rescatando" -#: nova/rpc.py:365 +#: ../nova/compute/manager.py:387 #, python-format -msgid "topic is %s" +msgid "instance %s: unrescuing" msgstr "" -#: nova/rpc.py:366 +#: ../nova/compute/manager.py:406 #, python-format -msgid "message %s" -msgstr "mensaje %s" +msgid "instance %s: pausing" +msgstr "instancia %s: pausando" -#: nova/service.py:157 +#: ../nova/compute/manager.py:423 #, python-format -msgid "Starting %s node" -msgstr "Inciando nodo %s" - -#: nova/service.py:169 -msgid "Service killed that has no database entry" -msgstr "Se detuvo un servicio sin entrada en la base de datos" - -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." -msgstr "El servicio objeto de base de datos ha desaparecido, recreándolo." - -#: nova/service.py:202 -msgid "Recovered model server connection!" -msgstr "Recuperada la conexión al servidor de modelos." +msgid "instance %s: unpausing" +msgstr "instnacia %s: continuando tras pausa" -#: nova/service.py:208 -msgid "model server went away" -msgstr "el servidor de modelos se ha ido" +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "instancia %s: obteniendo los diagnosticos" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/compute/manager.py:453 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "instance %s: suspending" msgstr "" -"El almacen de datos %s es inalcanzable. Reintentandolo en %d segundos." -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/compute/manager.py:472 #, python-format -msgid "Serving %s" -msgstr "Sirviendo %s" - -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" -msgstr "Conjunto completo de opciones:" +msgid "instance %s: resuming" +msgstr "instancia %s: continuando" -#: nova/twistd.py:211 +#: ../nova/compute/manager.py:491 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" -msgstr "el pidfile %s no existe. ¿No estará el demonio parado?\n" +msgid "instance %s: locking" +msgstr "instancia %s: bloqueando" -#: nova/twistd.py:268 +#: ../nova/compute/manager.py:503 #, python-format -msgid "Starting %s" -msgstr "Comenzando %s" +msgid "instance %s: unlocking" +msgstr "instancia %s: desbloqueando" -#: nova/utils.py:53 +#: ../nova/compute/manager.py:513 #, python-format -msgid "Inner Exception: %s" -msgstr "Excepción interna: %s" +msgid "instance %s: getting locked state" +msgstr "instancia %s: pasando a estado bloqueado" -#: nova/utils.py:54 +#: ../nova/compute/manager.py:526 #, python-format -msgid "Class %s cannot be found" -msgstr "La clase %s no ha podido ser encontrada." +msgid "instance %s: reset network" +msgstr "instancia %s: reiniciar redes" -#: nova/utils.py:113 +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 #, python-format -msgid "Fetching %s" -msgstr "Obteniendo %s" +msgid "Get console output for instance %s" +msgstr "Obtener salida de la consola para la instancia %s" -#: nova/utils.py:125 +#: ../nova/compute/manager.py:543 #, python-format -msgid "Running cmd (subprocess): %s" -msgstr "Ejecutando cmd (subprocesos): %s" +msgid "instance %s: getting ajax console" +msgstr "instancia %s: obteniendo consola ajax" -#: nova/utils.py:138 +#: ../nova/compute/manager.py:553 #, python-format -msgid "Result was %s" -msgstr "El resultado fue %s" +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" +"instancia %(instance_id)s: adjuntando volumen %(volume_id)s a %(mountpoint)s" -#: nova/utils.py:171 +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 #, python-format -msgid "debug in callback: %s" -msgstr "Depuración de la devolución de llamada: %s" +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" +"instancia %(instance_id)s: adjuntar fallo %(mountpoint)s, removiendo" -#: nova/utils.py:176 +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" +"Quitar el volumen %(volume_id)s del punto de montaje %(mp)s en la instancia " +"%(instance_id)s" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "Desvinculando volumen de instancia desconocida %s" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "Host %s no responde" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "Todos los hosts tienen demasiados cores" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "Host %s no disponible" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "Todos los hosts tienen demasiados gigabytes" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "Todos los hosts tienen demasiadas redes" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "Exportando de nuevo los volumenes %s" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "volumen %s: creando" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "volumen %s: exportando" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "volumen %s: creado satisfactoriamente" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "El volumen todavía está asociado" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "Volumen no local a este nodo" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "volumen %s: eliminando exportación" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "volumen %s: eliminando" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "volumen %s: eliminado satisfactoriamente" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "Lanzando NotImplemented" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "xenapi.fake no tiene una implementación para %s" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "Llanado al adquiridor %s" + +#: ../nova/virt/xenapi/fake.py:406 +#, python-format +msgid "" +"xenapi.fake does not have an implementation for %s or it has been called " +"with the wrong number of arguments" +msgstr "" +"xenapi.fake no tiene una implementación para %s o ha sido llamada con un " +"número incorrecto de argumentos" + +#: ../nova/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "No puedo probar las imágenes sin un entorno real virtual" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "Hay que vigilar la instancia %s hasta que este en ejecución..." + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "Fallo al abrir conexión con el hypervisor" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "Iniciando interfaz VLAN %s" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "Iniciando interfaz puente para %s" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "Excepción al recargar la configuración de dnsmasq: %s" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "El pid %d está pasado, relanzando dnsmasq" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "Al matar dnsmasq se lanzó %s" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "Excepción interna: %s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "La clase %s no ha podido ser encontrada." + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "Obteniendo %s" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "Ejecutando cmd (subprocesos): %s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "El resultado fue %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "Depuración de la devolución de llamada: %s" + +#: ../nova/utils.py:222 #, python-format msgid "Running %s" msgstr "Ejecutando %s" -#: nova/utils.py:207 +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "No puedo obtener IP, usando 127.0.0.1 %s" +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" -#: nova/utils.py:289 +#: ../nova/utils.py:363 #, python-format msgid "Invalid backend: %s" msgstr "backend inválido: %s" -#: nova/utils.py:300 +#: ../nova/utils.py:374 #, python-format msgid "backend %s" msgstr "backend %s" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "Demasiados intentos de autenticacion fallidos." +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "Publicando la ruta %s" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "Declarando cola %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "Declarando intercambio %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "Creada VM %s..." + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "VBD no encontrado en la instancia %s" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "Imposible desconectar VBD %s" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "Imposible destruir VBD %s" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:332 +#, python-format +msgid "Glance image %s" +msgstr "" + +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 +#, python-format +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" +msgstr "Buscando vid %s para el kernel PV" + +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:405 +#, python-format +msgid "Running pygrub against %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" +msgstr "se ha encontrado un nombre duplicado: %s" + +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" +msgstr "VDI %s está todavía disponible" + +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "(VM_UTILS) xenserver vm state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:465 +#, python-format +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "(VM_UTILS) xenapi power_state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "Re-escaneando SR %s" + +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:574 +#, 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:590 +#, python-format +msgid "No VDIs found for VM %s" +msgstr "No se han encontrado VDI's para VM %s" + +#: ../nova/virt/xenapi/vm_utils.py:594 +#, python-format +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 +#, python-format +msgid "Creating VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:747 +#, python-format +msgid "Writing partition table %s done." +msgstr "" + +#: ../nova/tests/test_rpc.py:89 +#, python-format +msgid "Nested received %(queue)s, %(value)s" +msgstr "" + +#: ../nova/tests/test_rpc.py:95 +#, python-format +msgid "Nested return %s" +msgstr "" + +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 +#, python-format +msgid "Received %s" +msgstr "Recibido %s" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "El uso de una petición de contexto vacía está en desuso" + +#: ../nova/db/sqlalchemy/api.py:133 +#, python-format +msgid "No service for id %s" +msgstr "No hay servicio para el id %s" + +#: ../nova/db/sqlalchemy/api.py:251 +#, python-format +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:608 +#, python-format +msgid "No floating ip for address %s" +msgstr "No hay ip flotante para la dirección %s" + +#: ../nova/db/sqlalchemy/api.py:629 +#, python-format +msgid "No address for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" +msgstr "No hay red para el id %s" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 +#, python-format +msgid "No network for bridge %s" +msgstr "No hay red para el puente %s" + +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 +#, python-format +msgid "No network for instance %s" +msgstr "No hay red para la instancia %s" + +#: ../nova/db/sqlalchemy/api.py:1277 +#, python-format +msgid "Token %s does not exist" +msgstr "El token %s no existe" + +#: ../nova/db/sqlalchemy/api.py:1302 +#, python-format +msgid "No quota for project_id %s" +msgstr "No hay quota para el project:id %s" + +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" +msgstr "El volumen %s no se ha encontrado" + +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" +msgstr "No se ha encontrado dispositivo exportado para el volumen %s" + +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" +msgstr "No se ha encontrado id de destino para el volumen %s" + +#: ../nova/db/sqlalchemy/api.py:1572 +#, python-format +msgid "No security group with id %s" +msgstr "No hay un grupo de seguridad con el id %s" + +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1682 +#, python-format +msgid "No secuity group rule with id %s" +msgstr "No hay una regla para el grupo de seguridad con el id %s" + +#: ../nova/db/sqlalchemy/api.py:1756 +#, python-format +msgid "No user for id %s" +msgstr "No hay un usuario con el id %s" + +#: ../nova/db/sqlalchemy/api.py:1772 +#, python-format +msgid "No user for access key %s" +msgstr "No hay un usuario para la clave de acceso %s" + +#: ../nova/db/sqlalchemy/api.py:1834 +#, python-format +msgid "No project with id %s" +msgstr "No hay proyecto con id %s" + +#: ../nova/db/sqlalchemy/api.py:1979 +#, python-format +msgid "No console pool with id %(pool_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1996 +#, python-format +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2035 +#, python-format +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2058 +#, python-format +msgid "No console with id %(console_id)s %(idesc)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:160 +#, python-format +msgid "Checking state of %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:165 +#, python-format +msgid "Current state of %(name)s was %(state)s." +msgstr "" + +#: ../nova/virt/libvirt_conn.py:183 +#, python-format +msgid "Connecting to libvirt: %s" +msgstr "Conectando a libvirt: %s" + +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "Conexión a libvirt rota" + +#: ../nova/virt/libvirt_conn.py:258 +#, python-format +msgid "instance %(instance_name)s: deleting instance files %(target)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:283 +#, python-format +msgid "Invalid device path %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:313 +#, python-format +msgid "No disk at %s" +msgstr "No hay disco en %s" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" +"El snapshotting de instancias no está soportado en libvirt en este momento" + +#: ../nova/virt/libvirt_conn.py:336 +#, python-format +msgid "instance %s: rebooted" +msgstr "instancia %s: reiniciada" + +#: ../nova/virt/libvirt_conn.py:339 +#, python-format +msgid "_wait_for_reboot failed: %s" +msgstr "_wait_for_reboot falló: %s" + +#: ../nova/virt/libvirt_conn.py:382 +#, python-format +msgid "instance %s: rescued" +msgstr "instancia %s: rescatada" + +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" +msgstr "_wait_for_rescue falló: %s" + +#: ../nova/virt/libvirt_conn.py:411 +#, python-format +msgid "instance %s: is running" +msgstr "instancia %s: está ejecutándose" + +#: ../nova/virt/libvirt_conn.py:422 +#, python-format +msgid "instance %s: booted" +msgstr "instancia %s: arrancada" + +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 +#, python-format +msgid "instance %s: failed to boot" +msgstr "insntancia %s: falló al arrancar" + +#: ../nova/virt/libvirt_conn.py:436 +#, python-format +msgid "virsh said: %r" +msgstr "virsh dijo: %r" + +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "genial, es un dispositivo" + +#: ../nova/virt/libvirt_conn.py:448 +#, python-format +msgid "data: %(data)r, fpath: %(fpath)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:456 +#, python-format +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:563 +#, python-format +msgid "instance %s: Creating image" +msgstr "instancia %s: Creando imagen" + +#: ../nova/virt/libvirt_conn.py:646 +#, python-format +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:649 +#, python-format +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" +msgstr "" + +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" +msgstr "" + +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 +#, python-format +msgid "instance %s: starting toXML method" +msgstr "instancia %s: comenzando método toXML" + +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" +msgstr "instancia %s: finalizado método toXML" + +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:1225 +#, python-format +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" + +#: ../nova/api/ec2/metadatarequesthandler.py:76 +#, python-format +msgid "Failed to get metadata for ip: %s" +msgstr "Fallo al generar metadatos para la ip %s" + +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "Intento de instanciar sigleton" + +#: ../nova/network/api.py:39 +#, python-format +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "Quota excedida para %s, intentando asignar direcciones" + +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "" +"La quota de direcciones ha sido excedida. No puedes asignar más direcciones" + +#: ../nova/tests/test_volume.py:162 +#, python-format +msgid "Target %s allocated" +msgstr "Destino %s asignado" + +#: ../nova/virt/images.py:70 +#, python-format +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" + +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "Debe de implementar un horario de reserva" + +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" + +#: ../nova/console/manager.py:90 +#, python-format +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" + +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" + +#: ../nova/api/ec2/cloud.py:62 +#, python-format +msgid "The key_pair %s already exists" +msgstr "" + +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 +#, python-format +msgid "Generating root CA: %s" +msgstr "Generando CA raiz: %s" + +#: ../nova/api/ec2/cloud.py:303 +#, python-format +msgid "Create key pair %s" +msgstr "Creando par de claves %s" + +#: ../nova/api/ec2/cloud.py:311 +#, python-format +msgid "Delete key pair %s" +msgstr "Borrar para de claves %s" + +#: ../nova/api/ec2/cloud.py:386 +#, python-format +msgid "%s is not a valid ipProtocol" +msgstr "%s no es un ipProtocol valido" + +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" +msgstr "Rango de puerto inválido" + +#: ../nova/api/ec2/cloud.py:421 +#, python-format +msgid "Revoke security group ingress %s" +msgstr "Revocar ingreso al grupo de seguridad %s" + +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." +msgstr "" + +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." +msgstr "No hay regla para los parámetros especificados." + +#: ../nova/api/ec2/cloud.py:450 +#, python-format +msgid "Authorize security group ingress %s" +msgstr "Autorizar ingreso al grupo de seguridad %s" + +#: ../nova/api/ec2/cloud.py:464 +#, python-format +msgid "This rule already exists in group %s" +msgstr "Esta regla ya existe en el grupo %s" + +#: ../nova/api/ec2/cloud.py:492 +#, python-format +msgid "Create Security Group %s" +msgstr "Crear Grupo de Seguridad %s" + +#: ../nova/api/ec2/cloud.py:495 +#, python-format +msgid "group %s already exists" +msgstr "el grupo %s ya existe" + +#: ../nova/api/ec2/cloud.py:507 +#, python-format +msgid "Delete security group %s" +msgstr "Borrar grupo de seguridad %s" + +#: ../nova/api/ec2/cloud.py:584 +#, python-format +msgid "Create volume of %s GB" +msgstr "Crear volumen de %s GB" + +#: ../nova/api/ec2/cloud.py:612 +#, python-format +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:629 +#, python-format +msgid "Detach volume %s" +msgstr "Desasociar volumen %s" + +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" +msgstr "Asignar dirección" + +#: ../nova/api/ec2/cloud.py:766 +#, python-format +msgid "Release address %s" +msgstr "Liberar dirección %s" + +#: ../nova/api/ec2/cloud.py:771 +#, python-format +msgid "Associate address %(public_ip)s to instance %(instance_id)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:780 +#, python-format +msgid "Disassociate address %s" +msgstr "Desasociar dirección %s" + +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" +msgstr "Se va a iniciar la finalización de las instancias" + +#: ../nova/api/ec2/cloud.py:815 +#, python-format +msgid "Reboot instance %r" +msgstr "Reiniciar instancia %r" + +#: ../nova/api/ec2/cloud.py:867 +#, python-format +msgid "De-registering image %s" +msgstr "Des-registrando la imagen %s" + +#: ../nova/api/ec2/cloud.py:875 +#, python-format +msgid "Registered image %(image_location)s with id %(image_id)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 +#, python-format +msgid "attribute not supported: %s" +msgstr "atributo no soportado: %s" + +#: ../nova/api/ec2/cloud.py:890 +#, python-format +msgid "invalid id: %s" +msgstr "id no valido: %s" + +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" +msgstr "usuario o grupo no especificado" + +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" +msgstr "sólo el grupo \"all\" está soportado" + +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" +msgstr "operation_type debe ser añadir o eliminar" + +#: ../nova/api/ec2/cloud.py:908 +#, python-format +msgid "Updating image %s publicity" +msgstr "Actualizando imagen %s públicamente" + +#: ../bin/nova-api.py:52 +#, python-format +msgid "Using paste.deploy config at: %s" +msgstr "" + +#: ../bin/nova-api.py:57 +#, python-format +msgid "No paste configuration for app: %s" +msgstr "" + +#: ../bin/nova-api.py:59 +#, python-format +msgid "" +"App Config: %(api)s\n" +"%(config)r" +msgstr "" + +#: ../bin/nova-api.py:64 +#, python-format +msgid "Running %s API" +msgstr "" + +#: ../bin/nova-api.py:69 +#, python-format +msgid "No known API applications configured in %s." +msgstr "" + +#: ../bin/nova-api.py:83 +#, python-format +msgid "Starting nova-api node (version %s)" +msgstr "" + +#: ../bin/nova-api.py:89 +#, python-format +msgid "No paste configuration found for: %s" +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 +#, python-format +msgid "Argument %(key)s value %(value)s is too short." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 +#, python-format +msgid "Argument %(key)s value %(value)s contains invalid characters." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 +#, python-format +msgid "Argument %(key)s value %(value)s starts with a hyphen." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 +#, python-format +msgid "Argument %s is required." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 +#, python-format +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vmops.py:67 +#, python-format +msgid "Attempted to create non-unique name %s" +msgstr "Intentado la creación del nombre no único %s" + +#: ../nova/virt/xenapi/vmops.py:73 +#, python-format +msgid "instance %(name)s: not enough free memory" +msgstr "" + +#: ../nova/virt/xenapi/vmops.py:148 +#, python-format +msgid "Starting VM %s..." +msgstr "Iniciando VM %s..." -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -"La clave de acceso %s ha tenido %d fallos de autenticación y se bloqueará " -"por %d minutos." -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Authentication Failure: %s" -msgstr "Fallo de autenticación: %s" +msgid "Invalid value for onset_files: '%s'" +msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Authenticated Request For %s:%s)" -msgstr "Solicitud de autenticación para %s:%s" +msgid "Injecting file path: '%s'" +msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "action: %s" -msgstr "acción: %s" +msgid "Instance %s: booted" +msgstr "Instancia %s: iniciada" -#: nova/api/ec2/__init__.py:229 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "arg: %s\t\tval: %s" -msgstr "arg: %s \t \t val: %s" +msgid "Instance not present %s" +msgstr "Instancia no existente %s" -#: nova/api/ec2/__init__.py:301 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" -msgstr "Solicitud no autorizada para controller=%s y action=%s" +msgid "Starting snapshot for VM %s" +msgstr "Comenzando snapshot para la VM %s" -#: nova/api/ec2/__init__.py:339 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "NotFound raised: %s" -msgstr "No encontrado: %s" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" +msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "ApiError raised: %s" -msgstr "Sucedió un ApiError: %s" +msgid "Finished snapshot and upload for VM %s" +msgstr "Finalizado el snapshot y la subida de la VM %s" -#: nova/api/ec2/__init__.py:349 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Unexpected error raised: %s" -msgstr "Sucedió un error inexperado: %s" +msgid "VM %(vm)s already halted, skipping shutdown..." +msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" +msgstr "" + +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -"Ha sucedido un error desconocido. Por favor repite el intento de nuevo." -#: nova/api/ec2/admin.py:84 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Creating new user: %s" -msgstr "Creando nuevo usuario: %s" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" +msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Deleting user: %s" -msgstr "Eliminando usuario: %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" +msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Adding role %s to user %s for project %s" -msgstr "Añadiendo rol %s al usuario %s para el proyecto %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" +msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Adding sitewide role %s to user %s" -msgstr "Añadiendo rol global %s al usuario %s" +msgid "OpenSSL error: %s" +msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Removing role %s from user %s for project %s" -msgstr "Eliminando rol %s del usuario %s para el proyecto %s" +msgid "Running instances: %s" +msgstr "Ejecutando instancias: %s" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "Removing sitewide role %s from user %s" -msgstr "Eliminando rol global %s del usuario %s" +msgid "After terminating instances: %s" +msgstr "Después de terminar las instancias: %s" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" -msgstr "la operación debe ser añadir o eliminar" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" +msgstr "" -#: nova/api/ec2/admin.py:142 -#, python-format -msgid "Getting x509 for user: %s on project: %s" -msgstr "Obteniendo x509 para el usuario: %s en el proyecto %s" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" +msgstr "Red a insertar en la configuración de openvpn" -#: nova/api/ec2/admin.py:159 -#, python-format -msgid "Create project %s managed by %s" -msgstr "Creación del proyecto %s gestionada por %s" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" +msgstr "Mascara de red a insertar en la configuración de openvpn" -#: nova/api/ec2/admin.py:170 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Delete project: %s" -msgstr "Borrar proyecto: %s" +msgid "Launching VPN for %s" +msgstr "Lanzando VPN para %s" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 -#, python-format -msgid "Adding user %s to project %s" -msgstr "Añadiendo usuario %s al proyecto %s" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." +msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/image/s3.py:99 #, python-format -msgid "Removing user %s from project %s" -msgstr "Eliminando usuario %s del proyecto %s" +msgid "Image %s could not be found" +msgstr "La imagen %s no ha podido ser encontrada" -#: nova/api/ec2/apirequest.py:95 -#, python-format -msgid "Unsupported API request: controller = %s,action = %s" -msgstr "Solicitud de API no soportada: controller=%s,action=%s" +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "Demasiados intentos de autenticacion fallidos." -#: nova/api/ec2/cloud.py:117 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Generating root CA: %s" -msgstr "Generando CA raiz: %s" +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/cloud.py:277 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Create key pair %s" -msgstr "Creando par de claves %s" +msgid "Authentication Failure: %s" +msgstr "Fallo de autenticación: %s" -#: nova/api/ec2/cloud.py:285 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Delete key pair %s" -msgstr "Borrar para de claves %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" +msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "%s is not a valid ipProtocol" -msgstr "%s no es un ipProtocol valido" - -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" -msgstr "Rango de puerto inválido" +msgid "action: %s" +msgstr "acción: %s" -#: nova/api/ec2/cloud.py:392 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "Revoke security group ingress %s" -msgstr "Revocar ingreso al grupo de seguridad %s" - -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." -msgstr "No hay regla para los parámetros especificados." +msgid "arg: %(key)s\t\tval: %(value)s" +msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Authorize security group ingress %s" -msgstr "Autorizar ingreso al grupo de seguridad %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" +msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "This rule already exists in group %s" -msgstr "Esta regla ya existe en el grupo %s" +msgid "InstanceNotFound raised: %s" +msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "Create Security Group %s" -msgstr "Crear Grupo de Seguridad %s" +msgid "VolumeNotFound raised: %s" +msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "group %s already exists" -msgstr "el grupo %s ya existe" +msgid "NotFound raised: %s" +msgstr "No encontrado: %s" -#: nova/api/ec2/cloud.py:475 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "Delete security group %s" -msgstr "Borrar grupo de seguridad %s" +msgid "ApiError raised: %s" +msgstr "Sucedió un ApiError: %s" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "Get console output for instance %s" -msgstr "Obtener salida de la consola para la instancia %s" +msgid "Unexpected error raised: %s" +msgstr "Sucedió un error inexperado: %s" + +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." +msgstr "" +"Ha sucedido un error desconocido. Por favor repite el intento de nuevo." -#: nova/api/ec2/cloud.py:543 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "Create volume of %s GB" -msgstr "Crear volumen de %s GB" +msgid "User %s already exists" +msgstr "El usuario %s ya existe" -#: nova/api/ec2/cloud.py:567 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "Attach volume %s to instacne %s at %s" -msgstr "Asociar volumen %s a la instancia %s en %s" +msgid "Project can't be created because manager %s doesn't exist" +msgstr "El proyecto no puede ser creado porque el administrador %s no existe" -#: nova/api/ec2/cloud.py:579 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "Detach volume %s" -msgstr "Desasociar volumen %s" +msgid "Project can't be created because user %s doesn't exist" +msgstr "El proyecto no puede ser creado porque el usuario %s no existe" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" -msgstr "Asignar dirección" +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 +#, python-format +msgid "Project can't be created because project %s already exists" +msgstr "El proyecto no puede ser creado porque el proyecto %s ya existe" -#: nova/api/ec2/cloud.py:691 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "Release address %s" -msgstr "Liberar dirección %s" +msgid "Project can't be modified because manager %s doesn't exist" +msgstr "" +"El proyecto no puede ser modificado porque el administrador %s no existe" -#: nova/api/ec2/cloud.py:696 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "Associate address %s to instance %s" -msgstr "Asociar dirección %s a la instancia %s" +msgid "User \"%s\" not found" +msgstr "No se ha encontrado el usuario \"%s\"" -#: nova/api/ec2/cloud.py:703 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "Disassociate address %s" -msgstr "Desasociar dirección %s" +msgid "Project \"%s\" not found" +msgstr "No se ha encontrado el proyecto \"%s\"" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" -msgstr "Se va a iniciar la finalización de las instancias" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" +msgstr "" +"Debes especificar xenapi_connection_url, xenapi_connection_username " +"(opcional), y xenapi_connection_password para usar connection_type=xenapi" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "Reboot instance %r" -msgstr "Reiniciar instancia %r" +msgid "Task [%(name)s] %(task)s status: success %(result)s" +msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "De-registering image %s" -msgstr "Des-registrando la imagen %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" +msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Registered image %s with id %s" -msgstr "Registrada imagen %s con id %s" +msgid "Got exception: %s" +msgstr "Obtenida excepción %s" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/compute/monitor.py:259 #, python-format -msgid "attribute not supported: %s" -msgstr "atributo no soportado: %s" +msgid "updating %s..." +msgstr "actualizando %s..." + +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" +msgstr "error inesperado durante la actualización" -#: nova/api/ec2/cloud.py:794 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "invalid id: %s" -msgstr "id no valido: %s" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" +msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" -msgstr "usuario o grupo no especificado" +#: ../nova/compute/monitor.py:379 +#, python-format +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" +msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" -msgstr "sólo el grupo \"all\" está soportado" +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" +msgstr "excepción inexperada al obtener la conexión" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" -msgstr "operation_type debe ser añadir o eliminar" +#: ../nova/compute/monitor.py:429 +#, python-format +msgid "Found instance: %s" +msgstr "Encontrada interfaz: %s" -#: nova/api/ec2/cloud.py:812 +#: ../nova/volume/san.py:67 #, python-format -msgid "Updating image %s publicity" -msgstr "Actualizando imagen %s públicamente" +msgid "Could not find iSCSI export for volume %s" +msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "Failed to get metadata for ip: %s" -msgstr "Fallo al generar metadatos para la ip %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" +msgstr "" -#: nova/api/openstack/__init__.py:70 +#: ../nova/api/openstack/__init__.py:55 #, python-format msgid "Caught error: %s" msgstr "Capturado error: %s" -#: nova/api/openstack/__init__.py:86 +#: ../nova/api/openstack/__init__.py:76 msgid "Including admin operations in API." msgstr "Incluyendo operaciones de administración in API." -#: nova/api/openstack/servers.py:184 -#, python-format -msgid "Compute.api::lock %s" -msgstr "Compute.api::lock %s" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" +msgstr "" -#: nova/api/openstack/servers.py:199 +#: ../nova/console/xvp.py:116 #, python-format -msgid "Compute.api::unlock %s" -msgstr "Compute.api::unlock %s" +msgid "Re-wrote %s" +msgstr "" -#: nova/api/openstack/servers.py:213 -#, python-format -msgid "Compute.api::get_lock %s" -msgstr "Compute.api::get_lock %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" +msgstr "" -#: nova/api/openstack/servers.py:224 -#, python-format -msgid "Compute.api::pause %s" -msgstr "Compute.api::pause %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" +msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/console/xvp.py:141 #, python-format -msgid "Compute.api::unpause %s" -msgstr "Compute.api::unpause %s" +msgid "Error starting xvp: %s" +msgstr "" -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" -msgstr "compute.api::suspend %s" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" +msgstr "" -#: nova/api/openstack/servers.py:257 -#, python-format -msgid "compute.api::resume %s" -msgstr "compute.api::resume %s" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." +msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" -msgstr "El usuario %s ya existe" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." +msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" -msgstr "El proyecto no puede ser creado porque el administrador %s no existe" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" +msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" -msgstr "El proyecto no puede ser creado porque el proyecto %s ya existe" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." +msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 -#, python-format -msgid "Project can't be modified because manager %s doesn't exist" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -"El proyecto no puede ser modificado porque el administrador %s no existe" -#: nova/auth/dbdriver.py:245 -#, python-format -msgid "User \"%s\" not found" -msgstr "No se ha encontrado el usuario \"%s\"" +#: ../bin/nova-manage.py:448 +msgid "IP address" +msgstr "" -#: nova/auth/dbdriver.py:248 -#, python-format -msgid "Project \"%s\" not found" -msgstr "No se ha encontrado el proyecto \"%s\"" +#: ../bin/nova-manage.py:449 +msgid "MAC address" +msgstr "" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" -msgstr "Intento de instanciar sigleton" +#: ../bin/nova-manage.py:450 +msgid "hostname" +msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../bin/nova-manage.py:451 +msgid "host" +msgstr "" + +#: ../bin/nova-manage.py:537 +msgid "netmask" +msgstr "" + +#: ../bin/nova-manage.py:538 +msgid "start address" +msgstr "" + +#: ../nova/virt/disk.py:69 #, python-format -msgid "LDAP object for %s doesn't exist" -msgstr "El objeto LDAP para %s no existe" +msgid "Failed to load partition: %s" +msgstr "Fallo al cargar la partición: %s" -#: nova/auth/ldapdriver.py:218 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Project can't be created because user %s doesn't exist" -msgstr "El proyecto no puede ser creado porque el usuario %s no existe" +msgid "Failed to mount filesystem: %s" +msgstr "Fallo al montar el sistema de ficheros: %s" + +#: ../nova/virt/disk.py:124 +#, python-format +msgid "nbd device %s did not show up" +msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/virt/disk.py:128 #, python-format -msgid "User %s is already a member of the group %s" -msgstr "El usuario %s ya es miembro de el grupo %s" +msgid "Could not attach image to loopback: %s" +msgstr "No se puede unir la imagen con el loopback: %s" + +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" +msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "%(filename)s, line %(line_info)d" msgstr "" -"Se ha intentado eliminar el último miembro de un grupo. Eliminando el grupo " -"%s en su lugar." -#: nova/auth/ldapdriver.py:528 +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" +msgstr "En el host inicial" + +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Group at dn %s doesn't exist" -msgstr "El grupo con dn %s no existe" +msgid "Attempt to create duplicate vm %s" +msgstr "Intento de crear una vm duplicada %s" -#: nova/auth/manager.py:259 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Looking up user: %r" -msgstr "Buscando usuario: %r" +msgid "Starting VM %s " +msgstr "Comenzando VM %s " -#: nova/auth/manager.py:263 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Failed authorization for access key %s" -msgstr "Fallo de autorización para la clave de acceso %s" +msgid "Started VM %s " +msgstr "VM %s iniciada " -#: nova/auth/manager.py:264 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "No user found for access key %s" -msgstr "No se ha encontrado usuario para la clave de acceso %s" +msgid "spawn vm failed: %s" +msgstr "Inicio de vm fallido: %s" -#: nova/auth/manager.py:270 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "Using project name = user name (%s)" -msgstr "Utilizando nombre de proyecto = nombre de usuario (%s)" +msgid "Failed to create VM %s" +msgstr "Fallo al crear la VM %s" -#: nova/auth/manager.py:275 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "failed authorization: no project named %s (user=%s)" -msgstr "" -"fallo de autorización: no existe proyecto con el nombre %s (usuario=%s)" +msgid "Set memory for vm %s..." +msgstr "Se ha establecido la memoria para vm %s..." -#: nova/auth/manager.py:277 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "No project called %s could be found" -msgstr "No se ha podido encontrar un proyecto con nombre %s" +msgid "Set vcpus for vm %s..." +msgstr "Establecidas vcpus para vm %s..." -#: nova/auth/manager.py:281 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -"Fallo de autorización: el usuario %s no es administrador y no es miembro del " -"proyecto %s" -#: nova/auth/manager.py:283 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "User %s is not a member of project %s" -msgstr "El usuario %s no es miembro del proyecto %s" +msgid "Failed to add diskdrive to VM %s" +msgstr "Fallo al añadir unidad de disco a la VM %s" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "Invalid signature for user %s" -msgstr "Firma invalida para el usuario %s" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" -msgstr "Las firmas no concuerdan" - -#: nova/auth/manager.py:374 -msgid "Must specify project" -msgstr "Debes especificar un proyecto" +msgid "New disk drive path is %s" +msgstr "La nueva ruta para unidad de disco es %s" -#: nova/auth/manager.py:408 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "The %s role can not be found" -msgstr "El rol %s no se ha podido encontrar" +msgid "Failed to add vhd file to VM %s" +msgstr "Fallo al añadir el fichero vhd a la VM %s" -#: nova/auth/manager.py:410 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "The %s role is global only" -msgstr "El rol %s es únicamente global" +msgid "Created disk for %s" +msgstr "Discos creados para %s" -#: nova/auth/manager.py:412 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Adding role %s to user %s in project %s" -msgstr "Añadiendo rol %s al usuario %s en el proyecto %s" +msgid "Creating nic for %s " +msgstr "Creando nic para %s " -#: nova/auth/manager.py:438 -#, python-format -msgid "Removing role %s from user %s on project %s" -msgstr "Eliminando rol %s al usuario %s en el proyecto %s" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" +msgstr "Fallo al crear un puerto en el vswitch externo" -#: nova/auth/manager.py:505 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Created project %s with manager %s" -msgstr "Proyecto %s creado con administrador %s" +msgid "Failed creating port for %s" +msgstr "Fallo creando puerto para %s" -#: nova/auth/manager.py:523 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "modifying project %s" -msgstr "modificando proyecto %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" +msgstr "" -#: nova/auth/manager.py:553 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Remove user %s from project %s" -msgstr "Eliminar usuario %s del proyecto %s" +msgid "Failed to add nic to VM %s" +msgstr "Fallo al añadir nic a la VM %s" -#: nova/auth/manager.py:581 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Deleting project %s" -msgstr "Eliminando proyecto %s" +msgid "Created nic for %s " +msgstr "Creando nic para %s " -#: nova/auth/manager.py:637 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Created user %s (admin: %r)" -msgstr "Creado usuario %s (administrador: %r)" +msgid "WMI job failed: %s" +msgstr "Trabajo WMI falló: %s" -#: nova/auth/manager.py:645 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Deleting user %s" -msgstr "Eliminando usuario %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " +msgstr "" -#: nova/auth/manager.py:655 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Access Key change for user %s" -msgstr "Cambio de clave de acceso para el usuario %s" +msgid "Got request to destroy vm %s" +msgstr "Recibida solicitud para destruir vm %s" -#: nova/auth/manager.py:657 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Secret Key change for user %s" -msgstr "Cambio de clave secreta para el usuario %s" +msgid "Failed to destroy vm %s" +msgstr "Fallo al destruir vm %s" -#: nova/auth/manager.py:659 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Admin status set to %r for user %s" -msgstr "El estado del administrador se ha fijado a %r para el usuario %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" +msgstr "" -#: nova/auth/manager.py:708 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "No vpn data for project %s" -msgstr "No hay datos vpn para el proyecto %s" - -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" -msgstr "Red a insertar en la configuración de openvpn" - -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" -msgstr "Mascara de red a insertar en la configuración de openvpn" +#: ../nova/virt/hyperv.py:451 +#, python-format +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" +msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Launching VPN for %s" -msgstr "Lanzando VPN para %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" +msgstr "" -#: nova/compute/api.py:67 +#: ../nova/compute/api.py:71 #, python-format msgid "Instance %d was not found in get_network_topic" msgstr "La instancia %d no se ha encontrado en get_network_topic" -#: nova/compute/api.py:73 +#: ../nova/compute/api.py:77 #, python-format msgid "Instance %d has no host" msgstr "La instancia %d no tiene host" -#: nova/compute/api.py:92 +#: ../nova/compute/api.py:97 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" -msgstr "Quota superada por %s, intentando lanzar %s instancias" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" +msgstr "" -#: nova/compute/api.py:94 +#: ../nova/compute/api.py:99 #, python-format msgid "" "Instance quota exceeded. You can only run %s more instances of this type." @@ -835,1343 +2112,1246 @@ msgstr "" "Quota de instancias superada. Sólo puedes ejecutar %s instancias más de este " "tipo." -#: nova/compute/api.py:109 +#: ../nova/compute/api.py:112 msgid "Creating a raw instance" msgstr "Creando una instancia raw" -#: nova/compute/api.py:156 +#: ../nova/compute/api.py:160 #, python-format msgid "Going to run %s instances..." msgstr "Vamos a ejecutar %s insntacias..." -#: nova/compute/api.py:180 +#: ../nova/compute/api.py:187 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" -msgstr "Llamando al planificar para %s/%s insntancia %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" +msgstr "" -#: nova/compute/api.py:279 +#: ../nova/compute/api.py:292 #, python-format -msgid "Going to try and terminate %s" -msgstr "Se va a probar y terminar %s" +msgid "Going to try to terminate %s" +msgstr "" -#: nova/compute/api.py:283 +#: ../nova/compute/api.py:296 #, python-format msgid "Instance %d was not found during terminate" msgstr "La instancia %d no se ha encontrado durante la finalización" -#: nova/compute/api.py:288 +#: ../nova/compute/api.py:301 #, python-format msgid "Instance %d is already being terminated" msgstr "La instancia %d ha sido finalizada" -#: nova/compute/api.py:450 +#: ../nova/compute/api.py:481 #, python-format msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" "El dispositivo especificado no es válido: %s. Ejemplo de dispositivo: " "/dev/vdb" -#: nova/compute/api.py:465 +#: ../nova/compute/api.py:496 msgid "Volume isn't attached to anything!" msgstr "¡El volumen no está unido a nada!" -#: nova/compute/disk.py:71 +#: ../nova/rpc.py:98 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -"El tamaño de la partición de entrada no es divisible de forma uniforme por " -"el tamaño del sector: %d / %d" -#: nova/compute/disk.py:75 +#: ../nova/rpc.py:103 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" -"Los bytes del almacenamiento local no son divisibles de forma uniforme por " -"el tamaño del sector: %d / %d" - -#: nova/compute/disk.py:128 -#, python-format -msgid "Could not attach image to loopback: %s" -msgstr "No se puede unir la imagen con el loopback: %s" - -#: nova/compute/disk.py:136 -#, python-format -msgid "Failed to load partition: %s" -msgstr "Fallo al cargar la partición: %s" - -#: nova/compute/disk.py:158 -#, python-format -msgid "Failed to mount filesystem: %s" -msgstr "Fallo al montar el sistema de ficheros: %s" - -#: nova/compute/instance_types.py:41 -#, python-format -msgid "Unknown instance type: %s" -msgstr "Tipo de instancia desconocido: %s" - -#: nova/compute/manager.py:69 -#, python-format -msgid "check_instance_lock: decorating: |%s|" -msgstr "check_instance_lock: decorating: |%s|" - -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" -msgstr "check_instance_lock: arguments: |%s| |%s| |%s|" - -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" -msgstr "check_instance_lock: locked: |%s|" - -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" -msgstr "check_instance_lock: admin: |%s|" - -#: nova/compute/manager.py:82 -#, python-format -msgid "check_instance_lock: executing: |%s|" -msgstr "check_instance_lock: ejecutando: |%s|" - -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" -msgstr "check_instance_lock: no ejecutando |%s|" - -#: nova/compute/manager.py:157 -msgid "Instance has already been created" -msgstr "La instancia ha sido creada previamente" - -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." -msgstr "instancia %s: iniciando..." - -#: nova/compute/manager.py:197 -#, python-format -msgid "instance %s: Failed to spawn" -msgstr "Instancia %s: no se pudo iniciar" - -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 -#, python-format -msgid "Terminating instance %s" -msgstr "Finalizando la instancia %s" - -#: nova/compute/manager.py:217 -#, python-format -msgid "Disassociating address %s" -msgstr "Desasociando la dirección %s" - -#: nova/compute/manager.py:230 -#, python-format -msgid "Deallocating address %s" -msgstr "Desasociando la dirección %s" +"Imposible conectar al servidor AMQP después de %d intentos. Apagando." -#: nova/compute/manager.py:243 -#, python-format -msgid "trying to destroy already destroyed instance: %s" -msgstr "intentando finalizar una instancia que ya había sido finalizada: %s" +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Reconectado a la cola" -#: nova/compute/manager.py:257 -#, python-format -msgid "Rebooting instance %s" -msgstr "Reiniciando instancia %s" +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "Fallo al obtener el mensaje de la cola" -#: nova/compute/manager.py:260 +#: ../nova/rpc.py:159 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "Initing the Adapter Consumer for %s" msgstr "" -"intentando reiniciar una instancia que no está en ejecución: %s (estado: %s " -"esperado: %s)" -#: nova/compute/manager.py:286 +#: ../nova/rpc.py:178 #, python-format -msgid "instance %s: snapshotting" -msgstr "instancia %s: creando snapshot" +msgid "received %s" +msgstr "recibido %s" -#: nova/compute/manager.py:289 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" -msgstr "" -"intentando crear un snapshot de una instancia que no está en ejecución: %s " -"(estado: %s esperado: %s)" +msgid "no method for message: %s" +msgstr "no hay método para el mensaje: %s" -#: nova/compute/manager.py:301 +#: ../nova/rpc.py:192 #, python-format -msgid "instance %s: rescuing" -msgstr "instancia %s: rescatando" +msgid "No method for message: %s" +msgstr "No hay método para el mensaje: %s" -#: nova/compute/manager.py:316 +#: ../nova/rpc.py:253 #, python-format -msgid "instance %s: unrescuing" +msgid "Returning exception %s to caller" msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" -msgstr "instancia %s: pausando" - -#: nova/compute/manager.py:352 -#, python-format -msgid "instance %s: unpausing" -msgstr "instnacia %s: continuando tras pausa" - -#: nova/compute/manager.py:369 -#, python-format -msgid "instance %s: retrieving diagnostics" -msgstr "instancia %s: obteniendo los diagnosticos" - -#: nova/compute/manager.py:382 +#: ../nova/rpc.py:294 #, python-format -msgid "instance %s: suspending" -msgstr "instancia %s: suspendiendo" - -#: nova/compute/manager.py:401 -#, python-format -msgid "instance %s: resuming" -msgstr "instancia %s: continuando" - -#: nova/compute/manager.py:420 -#, python-format -msgid "instance %s: locking" -msgstr "instancia %s: bloqueando" +msgid "unpacked context: %s" +msgstr "contenido desempaquetado: %s" -#: nova/compute/manager.py:432 -#, python-format -msgid "instance %s: unlocking" -msgstr "instancia %s: desbloqueando" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Haciendo una llamada asíncrona..." -#: nova/compute/manager.py:442 +#: ../nova/rpc.py:316 #, python-format -msgid "instance %s: getting locked state" -msgstr "instancia %s: pasando a estado bloqueado" +msgid "MSG_ID is %s" +msgstr "MSG_ID es %s" -#: nova/compute/manager.py:462 -#, python-format -msgid "instance %s: attaching volume %s to %s" -msgstr "instancia %s: asociando volumen %s a %s" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." +msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/rpc.py:364 #, python-format -msgid "instance %s: attach failed %s, removing" -msgstr "instalación %s: asociación fallida %s, eliminando" +msgid "response %s" +msgstr "respuesta %s" -#: nova/compute/manager.py:493 +#: ../nova/rpc.py:373 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" -msgstr "Desvinculando volumen %s del punto de montaje %s en la instancia %s" +msgid "topic is %s" +msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/rpc.py:374 #, python-format -msgid "Detaching volume from unknown instance %s" -msgstr "Desvinculando volumen de instancia desconocida %s" +msgid "message %s" +msgstr "mensaje %s" -#: nova/compute/monitor.py:259 +#: ../nova/volume/driver.py:78 #, python-format -msgid "updating %s..." -msgstr "actualizando %s..." - -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" -msgstr "error inesperado durante la actualización" +msgid "Recovering from a failed execute. Try number %s" +msgstr "Recuperandose de una ejecución fallida. Intenta el número %s" -#: nova/compute/monitor.py:355 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" -msgstr "No puedo obtener estadísticas del bloque para \"%s\" en \"%s\"" +msgid "volume group %s doesn't exist" +msgstr "el grupo de volumenes %s no existe" -#: nova/compute/monitor.py:377 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" -msgstr "No puedo obtener estadísticas de la interfaz para \"%s\" en \"%s\"" - -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" -msgstr "excepción inexperada al obtener la conexión" +msgid "FAKE AOE: %s" +msgstr "Falso AOE: %s" -#: nova/compute/monitor.py:427 -#, python-format -msgid "Found instance: %s" -msgstr "Encontrada interfaz: %s" +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " +msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "El uso de una petición de contexto vacía está en desuso" +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " +msgstr "" -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/driver.py:347 #, python-format -msgid "No service for id %s" -msgstr "No hay servicio para el id %s" +msgid "FAKE ISCSI: %s" +msgstr "Falso ISCSI: %s" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/volume/driver.py:359 #, python-format -msgid "No service for %s, %s" -msgstr "No hay servicio para %s, %s" +msgid "rbd has no pool %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/volume/driver.py:414 #, python-format -msgid "No floating ip for address %s" -msgstr "No hay ip flotante para la dirección %s" +msgid "Sheepdog is not working: %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" -msgstr "No hay instancia con id %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" +msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 +#: ../nova/wsgi.py:68 #, python-format -msgid "Instance %s not found" -msgstr "La instancia %s no se ha encontrado" +msgid "Starting %(arg0)s on %(host)s:%(port)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:891 -#, python-format -msgid "no keypair for user %s, name %s" -msgstr "no hay par de claves para el usuario %s, nombre %s" +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" +msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" -msgstr "No hay red para el id %s" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" +msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" -msgstr "No hay red para el puente %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" +msgstr "" -#: nova/db/sqlalchemy/api.py:1050 -#, python-format -msgid "No network for instance %s" -msgstr "No hay red para la instancia %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" +msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" -msgstr "El token %s no existe" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" +msgstr "" -#: nova/db/sqlalchemy/api.py:1205 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "No quota for project_id %s" -msgstr "No hay quota para el project:id %s" +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1356 +#: ../nova/virt/fake.py:239 #, python-format -msgid "No volume for id %s" -msgstr "No hay volumen para el id %s" +msgid "Instance %s Not Found" +msgstr "La instancia %s no ha sido encontrada" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/network/manager.py:153 #, python-format -msgid "Volume %s not found" -msgstr "El volumen %s no se ha encontrado" +msgid "Dissassociated %s stale fixed ip(s)" +msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" -msgstr "No se ha encontrado dispositivo exportado para el volumen %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" +msgstr "configurando la red del host" -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/network/manager.py:212 #, python-format -msgid "No target id found for volume %s" -msgstr "No se ha encontrado id de destino para el volumen %s" +msgid "Leasing IP %s" +msgstr "Liberando IP %s" -#: nova/db/sqlalchemy/api.py:1471 +#: ../nova/network/manager.py:216 #, python-format -msgid "No security group with id %s" -msgstr "No hay un grupo de seguridad con el id %s" +msgid "IP %s leased that isn't associated" +msgstr "" -#: nova/db/sqlalchemy/api.py:1488 +#: ../nova/network/manager.py:220 #, python-format -msgid "No security group named %s for project: %s" -msgstr "No hay un grupo de seguridad con nombre %s para el proyecto: %s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/network/manager.py:228 #, python-format -msgid "No secuity group rule with id %s" -msgstr "No hay una regla para el grupo de seguridad con el id %s" +msgid "IP %s leased that was already deallocated" +msgstr "" -#: nova/db/sqlalchemy/api.py:1650 +#: ../nova/network/manager.py:233 #, python-format -msgid "No user for id %s" -msgstr "No hay un usuario con el id %s" +msgid "Releasing IP %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1666 +#: ../nova/network/manager.py:237 #, python-format -msgid "No user for access key %s" -msgstr "No hay un usuario para la clave de acceso %s" +msgid "IP %s released that isn't associated" +msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/network/manager.py:241 #, python-format -msgid "No project with id %s" -msgstr "No hay proyecto con id %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" +msgstr "" -#: nova/image/glance.py:78 +#: ../nova/network/manager.py:244 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" -msgstr "Parallax ha devuelto un error HTTP %d a la petición para /images" +msgid "IP %s released that was not leased" +msgstr "" -#: nova/image/glance.py:97 -#, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -"Parallax ha devuelto un error HTTP %d para la petición para /images/detail" -#: nova/image/s3.py:82 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Image %s could not be found" -msgstr "La imagen %s no ha podido ser encontrada" +msgid "Introducing %s..." +msgstr "Introduciendo %s..." -#: nova/network/api.py:39 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" -msgstr "Quota excedida para %s, intentando asignar direcciones" - -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -"La quota de direcciones ha sido excedida. No puedes asignar más direcciones" -#: nova/network/linux_net.py:176 +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" +msgstr "Imposible crear el repositorio de almacenamiento" + +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Starting VLAN inteface %s" -msgstr "Iniciando interfaz VLAN %s" +msgid "Unable to find SR from VBD %s" +msgstr "Imposible encontrar SR en VBD %s" -#: nova/network/linux_net.py:186 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Starting Bridge interface for %s" -msgstr "Iniciando interfaz puente para %s" +msgid "Forgetting SR %s ... " +msgstr "Olvidando SR %s... " -#: nova/network/linux_net.py:254 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Hupping dnsmasq threw %s" -msgstr "Excepción al recargar la configuración de dnsmasq: %s" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" +msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" -msgstr "El pid %d está pasado, relanzando dnsmasq" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" +msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Killing dnsmasq threw %s" -msgstr "Al matar dnsmasq se lanzó %s" +msgid "Forgetting SR %s done." +msgstr "Olvidando SR %s completado." -#: nova/network/manager.py:135 -msgid "setting network host" -msgstr "configurando la red del host" +#: ../nova/virt/xenapi/volume_utils.py:113 +#, python-format +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" +msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Leasing IP %s" -msgstr "Liberando IP %s" +msgid "Unable to introduce VDI on SR %s" +msgstr "Incapaz de insertar VDI en SR %s" -#: nova/network/manager.py:194 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "IP %s leased that isn't associated" -msgstr "" +msgid "Unable to get record of VDI %s on" +msgstr "Imposible obtener copia del VDI %s en" -#: nova/network/manager.py:197 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "IP %s leased to bad mac %s vs %s" -msgstr "IP %s asociada a una mac incorrecta %s vs %s" +msgid "Unable to introduce VDI for SR %s" +msgstr "Inposible insertar VDI para SR %s" -#: nova/network/manager.py:205 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "IP %s released that isn't associated" -msgstr "" +msgid "Mountpoint cannot be translated: %s" +msgstr "Punto de montaje no puede ser traducido: %s" -#: nova/network/manager.py:217 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "IP %s released that was not leased" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/objectstore/handler.py:106 #, python-format msgid "Unknown S3 value type %r" msgstr "Tipo de valor S3 %r desconocido" -#: nova/objectstore/handler.py:137 +#: ../nova/objectstore/handler.py:137 msgid "Authenticated request" msgstr "Petición autenticada" -#: nova/objectstore/handler.py:182 +#: ../nova/objectstore/handler.py:182 msgid "List of buckets requested" msgstr "Listado de cubos solicitado" -#: nova/objectstore/handler.py:209 +#: ../nova/objectstore/handler.py:209 #, python-format msgid "List keys for bucket %s" msgstr "Lista de claves para el cubo %s" -#: nova/objectstore/handler.py:217 +#: ../nova/objectstore/handler.py:217 #, python-format msgid "Unauthorized attempt to access bucket %s" msgstr "Intento no autorizado para acceder al cubo %s" -#: nova/objectstore/handler.py:235 +#: ../nova/objectstore/handler.py:235 #, python-format msgid "Creating bucket %s" msgstr "Creando el cubo %s" -#: nova/objectstore/handler.py:245 +#: ../nova/objectstore/handler.py:245 #, python-format msgid "Deleting bucket %s" msgstr "Eliminando el cubo %s" -#: nova/objectstore/handler.py:249 +#: ../nova/objectstore/handler.py:249 #, python-format msgid "Unauthorized attempt to delete bucket %s" msgstr "Intento no autorizado de eliminar el cubo %s" -#: nova/objectstore/handler.py:271 +#: ../nova/objectstore/handler.py:273 +#, python-format +msgid "Getting object: %(bname)s / %(nm)s" +msgstr "" + +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Getting object: %s / %s" -msgstr "Obteniendo objeto: %s / %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" -msgstr "Intento no autorizado de obtener el objeto %s en el cubo %s" +msgid "Putting object: %(bname)s / %(nm)s" +msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Putting object: %s / %s" -msgstr "Colocando objeto: %s / %s" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" -msgstr "Intento no autorizado de subir el objeto %s al cubo %s" +msgid "Deleting object: %(bname)s / %(nm)s" +msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Deleting object: %s / %s" -msgstr "Eliminando objeto: %s / %s" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/objectstore/handler.py:396 #, python-format msgid "Not authorized to upload image: invalid directory %s" msgstr "No autorizado para subir imagen: directorio incorrecto %s" -#: nova/objectstore/handler.py:401 +#: ../nova/objectstore/handler.py:404 #, python-format msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "No autorizado para subir imagen: cubo %s no autorizado" -#: nova/objectstore/handler.py:406 +#: ../nova/objectstore/handler.py:409 #, python-format msgid "Starting image upload: %s" msgstr "Comenzando la subida de la imagen: %s" -#: nova/objectstore/handler.py:420 +#: ../nova/objectstore/handler.py:423 #, python-format msgid "Not authorized to update attributes of image %s" msgstr "No autorizado para actualizar los atributos de la imagen %s" -#: nova/objectstore/handler.py:428 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Toggling publicity flag of image %s %r" -msgstr "Cambiando los atributos de publicidad de la imagen %s %r" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" +msgstr "" -#: nova/objectstore/handler.py:433 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format msgid "Updating user fields on image %s" msgstr "Actualizando los campos de usuario de la imagen %s" -#: nova/objectstore/handler.py:447 +#: ../nova/objectstore/handler.py:450 #, python-format msgid "Unauthorized attempt to delete image %s" msgstr "Intento no autorizado de borrar la imagen %s" -#: nova/objectstore/handler.py:452 +#: ../nova/objectstore/handler.py:455 #, python-format msgid "Deleted image: %s" msgstr "Eliminada imagen: %s" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" -msgstr "No se han encontrado hosts" +#: ../nova/auth/manager.py:259 +#, python-format +msgid "Looking up user: %r" +msgstr "Buscando usuario: %r" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" -msgstr "Debe de implementar un horario de reserva" +#: ../nova/auth/manager.py:263 +#, python-format +msgid "Failed authorization for access key %s" +msgstr "Fallo de autorización para la clave de acceso %s" + +#: ../nova/auth/manager.py:264 +#, python-format +msgid "No user found for access key %s" +msgstr "No se ha encontrado usuario para la clave de acceso %s" + +#: ../nova/auth/manager.py:270 +#, python-format +msgid "Using project name = user name (%s)" +msgstr "Utilizando nombre de proyecto = nombre de usuario (%s)" -#: nova/scheduler/manager.py:69 +#: ../nova/auth/manager.py:277 #, python-format -msgid "Casting to %s %s for %s" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" -msgstr "Todos los hosts tienen demasiados cores" +#: ../nova/auth/manager.py:279 +#, python-format +msgid "No project called %s could be found" +msgstr "No se ha podido encontrar un proyecto con nombre %s" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" -msgstr "Todos los hosts tienen demasiados gigabytes" +#: ../nova/auth/manager.py:287 +#, python-format +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" +msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" -msgstr "Todos los hosts tienen demasiadas redes" +#: ../nova/auth/manager.py:289 +#, python-format +msgid "User %(uid)s is not a member of project %(pjid)s" +msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." -msgstr "No puedo probar las imágenes sin un entorno real virtual" +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 +#, python-format +msgid "Invalid signature for user %s" +msgstr "Firma invalida para el usuario %s" + +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" +msgstr "Las firmas no concuerdan" -#: nova/tests/test_cloud.py:210 +#: ../nova/auth/manager.py:380 +msgid "Must specify project" +msgstr "Debes especificar un proyecto" + +#: ../nova/auth/manager.py:414 #, python-format -msgid "Need to watch instance %s until it's running..." -msgstr "Hay que vigilar la instancia %s hasta que este en ejecución..." +msgid "The %s role can not be found" +msgstr "El rol %s no se ha podido encontrar" -#: nova/tests/test_compute.py:104 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Running instances: %s" -msgstr "Ejecutando instancias: %s" +msgid "The %s role is global only" +msgstr "El rol %s es únicamente global" + +#: ../nova/auth/manager.py:420 +#, python-format +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:423 +#, python-format +msgid "Adding sitewide role %(role)s to user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:448 +#, python-format +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:451 +#, python-format +msgid "Removing sitewide role %(role)s from user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:515 +#, python-format +msgid "Created project %(name)s with manager %(manager_user)s" +msgstr "" + +#: ../nova/auth/manager.py:533 +#, python-format +msgid "modifying project %s" +msgstr "modificando proyecto %s" + +#: ../nova/auth/manager.py:545 +#, python-format +msgid "Adding user %(uid)s to project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:566 +#, python-format +msgid "Remove user %(uid)s from project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:592 +#, python-format +msgid "Deleting project %s" +msgstr "Eliminando proyecto %s" + +#: ../nova/auth/manager.py:650 +#, python-format +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" +msgstr "" + +#: ../nova/auth/manager.py:659 +#, python-format +msgid "Deleting user %s" +msgstr "Eliminando usuario %s" + +#: ../nova/auth/manager.py:669 +#, python-format +msgid "Access Key change for user %s" +msgstr "Cambio de clave de acceso para el usuario %s" + +#: ../nova/auth/manager.py:671 +#, python-format +msgid "Secret Key change for user %s" +msgstr "Cambio de clave secreta para el usuario %s" + +#: ../nova/auth/manager.py:673 +#, python-format +msgid "Admin status set to %(admin)r for user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:722 +#, python-format +msgid "No vpn data for project %s" +msgstr "No hay datos vpn para el proyecto %s" + +#: ../nova/service.py:161 +#, python-format +msgid "Starting %(topic)s node (version %(vcs_string)s)" +msgstr "" + +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" +msgstr "Se detuvo un servicio sin entrada en la base de datos" + +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." +msgstr "El servicio objeto de base de datos ha desaparecido, recreándolo." + +#: ../nova/service.py:207 +msgid "Recovered model server connection!" +msgstr "Recuperada la conexión al servidor de modelos." + +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "el servidor de modelos se ha ido" + +#: ../nova/auth/ldapdriver.py:174 +#, python-format +msgid "LDAP user %s already exists" +msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "After terminating instances: %s" -msgstr "Después de terminar las instancias: %s" +msgid "LDAP object for %s doesn't exist" +msgstr "El objeto LDAP para %s no existe" -#: nova/tests/test_rpc.py:89 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Nested received %s, %s" +msgid "User %s doesn't exist" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Nested return %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Received %s" -msgstr "Recibido %s" +msgid "Group can't be created because user %s doesn't exist" +msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Target %s allocated" -msgstr "Destino %s asignado" - -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" -msgstr "Fallo al abrir conexión con el hypervisor" +msgid "User %s can't be searched in group because the user doesn't exist" +msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Instance %s Not Found" -msgstr "La instancia %s no ha sido encontrada" +msgid "User %s can't be added to the group because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" -msgstr "En el host inicial" +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 +#, python-format +msgid "The group at dn %s doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Attempt to create duplicate vm %s" -msgstr "Intento de crear una vm duplicada %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" +msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Starting VM %s " -msgstr "Comenzando VM %s " +msgid "" +"User %s can't be removed from the group because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Started VM %s " -msgstr "VM %s iniciada " +msgid "User %s is not a member of the group" +msgstr "" -#: nova/virt/hyperv.py:152 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "spawn vm failed: %s" -msgstr "Inicio de vm fallido: %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." +msgstr "" +"Se ha intentado eliminar el último miembro de un grupo. Eliminando el grupo " +"%s en su lugar." -#: nova/virt/hyperv.py:169 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Failed to create VM %s" -msgstr "Fallo al crear la VM %s" +msgid "User %s can't be removed from all because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Created VM %s..." -msgstr "Creada VM %s..." +msgid "Group at dn %s doesn't exist" +msgstr "El grupo con dn %s no existe" -#: nova/virt/hyperv.py:188 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Set memory for vm %s..." -msgstr "Se ha establecido la memoria para vm %s..." +msgid "Found non-unique network for bridge %s" +msgstr "Encontrada una red no única para el puente %s" -#: nova/virt/hyperv.py:198 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Set vcpus for vm %s..." -msgstr "Establecidas vcpus para vm %s..." +msgid "Found no network for bridge %s" +msgstr "No se ha encontrado red para el puente %s" -#: nova/virt/hyperv.py:202 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Creating disk for %s by attaching disk file %s" -msgstr "" -"Creando disco para %s a través de la asignación del fichero de disco %s" +msgid "Creating new user: %s" +msgstr "Creando nuevo usuario: %s" -#: nova/virt/hyperv.py:227 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Failed to add diskdrive to VM %s" -msgstr "Fallo al añadir unidad de disco a la VM %s" +msgid "Deleting user: %s" +msgstr "Eliminando usuario: %s" -#: nova/virt/hyperv.py:230 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "New disk drive path is %s" -msgstr "La nueva ruta para unidad de disco es %s" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Failed to add vhd file to VM %s" -msgstr "Fallo al añadir el fichero vhd a la VM %s" +msgid "Adding sitewide role %(role)s to user %(user)s" +msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "Created disk for %s" -msgstr "Discos creados para %s" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:253 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "Creating nic for %s " -msgstr "Creando nic para %s " +msgid "Removing sitewide role %(role)s from user %(user)s" +msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" -msgstr "Fallo al crear un puerto en el vswitch externo" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" +msgstr "la operación debe ser añadir o eliminar" -#: nova/virt/hyperv.py:273 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Failed creating port for %s" -msgstr "Fallo creando puerto para %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" +msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Created switch port %s on switch %s" -msgstr "Creado puerto %s en el switch %s" +msgid "Create project %(name)s managed by %(manager_user)s" +msgstr "" -#: nova/virt/hyperv.py:285 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "Failed to add nic to VM %s" -msgstr "Fallo al añadir nic a la VM %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" +msgstr "" -#: nova/virt/hyperv.py:287 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "Created nic for %s " -msgstr "Creando nic para %s " +msgid "Delete project: %s" +msgstr "Borrar proyecto: %s" -#: nova/virt/hyperv.py:320 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "WMI job failed: %s" -msgstr "Trabajo WMI falló: %s" +msgid "Adding user %(user)s to project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " -msgstr "Trabajo WMI ha tenido exito: %s, Transcurrido=%s " +msgid "Removing user %(user)s from project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:358 #, python-format -msgid "Got request to destroy vm %s" -msgstr "Recibida solicitud para destruir vm %s" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Comando: %s\n" +#~ "Código de salida: %s\n" +#~ "Stdout: %s\n" +#~ "Stderr: %r" -#: nova/virt/hyperv.py:383 #, python-format -msgid "Failed to destroy vm %s" -msgstr "Fallo al destruir vm %s" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s) públicar (clave: %s) %s" -#: nova/virt/hyperv.py:389 #, python-format -msgid "Del: disk %s vm %s" -msgstr "Del: disco %s vm %s" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "El servidor AMQP en %s:%d no se puede alcanzar. Se reintentará en %d " +#~ "segundos." -#: nova/virt/hyperv.py:405 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" -msgstr "" -"Obtenida información para vm %s: state=%s, mem=%s, num_cpu=%s, cpu_time=%s" +#~ msgid "Binding %s to %s with key %s" +#~ msgstr "Asociando %s a %s con clave %s" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 #, python-format -msgid "duplicate name found: %s" -msgstr "se ha encontrado un nombre duplicado: %s" +#~ msgid "Getting from %s: %s" +#~ msgstr "Obteniendo desde %s: %s" -#: nova/virt/hyperv.py:444 #, python-format -msgid "Successfully changed vm state of %s to %s" -msgstr "Cambio de estado de la vm con éxito de %s a %s" +#~ msgid "Starting %s node" +#~ msgstr "Inciando nodo %s" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 #, python-format -msgid "Failed to change vm state of %s to %s" -msgstr "Fallo al cambiar el estado de la vm de %s a %s" +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "El almacen de datos %s es inalcanzable. Reintentandolo en %d segundos." -#: nova/virt/images.py:70 #, python-format -msgid "Finished retreving %s -- placed in %s" -msgstr "Finalizada la obtención de %s -- coloado en %s" +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "No puedo obtener IP, usando 127.0.0.1 %s" -#: nova/virt/libvirt_conn.py:144 #, python-format -msgid "Connecting to libvirt: %s" -msgstr "Conectando a libvirt: %s" - -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" -msgstr "Conexión a libvirt rota" +#~ msgid "" +#~ "Access key %s has had %d failed authentications and will be locked out for " +#~ "%d minutes." +#~ msgstr "" +#~ "La clave de acceso %s ha tenido %d fallos de autenticación y se bloqueará " +#~ "por %d minutos." -#: nova/virt/libvirt_conn.py:229 #, python-format -msgid "instance %s: deleting instance files %s" -msgstr "instancia %s: eliminando los ficheros de la instancia %s" +#~ msgid "arg: %s\t\tval: %s" +#~ msgstr "arg: %s \t \t val: %s" -#: nova/virt/libvirt_conn.py:271 #, python-format -msgid "No disk at %s" -msgstr "No hay disco en %s" - -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" -msgstr "" -"El snapshotting de instancias no está soportado en libvirt en este momento" +#~ msgid "Authenticated Request For %s:%s)" +#~ msgstr "Solicitud de autenticación para %s:%s" -#: nova/virt/libvirt_conn.py:294 #, python-format -msgid "instance %s: rebooted" -msgstr "instancia %s: reiniciada" +#~ msgid "Adding role %s to user %s for project %s" +#~ msgstr "Añadiendo rol %s al usuario %s para el proyecto %s" -#: nova/virt/libvirt_conn.py:297 #, python-format -msgid "_wait_for_reboot failed: %s" -msgstr "_wait_for_reboot falló: %s" +#~ msgid "Removing role %s from user %s for project %s" +#~ msgstr "Eliminando rol %s del usuario %s para el proyecto %s" -#: nova/virt/libvirt_conn.py:340 #, python-format -msgid "instance %s: rescued" -msgstr "instancia %s: rescatada" +#~ msgid "Unauthorized request for controller=%s and action=%s" +#~ msgstr "Solicitud no autorizada para controller=%s y action=%s" -#: nova/virt/libvirt_conn.py:343 #, python-format -msgid "_wait_for_rescue failed: %s" -msgstr "_wait_for_rescue falló: %s" +#~ msgid "Getting x509 for user: %s on project: %s" +#~ msgstr "Obteniendo x509 para el usuario: %s en el proyecto %s" -#: nova/virt/libvirt_conn.py:370 #, python-format -msgid "instance %s: is running" -msgstr "instancia %s: está ejecutándose" +#~ msgid "Create project %s managed by %s" +#~ msgstr "Creación del proyecto %s gestionada por %s" -#: nova/virt/libvirt_conn.py:381 #, python-format -msgid "instance %s: booted" -msgstr "instancia %s: arrancada" +#~ msgid "Removing user %s from project %s" +#~ msgstr "Eliminando usuario %s del proyecto %s" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 #, python-format -msgid "instance %s: failed to boot" -msgstr "insntancia %s: falló al arrancar" +#~ msgid "Adding user %s to project %s" +#~ msgstr "Añadiendo usuario %s al proyecto %s" -#: nova/virt/libvirt_conn.py:395 #, python-format -msgid "virsh said: %r" -msgstr "virsh dijo: %r" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" -msgstr "genial, es un dispositivo" +#~ msgid "Unsupported API request: controller = %s,action = %s" +#~ msgstr "Solicitud de API no soportada: controller=%s,action=%s" -#: nova/virt/libvirt_conn.py:407 #, python-format -msgid "data: %r, fpath: %r" -msgstr "datos: %r, fpath: %r" +#~ msgid "Associate address %s to instance %s" +#~ msgstr "Asociar dirección %s a la instancia %s" -#: nova/virt/libvirt_conn.py:415 #, python-format -msgid "Contents of file %s: %r" -msgstr "Contenidos del fichero %s: %r" +#~ msgid "Attach volume %s to instacne %s at %s" +#~ msgstr "Asociar volumen %s a la instancia %s en %s" -#: nova/virt/libvirt_conn.py:449 #, python-format -msgid "instance %s: Creating image" -msgstr "instancia %s: Creando imagen" +#~ msgid "Registered image %s with id %s" +#~ msgstr "Registrada imagen %s con id %s" -#: nova/virt/libvirt_conn.py:505 #, python-format -msgid "instance %s: injecting key into image %s" -msgstr "instancia %s: inyectando clave en la imagen %s" +#~ msgid "User %s is already a member of the group %s" +#~ msgstr "El usuario %s ya es miembro de el grupo %s" -#: nova/virt/libvirt_conn.py:508 #, python-format -msgid "instance %s: injecting net into image %s" -msgstr "instancia %s: inyectando red en la imagen %s" +#~ msgid "User %s is not a member of project %s" +#~ msgstr "El usuario %s no es miembro del proyecto %s" -#: nova/virt/libvirt_conn.py:516 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" -msgstr "" -"instancia %s: ignorando el error al inyectar datos en la imagen %s (%s)" +#~ msgid "failed authorization: no project named %s (user=%s)" +#~ msgstr "" +#~ "fallo de autorización: no existe proyecto con el nombre %s (usuario=%s)" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 #, python-format -msgid "instance %s: starting toXML method" -msgstr "instancia %s: comenzando método toXML" +#~ msgid "Failed authorization: user %s not admin and not member of project %s" +#~ msgstr "" +#~ "Fallo de autorización: el usuario %s no es administrador y no es miembro del " +#~ "proyecto %s" -#: nova/virt/libvirt_conn.py:589 #, python-format -msgid "instance %s: finished toXML method" -msgstr "instancia %s: finalizado método toXML" - -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" -msgstr "" -"Debes especificar xenapi_connection_url, xenapi_connection_username " -"(opcional), y xenapi_connection_password para usar connection_type=xenapi" +#~ msgid "Created user %s (admin: %r)" +#~ msgstr "Creado usuario %s (administrador: %r)" -#: nova/virt/xenapi_conn.py:263 #, python-format -msgid "Task [%s] %s status: success %s" -msgstr "Tarea [%s] %s estado: éxito %s" +#~ msgid "Created project %s with manager %s" +#~ msgstr "Proyecto %s creado con administrador %s" -#: nova/virt/xenapi_conn.py:271 #, python-format -msgid "Task [%s] %s status: %s %s" -msgstr "Tarea [%s] %s estado: %s %s" +#~ msgid "Removing role %s from user %s on project %s" +#~ msgstr "Eliminando rol %s al usuario %s en el proyecto %s" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 #, python-format -msgid "Got exception: %s" -msgstr "Obtenida excepción %s" +#~ msgid "Adding role %s to user %s in project %s" +#~ msgstr "Añadiendo rol %s al usuario %s en el proyecto %s" -#: nova/virt/xenapi/fake.py:72 #, python-format -msgid "%s: _db_content => %s" -msgstr "%s: _db_content => %s" - -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" -msgstr "Lanzando NotImplemented" +#~ msgid "Remove user %s from project %s" +#~ msgstr "Eliminar usuario %s del proyecto %s" -#: nova/virt/xenapi/fake.py:249 #, python-format -msgid "xenapi.fake does not have an implementation for %s" -msgstr "xenapi.fake no tiene una implementación para %s" +#~ msgid "Admin status set to %r for user %s" +#~ msgstr "El estado del administrador se ha fijado a %r para el usuario %s" -#: nova/virt/xenapi/fake.py:283 #, python-format -msgid "Calling %s %s" -msgstr "Llamando %s %s" +#~ msgid "Going to try and terminate %s" +#~ msgstr "Se va a probar y terminar %s" -#: nova/virt/xenapi/fake.py:288 #, python-format -msgid "Calling getter %s" -msgstr "Llanado al adquiridor %s" +#~ msgid "Casting to scheduler for %s/%s's instance %s" +#~ msgstr "Llamando al planificar para %s/%s insntancia %s" -#: nova/virt/xenapi/fake.py:340 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" -msgstr "" -"xenapi.fake no tiene una implementación para %s o ha sido llamada con un " -"número incorrecto de argumentos" +#~ msgid "Quota exceeeded for %s, tried to run %s instances" +#~ msgstr "Quota superada por %s, intentando lanzar %s instancias" -#: nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Found non-unique network for bridge %s" -msgstr "Encontrada una red no única para el puente %s" +#~ msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#~ msgstr "check_instance_lock: arguments: |%s| |%s| |%s|" -#: nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Found no network for bridge %s" -msgstr "No se ha encontrado red para el puente %s" +#~ msgid "Input partition size not evenly divisible by sector size: %d / %d" +#~ msgstr "" +#~ "El tamaño de la partición de entrada no es divisible de forma uniforme por " +#~ "el tamaño del sector: %d / %d" -#: nova/virt/xenapi/vm_utils.py:127 #, python-format -msgid "Created VM %s as %s." -msgstr "Creada VM %s cómo %s" +#~ msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +#~ msgstr "" +#~ "Los bytes del almacenamiento local no son divisibles de forma uniforme por " +#~ "el tamaño del sector: %d / %d" -#: nova/virt/xenapi/vm_utils.py:147 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " -msgstr "Creando VBD para VM %s, VDI %s... " +#~ msgid "volume %s: creating lv of size %sG" +#~ msgstr "volumen %s: creando lv de tamaño %sG" -#: nova/virt/xenapi/vm_utils.py:149 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." -msgstr "Creado VBD %s for VM %s, VDI %s." +#~ msgid "Disassociating address %s" +#~ msgstr "Desasociando la dirección %s" -#: nova/virt/xenapi/vm_utils.py:165 #, python-format -msgid "VBD not found in instance %s" -msgstr "VBD no encontrado en la instancia %s" +#~ msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +#~ msgstr "" +#~ "intentando reiniciar una instancia que no está en ejecución: %s (estado: %s " +#~ "esperado: %s)" -#: nova/virt/xenapi/vm_utils.py:175 #, python-format -msgid "Unable to unplug VBD %s" -msgstr "Imposible desconectar VBD %s" +#~ msgid "" +#~ "trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +#~ msgstr "" +#~ "intentando crear un snapshot de una instancia que no está en ejecución: %s " +#~ "(estado: %s esperado: %s)" -#: nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Unable to destroy VBD %s" -msgstr "Imposible destruir VBD %s" +#~ msgid "Detach volume %s from mountpoint %s on instance %s" +#~ msgstr "Desvinculando volumen %s del punto de montaje %s en la instancia %s" -#: nova/virt/xenapi/vm_utils.py:202 #, python-format -msgid "Creating VIF for VM %s, network %s." -msgstr "Creando VIF para VM %s, red %s." +#~ msgid "Cannot get blockstats for \"%s\" on \"%s\"" +#~ msgstr "No puedo obtener estadísticas del bloque para \"%s\" en \"%s\"" -#: nova/virt/xenapi/vm_utils.py:205 #, python-format -msgid "Created VIF %s for VM %s, network %s." -msgstr "Creado VIF %s para VM %s, red %s." +#~ msgid "Cannot get ifstats for \"%s\" on \"%s\"" +#~ msgstr "No puedo obtener estadísticas de la interfaz para \"%s\" en \"%s\"" -#: nova/virt/xenapi/vm_utils.py:216 #, python-format -msgid "Snapshotting VM %s with label '%s'..." -msgstr "Creando snapshot de la VM %s con la etiqueta '%s'..." +#~ msgid "No instance for id %s" +#~ msgstr "No hay instancia con id %s" -#: nova/virt/xenapi/vm_utils.py:229 #, python-format -msgid "Created snapshot %s from VM %s." -msgstr "Creando snapshot %s de la VM %s" +#~ msgid "no keypair for user %s, name %s" +#~ msgstr "no hay par de claves para el usuario %s, nombre %s" -#: nova/virt/xenapi/vm_utils.py:243 #, python-format -msgid "Asking xapi to upload %s as '%s'" -msgstr "Solicitando a xapi la subida de %s cómo %s'" +#~ msgid "No service for %s, %s" +#~ msgstr "No hay servicio para %s, %s" -#: nova/virt/xenapi/vm_utils.py:261 #, python-format -msgid "Asking xapi to fetch %s as %s" -msgstr "Solicitando a xapi obtener %s cómo %s" +#~ msgid "No volume for id %s" +#~ msgstr "No hay volumen para el id %s" -#: nova/virt/xenapi/vm_utils.py:279 #, python-format -msgid "Looking up vdi %s for PV kernel" -msgstr "Buscando vid %s para el kernel PV" +#~ msgid "No security group named %s for project: %s" +#~ msgstr "No hay un grupo de seguridad con nombre %s para el proyecto: %s" -#: nova/virt/xenapi/vm_utils.py:290 #, python-format -msgid "PV Kernel in VDI:%d" -msgstr "PV Kernel en VDI:%d" +#~ msgid "Parallax returned HTTP error %d from request for /images/detail" +#~ msgstr "" +#~ "Parallax ha devuelto un error HTTP %d para la petición para /images/detail" -#: nova/virt/xenapi/vm_utils.py:318 #, python-format -msgid "VDI %s is still available" -msgstr "VDI %s está todavía disponible" +#~ msgid "Parallax returned HTTP error %d from request for /images" +#~ msgstr "Parallax ha devuelto un error HTTP %d a la petición para /images" -#: nova/virt/xenapi/vm_utils.py:331 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" -msgstr "(VM_UTILS) xenserver vm state -> |%s|" +#~ msgid "IP %s leased to bad mac %s vs %s" +#~ msgstr "IP %s asociada a una mac incorrecta %s vs %s" -#: nova/virt/xenapi/vm_utils.py:333 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" -msgstr "(VM_UTILS) xenapi power_state -> |%s|" +#~ msgid "Unauthorized attempt to get object %s from bucket %s" +#~ msgstr "Intento no autorizado de obtener el objeto %s en el cubo %s" -#: nova/virt/xenapi/vm_utils.py:390 #, python-format -msgid "VHD %s has parent %s" -msgstr "VHD %s tiene cómo padre a %s" +#~ msgid "Getting object: %s / %s" +#~ msgstr "Obteniendo objeto: %s / %s" -#: nova/virt/xenapi/vm_utils.py:407 #, python-format -msgid "Re-scanning SR %s" -msgstr "Re-escaneando SR %s" +#~ msgid "Putting object: %s / %s" +#~ msgstr "Colocando objeto: %s / %s" -#: nova/virt/xenapi/vm_utils.py:431 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." -msgstr "" -"El padre %s no concuerda con el padre original %s, esperando la unión..." +#~ msgid "Unauthorized attempt to upload object %s to bucket %s" +#~ msgstr "Intento no autorizado de subir el objeto %s al cubo %s" -#: nova/virt/xenapi/vm_utils.py:448 #, python-format -msgid "No VDIs found for VM %s" -msgstr "No se han encontrado VDI's para VM %s" +#~ msgid "Deleting object: %s / %s" +#~ msgstr "Eliminando objeto: %s / %s" -#: nova/virt/xenapi/vm_utils.py:452 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" -msgstr "Número no esperado de VDIs (%s) encontrados para VM %s" +#~ msgid "Toggling publicity flag of image %s %r" +#~ msgstr "Cambiando los atributos de publicidad de la imagen %s %r" -#: nova/virt/xenapi/vmops.py:62 #, python-format -msgid "Attempted to create non-unique name %s" -msgstr "Intentado la creación del nombre no único %s" +#~ msgid "Creating disk for %s by attaching disk file %s" +#~ msgstr "" +#~ "Creando disco para %s a través de la asignación del fichero de disco %s" -#: nova/virt/xenapi/vmops.py:99 #, python-format -msgid "Starting VM %s..." -msgstr "Iniciando VM %s..." +#~ msgid "WMI job succeeded: %s, Elapsed=%s " +#~ msgstr "Trabajo WMI ha tenido exito: %s, Transcurrido=%s " -#: nova/virt/xenapi/vmops.py:101 #, python-format -msgid "Spawning VM %s created %s." -msgstr "Iniciando VM %s creado %s." +#~ msgid "Created switch port %s on switch %s" +#~ msgstr "Creado puerto %s en el switch %s" -#: nova/virt/xenapi/vmops.py:112 #, python-format -msgid "Instance %s: booted" -msgstr "Instancia %s: iniciada" +#~ msgid "instance %s: deleting instance files %s" +#~ msgstr "instancia %s: eliminando los ficheros de la instancia %s" -#: nova/virt/xenapi/vmops.py:137 #, python-format -msgid "Instance not present %s" -msgstr "Instancia no existente %s" +#~ msgid "Finished retreving %s -- placed in %s" +#~ msgstr "Finalizada la obtención de %s -- coloado en %s" -#: nova/virt/xenapi/vmops.py:166 #, python-format -msgid "Starting snapshot for VM %s" -msgstr "Comenzando snapshot para la VM %s" +#~ msgid "Failed to change vm state of %s to %s" +#~ msgstr "Fallo al cambiar el estado de la vm de %s a %s" -#: nova/virt/xenapi/vmops.py:174 #, python-format -msgid "Unable to Snapshot %s: %s" -msgstr "Incapaz de realizar snapshot %s: %s" +#~ msgid "Successfully changed vm state of %s to %s" +#~ msgstr "Cambio de estado de la vm con éxito de %s a %s" -#: nova/virt/xenapi/vmops.py:184 #, python-format -msgid "Finished snapshot and upload for VM %s" -msgstr "Finalizado el snapshot y la subida de la VM %s" +#~ msgid "" +#~ "Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " +#~ "cpu_time=%s" +#~ msgstr "" +#~ "Obtenida información para vm %s: state=%s, mem=%s, num_cpu=%s, cpu_time=%s" -#: nova/virt/xenapi/vmops.py:252 #, python-format -msgid "suspend: instance not present %s" -msgstr "suspendido: instancia no encontrada: %s" +#~ msgid "instance %s: ignoring error injecting data into image %s (%s)" +#~ msgstr "" +#~ "instancia %s: ignorando el error al inyectar datos en la imagen %s (%s)" -#: nova/virt/xenapi/vmops.py:262 #, python-format -msgid "resume: instance not present %s" -msgstr "reanudar: instancia no encontrada %s" +#~ msgid "Contents of file %s: %r" +#~ msgstr "Contenidos del fichero %s: %r" -#: nova/virt/xenapi/vmops.py:271 #, python-format -msgid "Instance not found %s" -msgstr "instancia no encontrada %s" +#~ msgid "instance %s: injecting net into image %s" +#~ msgstr "instancia %s: inyectando red en la imagen %s" -#: nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Introducing %s..." -msgstr "Introduciendo %s..." +#~ msgid "instance %s: injecting key into image %s" +#~ msgstr "instancia %s: inyectando clave en la imagen %s" -#: nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Introduced %s as %s." -msgstr "Introducido %s cómo %s." +#~ msgid "data: %r, fpath: %r" +#~ msgstr "datos: %r, fpath: %r" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" -msgstr "Imposible crear el repositorio de almacenamiento" +#, python-format +#~ msgid "Task [%s] %s status: %s %s" +#~ msgstr "Tarea [%s] %s estado: %s %s" -#: nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Unable to find SR from VBD %s" -msgstr "Imposible encontrar SR en VBD %s" +#~ msgid "Task [%s] %s status: success %s" +#~ msgstr "Tarea [%s] %s estado: éxito %s" -#: nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Forgetting SR %s ... " -msgstr "Olvidando SR %s... " +#~ msgid "Calling %s %s" +#~ msgstr "Llamando %s %s" -#: nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" -msgstr "Ignorando excepción %s al obtener PBDs de %s" +#~ msgid "%s: _db_content => %s" +#~ msgstr "%s: _db_content => %s" -#: nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" -msgstr "Ignorando excepción %s al desconectar PBD %s" +#~ msgid "Created VBD %s for VM %s, VDI %s." +#~ msgstr "Creado VBD %s for VM %s, VDI %s." -#: nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Forgetting SR %s done." -msgstr "Olvidando SR %s completado." +#~ msgid "Creating VBD for VM %s, VDI %s ... " +#~ msgstr "Creando VBD para VM %s, VDI %s... " -#: nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" -msgstr "Ignorando excepción %s al olvidar SR %s" +#~ msgid "Created VIF %s for VM %s, network %s." +#~ msgstr "Creado VIF %s para VM %s, red %s." -#: nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Unable to introduce VDI on SR %s" -msgstr "Incapaz de insertar VDI en SR %s" +#~ msgid "Creating VIF for VM %s, network %s." +#~ msgstr "Creando VIF para VM %s, red %s." -#: nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "Unable to get record of VDI %s on" -msgstr "Imposible obtener copia del VDI %s en" +#~ msgid "Created VM %s as %s." +#~ msgstr "Creada VM %s cómo %s" -#: nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Unable to introduce VDI for SR %s" -msgstr "Inposible insertar VDI para SR %s" +#~ msgid "Asking xapi to upload %s as '%s'" +#~ msgstr "Solicitando a xapi la subida de %s cómo %s'" -#: nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Unable to obtain target information %s, %s" -msgstr "Imposible obtener información del destino %s, %s" +#~ msgid "VHD %s has parent %s" +#~ msgstr "VHD %s tiene cómo padre a %s" -#: nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "Mountpoint cannot be translated: %s" -msgstr "Punto de montaje no puede ser traducido: %s" +#~ msgid "Asking xapi to fetch %s as %s" +#~ msgstr "Solicitando a xapi obtener %s cómo %s" -#: nova/virt/xenapi/volumeops.py:51 #, python-format -msgid "Attach_volume: %s, %s, %s" -msgstr "Attach_volume: %s, %s, %s" +#~ msgid "PV Kernel in VDI:%d" +#~ msgstr "PV Kernel en VDI:%d" -#: nova/virt/xenapi/volumeops.py:69 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" -msgstr "Inpoisble crear VDI en SR %s para la instancia %s" +#~ msgid "Unexpected number of VDIs (%s) found for VM %s" +#~ msgstr "Número no esperado de VDIs (%s) encontrados para VM %s" -#: nova/virt/xenapi/volumeops.py:81 #, python-format -msgid "Unable to use SR %s for instance %s" -msgstr "Imposible utilizar SR %s para la instancia %s" +#~ msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#~ msgstr "" +#~ "El padre %s no concuerda con el padre original %s, esperando la unión..." -#: nova/virt/xenapi/volumeops.py:93 #, python-format -msgid "Unable to attach volume to instance %s" -msgstr "Imposible adjuntar volumen a la instancia %s" +#~ msgid "suspend: instance not present %s" +#~ msgstr "suspendido: instancia no encontrada: %s" -#: nova/virt/xenapi/volumeops.py:95 #, python-format -msgid "Mountpoint %s attached to instance %s" -msgstr "Punto de montaje %s unido a la instancia %s" +#~ msgid "Introduced %s as %s." +#~ msgstr "Introducido %s cómo %s." -#: nova/virt/xenapi/volumeops.py:106 #, python-format -msgid "Detach_volume: %s, %s" -msgstr "Detach_volume: %s, %s" +#~ msgid "resume: instance not present %s" +#~ msgstr "reanudar: instancia no encontrada %s" -#: nova/virt/xenapi/volumeops.py:113 #, python-format -msgid "Unable to locate volume %s" -msgstr "Imposible encontrar volumen %s" +#~ msgid "Instance not found %s" +#~ msgstr "instancia no encontrada %s" -#: nova/virt/xenapi/volumeops.py:121 #, python-format -msgid "Unable to detach volume %s" -msgstr "Imposible desasociar volumen %s" +#~ msgid "Ignoring exception %s when getting PBDs for %s" +#~ msgstr "Ignorando excepción %s al obtener PBDs de %s" -#: nova/virt/xenapi/volumeops.py:128 #, python-format -msgid "Mountpoint %s detached from instance %s" -msgstr "Punto d emontaje %s desasociado de la instancia %s" +#~ msgid "Unable to create VDI on SR %s for instance %s" +#~ msgstr "Inpoisble crear VDI en SR %s para la instancia %s" -#: nova/volume/api.py:44 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" -msgstr "Quota excedida para %s, intentando crear el volumen %sG" +#~ msgid "Unable to obtain target information %s, %s" +#~ msgstr "Imposible obtener información del destino %s, %s" -#: nova/volume/api.py:46 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "Quota de volumen superada. No puedes crear un volumen de tamaño %s" +#~ msgid "Ignoring exception %s when forgetting SR %s" +#~ msgstr "Ignorando excepción %s al olvidar SR %s" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "El estado del volumen debe estar disponible" +#, python-format +#~ msgid "Ignoring exception %s when unplugging PBD %s" +#~ msgstr "Ignorando excepción %s al desconectar PBD %s" -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "El volumen ya está asociado previamente" +#, python-format +#~ msgid "Attach_volume: %s, %s, %s" +#~ msgstr "Attach_volume: %s, %s, %s" -#: nova/volume/api.py:103 -msgid "Volume is already detached" -msgstr "El volumen ya ha sido desasociado previamente" +#, python-format +#~ msgid "Unable to use SR %s for instance %s" +#~ msgstr "Imposible utilizar SR %s para la instancia %s" -#: nova/volume/driver.py:76 #, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "Recuperandose de una ejecución fallida. Intenta el número %s" +#~ msgid "Mountpoint %s attached to instance %s" +#~ msgstr "Punto de montaje %s unido a la instancia %s" -#: nova/volume/driver.py:85 #, python-format -msgid "volume group %s doesn't exist" -msgstr "el grupo de volumenes %s no existe" +#~ msgid "Detach_volume: %s, %s" +#~ msgstr "Detach_volume: %s, %s" -#: nova/volume/driver.py:210 #, python-format -msgid "FAKE AOE: %s" -msgstr "Falso AOE: %s" +#~ msgid "Mountpoint %s detached from instance %s" +#~ msgstr "Punto d emontaje %s desasociado de la instancia %s" -#: nova/volume/driver.py:315 #, python-format -msgid "FAKE ISCSI: %s" -msgstr "Falso ISCSI: %s" +#~ msgid "Quota exceeeded for %s, tried to create %sG volume" +#~ msgstr "Quota excedida para %s, intentando crear el volumen %sG" -#: nova/volume/manager.py:85 #, python-format -msgid "Re-exporting %s volumes" -msgstr "Exportando de nuevo los volumenes %s" +#~ msgid "Volume quota exceeded. You cannot create a volume of size %s" +#~ msgstr "Quota de volumen superada. No puedes crear un volumen de tamaño %s" -#: nova/volume/manager.py:93 #, python-format -msgid "volume %s: creating" -msgstr "volumen %s: creando" +#~ msgid "instance %s: attach failed %s, removing" +#~ msgstr "instalación %s: asociación fallida %s, eliminando" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "volumen %s: creando lv de tamaño %sG" +#~ msgid "instance %s: attaching volume %s to %s" +#~ msgstr "instancia %s: asociando volumen %s a %s" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "volumen %s: exportando" +#~ msgid "Snapshotting VM %s with label '%s'..." +#~ msgstr "Creando snapshot de la VM %s con la etiqueta '%s'..." -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "volumen %s: creado satisfactoriamente" +#~ msgid "Created snapshot %s from VM %s." +#~ msgstr "Creando snapshot %s de la VM %s" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "El volumen todavía está asociado" +#, python-format +#~ msgid "Unable to Snapshot %s: %s" +#~ msgstr "Incapaz de realizar snapshot %s: %s" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "Volumen no local a este nodo" +#, python-format +#~ msgid "Adding sitewide role %s to user %s" +#~ msgstr "Añadiendo rol global %s al usuario %s" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "volumen %s: eliminando exportación" +#~ msgid "Removing sitewide role %s from user %s" +#~ msgstr "Eliminando rol global %s del usuario %s" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "volumen %s: eliminando" +#~ msgid "Del: disk %s vm %s" +#~ msgstr "Del: disco %s vm %s" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "volumen %s: eliminado satisfactoriamente" +#~ msgid "Spawning VM %s created %s." +#~ msgstr "Iniciando VM %s creado %s." diff --git a/po/it.po b/po/it.po index 3f439f9dd..1beb116a3 100644 --- a/po/it.po +++ b/po/it.po @@ -7,2135 +7,2892 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-01-14 17:17+0000\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-02-22 19:34+0000\n" "Last-Translator: Armando Migliaccio \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:19+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "Nessun host trovato" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "" +"Si e' verificato un errore inatteso durante l'esecuzione del comando." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" +"%(description)s\n" +"Comando: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "DB eccezione wrappata" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Eccezione non gestita" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" +"Quota ecceduta per %(pid)s, tentato di creare un volume di dimensione " +"%(size)sG" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "Quota volume ecceduta. Non puoi creare un volume di dimensione %sG" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "Lo stato del volume deve essere disponibile" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "Il volume é già collegato" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "Il volume é già scollegato" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "Impossibile leggere l'indirizzo IP privato" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "Impossibile leggere gli indirizzi IP pubblici" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" +"La proprietà %(param)s non é stata trovata per l'immagine %(_image_id)s" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "No keypairs definita" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "Compute.api::lock %s" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "Compute.api::unlock %s" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "Compute.api::get_lock %s" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "Compute.api::reset_network %s" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "Compute.api::pause %s" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "Compute.api::unpause %s" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "compute.api::suspend %s" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "compute.api::resume %s" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "Numero errato di argomenti" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" +"Il pidfile %s non esiste. Assicurarsi che il demone é in esecuzione.\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "Nessun processo trovato" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "Servire %s" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "Insieme di FLAGS:" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "Avvio di %s" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "Istanza %s non trovata" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" +"Impossible creare il VDI su SR %(sr_ref)s per l'istanza %(instance_name)s" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "Impossibile usare SR %(sr_ref)s per l'istanza %(instance_name)s" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "Impossibile montare il volume all'istanza %s" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "Mountpoint %(mountpoint)s montato all'istanza %(instance_name)s" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "Impossibile localizzare il volume %s" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "Impossibile smontare il volume %s" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "Mountpoint %(mountpoint)s smontato dall'istanza %(instance_name)s" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "Tipo dell'istanza sconosciuto: %s" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" -msgstr "Nome del file root CA" +msgstr "Filename di root CA" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" -msgstr "Nome del file della chiave privata" +msgstr "Nome file della chiave privata" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" -msgstr "" +msgstr "Nome file di root Certificate Revokation List" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "Dove si conservano le chiavi" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" msgstr "Dove si conserva root CA" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "Si dovrebbe usare un CA per ogni progetto?" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" +"Soggetto per il certificato degli utenti, %s per progetto, utente, orario" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "Soggetto per il certificato dei progetti, %s per progetto, orario" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "Soggetto per il certificato delle vpn, %s per progetto, orario" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "Percorso dei flags: %s" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "Trasmissione asincrona a %(topic)s %(host)s for %(method)s" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "check_instance_lock: decorazione: |%s|" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" +"check_instance_lock: argomenti: |%(self)s| |%(context)s| |%(instance_id)s|" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "check_instance_lock: bloccato: |%s|" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "check_instance_lock: admin: |%s|" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "check_instance_lock: esecuzione: |%s|" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "check_instance_lock: non esecuzione |%s|" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "L'istanza é stata già creata" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "Istanza %s: in esecuzione..." + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "Istanza %s: esecuzione fallita..." + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "Terminando l'istanza %s" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "Deallocando l'indirizzo %s" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "Provando a distruggere una istanza già distrutta: %s" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "Riavviando l'istanza %s" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "Eccezione interna: %s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "Classe %s non può essere trovata" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "Prelievo %s" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "Esecuzione del comando (sottoprocesso): %s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "Il risultato é %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "debug in callback: %s" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "Pubblicando sulla route %s" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "Dichiarando la coda %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "Dichiarando il centralino %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "Glance image %s" msgstr "" -"Soggetto per il certificato degli utenti, %s per progetto, utente, orario" -#: nova/crypto.py:66 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" -msgstr "Soggetto per il certificato dei progetti, %s per progetto, orario" +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" -#: nova/crypto.py:71 +#: ../nova/virt/xenapi/vm_utils.py:352 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" -msgstr "Soggetto per il certificato delle vpn, %s per progetto, orario" +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" -#: nova/crypto.py:258 +#: ../nova/virt/xenapi/vm_utils.py:361 #, python-format -msgid "Flags path: %s" -msgstr "Percorso dei flags: %s" - -#: nova/exception.py:33 -msgid "Unexpected error while running command." +msgid "Asking xapi to fetch %(url)s as %(access)s" msgstr "" -"Si e' verificato un errore inatteso durante l'esecuzione del comando." -#: nova/exception.py:36 +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Comando: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Eccezione non gestita" +msgid "Looking up vdi %s for PV kernel" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/virt/xenapi/vm_utils.py:397 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s) pubblica (chiave: %s) %s" +msgid "PV Kernel in VDI:%s" +msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "Publishing to route %s" -msgstr "Pubblicando sulla route %s" +msgid "Running pygrub against %s" +msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/virt/xenapi/vm_utils.py:411 #, python-format -msgid "Declaring queue %s" -msgstr "Dichiarando la coda %s" +msgid "Found Xen kernel %s" +msgstr "" -#: nova/fakerabbit.py:89 -#, python-format -msgid "Declaring exchange %s" -msgstr "Dichiarando il centralino %s" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 #, python-format -msgid "Binding %s to %s with key %s" -msgstr "Collegando %s a %s con la chiave %s" +msgid "duplicate name found: %s" +msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/virt/xenapi/vm_utils.py:442 #, python-format -msgid "Getting from %s: %s" +msgid "VDI %s is still available" msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:463 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +msgid "(VM_UTILS) xenserver vm state -> |%s|" msgstr "" -"Il server AMQP su %s:%d non é raggiungibile. Riprovare in %d secondi." -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgid "(VM_UTILS) xenapi power_state -> |%s|" msgstr "" -"Impossibile connettersi al server AMQP dopo %d tentativi. Terminando " -"l'applicazione." - -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Riconnesso alla coda" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "Impossibile prelevare il messaggio dalla coda" +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" -#: nova/rpc.py:155 +#: ../nova/virt/xenapi/vm_utils.py:542 #, python-format -msgid "Initing the Adapter Consumer for %s" -msgstr "Inizializzando il Consumer Adapter per %s" +msgid "Re-scanning SR %s" +msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:567 #, python-format -msgid "received %s" -msgstr "ricevuto %s" +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "no method for message: %s" -msgstr "nessun metodo per il messaggio: %s" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." +msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "No method for message: %s" -msgstr "nessun metodo per il messagggio: %s" +msgid "No VDIs found for VM %s" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "Returning exception %s to caller" -msgstr "Sollevando eccezione %s al chiamante" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" -#: nova/rpc.py:286 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "unpacked context: %s" -msgstr "contesto decompresso: %s" +msgid "Creating VBD for VDI %s ... " +msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Facendo chiamata asincrona..." +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID é %s" +msgid "Plugging VBD %s ... " +msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 #, python-format -msgid "response %s" -msgstr "risposta %s" +msgid "Plugging VBD %s done." +msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:661 #, python-format -msgid "topic is %s" -msgstr "argomento é %s" +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:664 #, python-format -msgid "message %s" -msgstr "messaggio %s" +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" -#: nova/service.py:157 +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 #, python-format -msgid "Starting %s node" -msgstr "Avviando il nodo %s" +msgid "Destroying VBD for VDI %s ... " +msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" -msgstr "Servizio terminato che non ha entry nel database" +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." -msgstr "Il servizio é scomparso dal database, ricreo." +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" -msgstr "Connessione al model server ripristinata!" +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" -#: nova/service.py:208 -msgid "model server went away" -msgstr "model server é scomparso" +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." -msgstr "Datastore %s é irrangiungibile. Riprovare in %d seconds." +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 #, python-format -msgid "Serving %s" -msgstr "Servire %s" - -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" -msgstr "Insieme di FLAGS:" +msgid "Ignoring XenAPI.Failure %s" +msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/xenapi/vm_utils.py:735 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -"Il pidfile %s non esiste. Assicurarsi che il demone é in esecuzione.\n" -#: nova/twistd.py:268 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Starting %s" -msgstr "Avvio di %s" +msgid "Writing partition table %s done." +msgstr "" -#: nova/utils.py:53 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Inner Exception: %s" -msgstr "Eccezione interna: %s" +msgid "Nested received %(queue)s, %(value)s" +msgstr "" -#: nova/utils.py:54 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "Class %s cannot be found" -msgstr "Classe %s non può essere trovata" +msgid "Nested return %s" +msgstr "" -#: nova/utils.py:113 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "Fetching %s" -msgstr "Prelievo %s" +msgid "Received %s" +msgstr "" -#: nova/utils.py:125 -#, python-format -msgid "Running cmd (subprocess): %s" -msgstr "Esecuzione del comando (sottoprocesso): %s" +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" -#: nova/utils.py:138 +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Result was %s" -msgstr "Il risultato é %s" +msgid "No service for id %s" +msgstr "" -#: nova/utils.py:171 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "debug in callback: %s" -msgstr "debug in callback: %s" +msgid "No service for %(host)s, %(binary)s" +msgstr "" -#: nova/utils.py:176 -#, python-format -msgid "Running %s" +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" msgstr "" -#: nova/utils.py:207 +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" +msgid "No floating ip for address %s" msgstr "" -#: nova/utils.py:289 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Invalid backend: %s" +msgid "No address for instance %s" msgstr "" -#: nova/utils.py:300 +#: ../nova/db/sqlalchemy/api.py:961 #, python-format -msgid "backend %s" +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" msgstr "" -#: nova/api/ec2/__init__.py:142 -#, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Authentication Failure: %s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "action: %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "arg: %s\t\tval: %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/db/sqlalchemy/api.py:1514 #, python-format -msgid "NotFound raised: %s" +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/db/sqlalchemy/api.py:1527 #, python-format -msgid "ApiError raised: %s" +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Unexpected error raised: %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Creating new user: %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "Deleting user: %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:2035 +#, python-format +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:2057 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "on instance %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Create project %s managed by %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 #, python-format -msgid "Delete project: %s" +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Adding user %s to project %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "Removing user %s from project %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "Connecting to libvirt: %s" msgstr "" -#: nova/api/ec2/cloud.py:117 -#, python-format -msgid "Generating root CA: %s" +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "Create key pair %s" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Delete key pair %s" +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "%s is not a valid ipProtocol" +msgid "No disk at %s" msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Revoke security group ingress %s" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/virt/libvirt_conn.py:339 +#, python-format +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Authorize security group ingress %s" +msgid "instance %s: rescued" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/virt/libvirt_conn.py:385 #, python-format -msgid "This rule already exists in group %s" +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Create Security Group %s" +msgid "instance %s: is running" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "group %s already exists" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Delete security group %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "Get console output for instance %s" +msgid "virsh said: %r" msgstr "" -#: nova/api/ec2/cloud.py:543 -#, python-format -msgid "Create volume of %s GB" +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "Detach volume %s" +msgid "Contents of file %(fpath)s: %(contents)r" msgstr "" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Release address %s" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "Associate address %s to instance %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "Disassociate address %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/cloud.py:738 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "Reboot instance %r" +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:732 #, python-format -msgid "De-registering image %s" +msgid "instance %s: finished toXML method" msgstr "" -#: nova/api/ec2/cloud.py:783 -#, python-format -msgid "Registered image %s with id %s" +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "attribute not supported: %s" +msgid "Attempted to unfilter instance %s which is not filtered" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format -msgid "invalid id: %s" +msgid "Failed to get metadata for ip: %s" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" +#: ../nova/network/api.py:39 +#, python-format +msgid "Quota exceeeded for %s, tried to allocate address" msgstr "" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Updating image %s publicity" +msgid "Target %s allocated" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/virt/images.py:70 #, python-format -msgid "Failed to get metadata for ip: %s" +msgid "Finished retreving %(url)s -- placed in %(path)s" msgstr "" -#: nova/api/openstack/__init__.py:70 -#, python-format -msgid "Caught error: %s" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/console/manager.py:70 +msgid "Adding console" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/console/manager.py:90 #, python-format -msgid "Compute.api::lock %s" +msgid "Tried to remove non-existant console %(console_id)s." msgstr "" -#: nova/api/openstack/servers.py:199 -#, python-format -msgid "Compute.api::unlock %s" +#: ../nova/api/direct.py:149 +msgid "not available" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Compute.api::get_lock %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/api/openstack/servers.py:224 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "Compute.api::pause %s" +msgid "Generating root CA: %s" msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "Compute.api::unpause %s" +msgid "Create key pair %s" msgstr "" -#: nova/api/openstack/servers.py:246 +#: ../nova/api/ec2/cloud.py:311 #, python-format -msgid "compute.api::suspend %s" +msgid "Delete key pair %s" msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../nova/api/ec2/cloud.py:386 #, python-format -msgid "compute.api::resume %s" +msgid "%s is not a valid ipProtocol" msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "Project can't be created because manager %s doesn't exist" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 -#, python-format -msgid "Project can't be modified because manager %s doesn't exist" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "User \"%s\" not found" +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "Project \"%s\" not found" +msgid "This rule already exists in group %s" msgstr "" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +#: ../nova/api/ec2/cloud.py:492 +#, python-format +msgid "Create Security Group %s" msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../nova/api/ec2/cloud.py:495 #, python-format -msgid "LDAP object for %s doesn't exist" +msgid "group %s already exists" msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/api/ec2/cloud.py:507 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Delete security group %s" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "User %s is already a member of the group %s" +msgid "Create volume of %s GB" msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/ldapdriver.py:528 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "Group at dn %s doesn't exist" +msgid "Detach volume %s" msgstr "" -#: nova/auth/manager.py:259 -#, python-format -msgid "Looking up user: %r" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "Failed authorization for access key %s" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "No user found for access key %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:270 +#: ../nova/api/ec2/cloud.py:780 #, python-format -msgid "Using project name = user name (%s)" +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:275 -#, python-format -msgid "failed authorization: no project named %s (user=%s)" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "No project called %s could be found" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "User %s is not a member of project %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "Invalid signature for user %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +#: ../nova/api/ec2/cloud.py:890 +#, python-format +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/auth/manager.py:408 -#, python-format -msgid "The %s role can not be found" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" msgstr "" -#: nova/auth/manager.py:410 -#, python-format -msgid "The %s role is global only" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/auth/manager.py:412 +#: ../nova/api/ec2/cloud.py:908 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Updating image %s publicity" msgstr "" -#: nova/auth/manager.py:438 +#: ../bin/nova-api.py:52 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../bin/nova-api.py:57 #, python-format -msgid "Created project %s with manager %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/manager.py:523 +#: ../bin/nova-api.py:59 #, python-format -msgid "modifying project %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:553 +#: ../bin/nova-api.py:64 #, python-format -msgid "Remove user %s from project %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:581 +#: ../bin/nova-api.py:69 #, python-format -msgid "Deleting project %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/auth/manager.py:637 +#: ../bin/nova-api.py:83 #, python-format -msgid "Created user %s (admin: %r)" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/auth/manager.py:645 +#: ../bin/nova-api.py:89 #, python-format -msgid "Deleting user %s" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/auth/manager.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Access Key change for user %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/manager.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Secret Key change for user %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/manager.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/manager.py:708 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "No vpn data for project %s" +msgid "Argument %s is required." msgstr "" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "" - -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 +#, python-format +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Launching VPN for %s" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/api.py:67 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Instance %d has no host" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:167 +#, python-format +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Going to run %s instances..." +msgid "Instance %s: booted" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Instance not present %s" msgstr "" -#: nova/compute/api.py:279 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Going to try and terminate %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/api.py:283 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/api.py:288 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Instance %d is already being terminated" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/disk.py:71 -#, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Failed to load partition: %s" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Unknown instance type: %s" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/image/s3.py:99 +#, python-format +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "instance %s: Failed to spawn" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Terminating instance %s" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Disassociating address %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Deallocating address %s" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Rebooting instance %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: snapshotting" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "instance %s: rescuing" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "instance %s: unrescuing" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: unpausing" +msgid "User %s already exists" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: suspending" +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: resuming" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "instance %s: locking" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "instance %s: unlocking" +msgid "User \"%s\" not found" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "instance %s: getting locked state" +msgid "Project \"%s\" not found" msgstr "" -#: nova/compute/manager.py:462 -#, python-format -msgid "instance %s: attaching volume %s to %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Got exception: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/compute/monitor.py:259 #, python-format msgid "updating %s..." msgstr "" -#: nova/compute/monitor.py:289 +#: ../nova/compute/monitor.py:289 msgid "unexpected error during update" msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:412 +#: ../nova/compute/monitor.py:414 msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/compute/monitor.py:429 #, python-format msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "" - -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/san.py:67 #, python-format -msgid "No service for id %s" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No service for %s, %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No floating ip for address %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/console/xvp.py:116 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No network for instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/db/sqlalchemy/api.py:1401 -#, python-format -msgid "Volume %s not found" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/db/sqlalchemy/api.py:1426 -#, python-format -msgid "No target id found for volume %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 -#, python-format -msgid "No secuity group rule with id %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 -#, python-format -msgid "No project with id %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/disk.py:69 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "Failed to load partition: %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/disk.py:124 #, python-format -msgid "Image %s could not be found" +msgid "nbd device %s did not show up" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/disk.py:128 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/network/linux_net.py:176 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Starting VLAN inteface %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/linux_net.py:186 -#, python-format -msgid "Starting Bridge interface for %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Starting VM %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Killing dnsmasq threw %s" -msgstr "" - -#: nova/network/manager.py:135 -msgid "setting network host" +msgid "Started VM %s " msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "Leasing IP %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to create VM %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "IP %s released that isn't associated" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "IP %s released that was not leased" +msgid "New disk drive path is %s" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Unknown S3 value type %r" +msgid "Created disk for %s" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:253 +#, python-format +msgid "Creating nic for %s " msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "List keys for bucket %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Creating bucket %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Deleting bucket %s" +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Getting object: %s / %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Putting object: %s / %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "Deleting object: %s / %s" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/compute/api.py:71 #, python-format -msgid "Starting image upload: %s" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/objectstore/handler.py:420 +#: ../nova/compute/api.py:77 #, python-format -msgid "Not authorized to update attributes of image %s" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:428 +#: ../nova/compute/api.py:97 #, python-format -msgid "Toggling publicity flag of image %s %r" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/compute/api.py:99 #, python-format -msgid "Updating user fields on image %s" +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:447 -#, python-format -msgid "Unauthorized attempt to delete image %s" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/compute/api.py:160 #, python-format -msgid "Deleted image: %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +#: ../nova/compute/api.py:187 +#, python-format +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/compute/api.py:292 +#, python-format +msgid "Going to try to terminate %s" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/compute/api.py:296 #, python-format -msgid "Casting to %s %s for %s" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/compute/api.py:301 +#, python-format +msgid "Instance %d is already being terminated" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/compute/api.py:481 +#, python-format +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/rpc.py:98 +#, python-format +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/rpc.py:103 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" +"Impossibile connettersi al server AMQP dopo %d tentativi. Terminando " +"l'applicazione." + +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Riconnesso alla coda" -#: nova/tests/test_compute.py:104 +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "Impossibile prelevare il messaggio dalla coda" + +#: ../nova/rpc.py:159 #, python-format -msgid "Running instances: %s" -msgstr "" +msgid "Initing the Adapter Consumer for %s" +msgstr "Inizializzando il Consumer Adapter per %s" -#: nova/tests/test_compute.py:110 +#: ../nova/rpc.py:178 #, python-format -msgid "After terminating instances: %s" -msgstr "" +msgid "received %s" +msgstr "ricevuto %s" -#: nova/tests/test_rpc.py:89 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Nested received %s, %s" -msgstr "" +msgid "no method for message: %s" +msgstr "nessun metodo per il messaggio: %s" -#: nova/tests/test_rpc.py:94 +#: ../nova/rpc.py:192 #, python-format -msgid "Nested return %s" -msgstr "" +msgid "No method for message: %s" +msgstr "nessun metodo per il messagggio: %s" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/rpc.py:253 #, python-format -msgid "Received %s" -msgstr "" +msgid "Returning exception %s to caller" +msgstr "Sollevando eccezione %s al chiamante" -#: nova/tests/test_volume.py:162 +#: ../nova/rpc.py:294 #, python-format -msgid "Target %s allocated" -msgstr "" +msgid "unpacked context: %s" +msgstr "contesto decompresso: %s" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" -msgstr "" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Facendo chiamata asincrona..." -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:316 #, python-format -msgid "Instance %s Not Found" -msgstr "" +msgid "MSG_ID is %s" +msgstr "MSG_ID é %s" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:364 #, python-format -msgid "Attempt to create duplicate vm %s" -msgstr "" +msgid "response %s" +msgstr "risposta %s" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:373 #, python-format -msgid "Starting VM %s " -msgstr "" +msgid "topic is %s" +msgstr "argomento é %s" -#: nova/virt/hyperv.py:150 +#: ../nova/rpc.py:374 #, python-format -msgid "Started VM %s " -msgstr "" +msgid "message %s" +msgstr "messaggio %s" -#: nova/virt/hyperv.py:152 +#: ../nova/volume/driver.py:78 #, python-format -msgid "spawn vm failed: %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to create VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created VM %s..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:188 -#, python-format -msgid "Set memory for vm %s..." +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:198 -#, python-format -msgid "Set vcpus for vm %s..." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:414 #, python-format -msgid "New disk drive path is %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:247 -#, python-format -msgid "Failed to add vhd file to VM %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/wsgi.py:68 #, python-format -msgid "Created disk for %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:273 -#, python-format -msgid "Failed creating port for %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:275 -#, python-format -msgid "Created switch port %s on switch %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Created nic for %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/fake.py:239 #, python-format -msgid "WMI job failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/network/manager.py:153 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to destroy vm %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/network/manager.py:216 #, python-format -msgid "Del: disk %s vm %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/network/manager.py:220 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/network/manager.py:228 #, python-format -msgid "duplicate name found: %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:233 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:241 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:244 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "No disk at %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: rebooted" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "instance %s: rescued" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "instance %s: is running" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: booted" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Contents of file %s: %r" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: Creating image" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:589 -#, python-format -msgid "instance %s: finished toXML method" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Got exception: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "%s: _db_content => %s" -msgstr "" - -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "Calling %s %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Calling getter %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Found no network for bridge %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Created VM %s as %s." +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "VBD not found in instance %s" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:277 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:279 #, python-format -msgid "VDI %s is still available" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:287 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:289 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "VHD %s has parent %s" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 -#, python-format -msgid "Re-scanning SR %s" +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 -#, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:414 #, python-format -msgid "No VDIs found for VM %s" +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Starting VM %s..." +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Spawning VM %s created %s." +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Instance %s: booted" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Instance not present %s" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Starting snapshot for VM %s" +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:592 #, python-format -msgid "suspend: instance not present %s" +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:650 #, python-format -msgid "resume: instance not present %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Instance not found %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Introducing %s..." +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Introduced %s as %s." +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/auth/manager.py:673 +#, python-format +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/service.py:161 #, python-format -msgid "Forgetting SR %s ... " +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" +msgstr "Servizio terminato che non ha entry nel database" + +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." +msgstr "Il servizio é scomparso dal database, ricreo." + +#: ../nova/service.py:207 +msgid "Recovered model server connection!" +msgstr "Connessione al model server ripristinata!" + +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "model server é scomparso" + +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Forgetting SR %s done." +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Unable to introduce VDI on SR %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Detach_volume: %s, %s" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Unable to locate volume %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Unable to detach volume %s" +msgid "Creating new user: %s" msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "Deleting user: %s" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" +#: ../nova/api/ec2/admin.py:137 +#, python-format +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/api.py:97 -msgid "Volume is already attached" +#: ../nova/api/ec2/admin.py:141 +#, python-format +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/api.py:103 -msgid "Volume is already detached" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "volume group %s doesn't exist" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/driver.py:210 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "FAKE AOE: %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Delete project: %s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "Re-exporting %s volumes" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: creating" +msgid "Removing user %(user)s from project %(project)s" msgstr "" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Comando: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s) pubblica (chiave: %s) %s" -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "" - -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" - -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "Il server AMQP su %s:%d non é raggiungibile. Riprovare in %d secondi." -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "" +#~ msgid "Binding %s to %s with key %s" +#~ msgstr "Collegando %s a %s con la chiave %s" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "" +#~ msgid "Starting %s node" +#~ msgstr "Avviando il nodo %s" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "" +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "Datastore %s é irrangiungibile. Riprovare in %d seconds." diff --git a/po/ja.po b/po/ja.po index 2cea24640..87065d778 100644 --- a/po/ja.po +++ b/po/ja.po @@ -7,2137 +7,3335 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-01-14 09:04+0000\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-03-29 07:27+0000\n" "Last-Translator: Koji Iida \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-30 05:22+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 -msgid "Filename of root CA" -msgstr "ルートCAのファイル名" - -#: nova/crypto.py:49 -msgid "Filename of private key" -msgstr "プライベートキーのファイル名" - -#: nova/crypto.py:51 -msgid "Filename of root Certificate Revokation List" -msgstr "ルート証明書失効リストのファイル名" - -#: nova/crypto.py:53 -msgid "Where we keep our keys" -msgstr "キーを格納するパス" - -#: nova/crypto.py:55 -msgid "Where we keep our root CA" -msgstr "ルートCAを格納するパス" - -#: nova/crypto.py:57 -msgid "Should we use a CA for each project?" -msgstr "プロジェクトごとにCAを使用するか否かのフラグ" - -#: nova/crypto.py:61 -#, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" -msgstr "ユーザの証明書のサブジェクト、%s はプロジェクト、ユーザ、タイムスタンプ" - -#: nova/crypto.py:66 -#, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" -msgstr "プロジェクトの証明書のサブジェクト、%s はプロジェクト、およびタイムスタンプ" - -#: nova/crypto.py:71 -#, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" -msgstr "vpnの証明書のサブジェクト、%sはプロジェクト、およびタイムスタンプ" - -#: nova/crypto.py:258 -#, python-format -msgid "Flags path: %s" -msgstr "Flags のパス: %s" +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "適切なホストが見つかりません。" -#: nova/exception.py:33 +#: ../nova/exception.py:33 msgid "Unexpected error while running command." msgstr "コマンド実行において予期しないエラーが発生しました。" -#: nova/exception.py:36 +#: ../nova/exception.py:36 #, python-format msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"コマンド: %s\n" -"終了コード: %s\n" -"標準出力: %r\n" -"標準エラー出力: %r" - -#: nova/exception.py:86 +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 msgid "Uncaught exception" msgstr "キャッチされなかった例外" -#: nova/fakerabbit.py:48 +#: ../nova/volume/api.py:45 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s) パブリッシュ (key: %s) %s" +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "サイズ %(size)sG のボリュームの作成を行おうとしましたが、%(pid)sのクオータを超えています。" -#: nova/fakerabbit.py:53 +#: ../nova/volume/api.py:47 #, python-format -msgid "Publishing to route %s" -msgstr "ルート %s へパブリッシュ" +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "ボリュームのクオータを超えています。%sの大きさのボリュームは作成できません。" -#: nova/fakerabbit.py:83 -#, python-format -msgid "Declaring queue %s" -msgstr "queue %s の宣言" +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "ボリュームのステータス(status)が available でなければなりません。" -#: nova/fakerabbit.py:89 -#, python-format -msgid "Declaring exchange %s" -msgstr "exchange %s の宣言" +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "ボリュームは既にアタッチされています(attached)。" -#: nova/fakerabbit.py:95 -#, python-format -msgid "Binding %s to %s with key %s" -msgstr "%s を %s にキー %s でバインドします。" +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "ボリュームは既にデタッチされています(detached)。" -#: nova/fakerabbit.py:120 -#, python-format -msgid "Getting from %s: %s" -msgstr "%s から %s を取得" +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" -#: nova/rpc.py:92 -#, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "AMQPサーバ %s:%d に接続できません。 %d 秒後に再度試みます。" +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" -#: nova/rpc.py:99 +#: ../nova/api/openstack/servers.py:152 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "AMQPサーバーに %d 回接続を試みましたが、接続できませんでした。シャットダウンします。" - -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "キューに再接続しました。" +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "イメージ %(_image_id)s に対するプロパティ %(param)s が見つかりません" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "キューからメッセージの取得に失敗しました。" - -#: nova/rpc.py:155 -#, python-format -msgid "Initing the Adapter Consumer for %s" -msgstr "%sのアダプターコンシューマー(Adapter Consumer)を初期化しています。" +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "キーペアが定義されていません。" -#: nova/rpc.py:170 +#: ../nova/api/openstack/servers.py:238 #, python-format -msgid "received %s" -msgstr "受信: %s" +msgid "Compute.api::lock %s" +msgstr "例外: Compute.api::lock %s" -#: nova/rpc.py:183 +#: ../nova/api/openstack/servers.py:253 #, python-format -msgid "no method for message: %s" -msgstr "メッセージ %s に対するメソッドが存在しません。" +msgid "Compute.api::unlock %s" +msgstr "例外: Compute.api::unlock %s" -#: nova/rpc.py:184 +#: ../nova/api/openstack/servers.py:267 #, python-format -msgid "No method for message: %s" -msgstr "メッセージ %s に対するメソッドが存在しません。" +msgid "Compute.api::get_lock %s" +msgstr "例外: Compute.api::get_lock %s" -#: nova/rpc.py:245 +#: ../nova/api/openstack/servers.py:281 #, python-format -msgid "Returning exception %s to caller" -msgstr "呼び出し元に 例外 %s を返却します。" +msgid "Compute.api::reset_network %s" +msgstr "" -#: nova/rpc.py:286 +#: ../nova/api/openstack/servers.py:292 #, python-format -msgid "unpacked context: %s" -msgstr "context %s をアンパックしました。" - -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "非同期呼び出しを実行します…" +msgid "Compute.api::pause %s" +msgstr "例外: Compute.api::pause %s" -#: nova/rpc.py:308 +#: ../nova/api/openstack/servers.py:303 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_IDは %s です。" +msgid "Compute.api::unpause %s" +msgstr "例外: Compute.api::unpause %s" -#: nova/rpc.py:356 +#: ../nova/api/openstack/servers.py:314 #, python-format -msgid "response %s" -msgstr "応答 %s" +msgid "compute.api::suspend %s" +msgstr "例外: compute.api::suspend %s" -#: nova/rpc.py:365 +#: ../nova/api/openstack/servers.py:325 #, python-format -msgid "topic is %s" -msgstr "topic は %s です。" +msgid "compute.api::resume %s" +msgstr "例外: compute.api::resume %s" -#: nova/rpc.py:366 -#, python-format -msgid "message %s" -msgstr "メッセージ %s" +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "引数の数が異なります。" -#: nova/service.py:157 +#: ../nova/twistd.py:209 #, python-format -msgid "Starting %s node" -msgstr "ノード %s を開始します。" - -#: nova/service.py:169 -msgid "Service killed that has no database entry" -msgstr "データベースにエントリの存在しないサービスを終了します。" - -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." -msgstr "サービスデータベースオブジェクトが消滅しました。再作成します。" - -#: nova/service.py:202 -msgid "Recovered model server connection!" -msgstr "モデルサーバへの接続を復旧しました。" - -#: nova/service.py:208 -msgid "model server went away" -msgstr "モデルサーバが消滅しました。" +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "pidfile %s が存在しません。デーモンは実行中ですか?\n" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 -#, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." -msgstr "データストア %s に接続できません。 %d 秒後に再接続します。" +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "そのようなプロセスはありません" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/twistd.py:230 ../nova/service.py:224 #, python-format msgid "Serving %s" msgstr "%s サービスの開始" -#: nova/service.py:234 nova/twistd.py:264 +#: ../nova/twistd.py:262 ../nova/service.py:225 msgid "Full set of FLAGS:" msgstr "FLAGSの一覧:" -#: nova/twistd.py:211 -#, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" -msgstr "pidfile %s が存在しません。デーモンは実行中ですか?\n" - -#: nova/twistd.py:268 +#: ../nova/twistd.py:266 #, python-format msgid "Starting %s" msgstr "%s を開始します。" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 #, python-format -msgid "Inner Exception: %s" -msgstr "内側で発生した例外: %s" +msgid "Instance %s not found" +msgstr "インスタンス %s が見つかりません。" -#: nova/utils.py:54 +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 #, python-format -msgid "Class %s cannot be found" -msgstr "クラス %s が見つかりません。" +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/volumeops.py:69 #, python-format -msgid "Fetching %s" -msgstr "ファイルをフェッチ: %s" +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/volumeops.py:80 #, python-format -msgid "Running cmd (subprocess): %s" -msgstr "コマンド実行(subprocess): %s" +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/xenapi/volumeops.py:91 #, python-format -msgid "Result was %s" -msgstr "コマンド実行結果: %s" +msgid "Unable to attach volume to instance %s" +msgstr "インスタンス %s にボリュームをアタッチできません。" -#: nova/utils.py:171 +#: ../nova/virt/xenapi/volumeops.py:93 #, python-format -msgid "debug in callback: %s" -msgstr "コールバック中のデバッグ: %s" +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "インスタンス %(instance_name)s にマウントポイント %(mountpoint)s をアタッチしました。" -#: nova/utils.py:176 +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 #, python-format -msgid "Running %s" -msgstr "コマンド実行: %s" +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/xenapi/volumeops.py:112 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "IPを取得できません。127.0.0.1 を %s として使います。" +msgid "Unable to locate volume %s" +msgstr "ボリューム %s の存在が確認できません。" -#: nova/utils.py:289 +#: ../nova/virt/xenapi/volumeops.py:120 #, python-format -msgid "Invalid backend: %s" -msgstr "不正なバックエンドです: %s" +msgid "Unable to detach volume %s" +msgstr "ボリューム %s のデタッチができません。" -#: nova/utils.py:300 +#: ../nova/virt/xenapi/volumeops.py:127 #, python-format -msgid "backend %s" -msgstr "バックエンドは %s です。" +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "インスタンス %(instance_name)s からマウントポイント %(mountpoint)s をデタッチしました。" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "認証失敗の回数が多すぎます。" - -#: nova/api/ec2/__init__.py:142 +#: ../nova/compute/instance_types.py:41 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." -msgstr "アクセスキー %s は %d 回認証に失敗したため、%d 分間ロックされます。" +msgid "Unknown instance type: %s" +msgstr "%s は未知のインスタンスタイプです。" + +#: ../nova/crypto.py:46 +msgid "Filename of root CA" +msgstr "ルートCAのファイル名" + +#: ../nova/crypto.py:49 +msgid "Filename of private key" +msgstr "プライベートキーのファイル名" + +#: ../nova/crypto.py:51 +msgid "Filename of root Certificate Revokation List" +msgstr "ルート証明書失効リストのファイル名" + +#: ../nova/crypto.py:53 +msgid "Where we keep our keys" +msgstr "キーを格納するパス" + +#: ../nova/crypto.py:55 +msgid "Where we keep our root CA" +msgstr "ルートCAを格納するパス" + +#: ../nova/crypto.py:57 +msgid "Should we use a CA for each project?" +msgstr "プロジェクトごとにCAを使用するか否かのフラグ" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/crypto.py:61 #, python-format -msgid "Authentication Failure: %s" -msgstr "%s の認証に失敗しました。" +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "ユーザの証明書のサブジェクト、%s はプロジェクト、ユーザ、タイムスタンプ" -#: nova/api/ec2/__init__.py:190 +#: ../nova/crypto.py:66 #, python-format -msgid "Authenticated Request For %s:%s)" -msgstr "リクエストを認証しました: %s:%s" +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "プロジェクトの証明書のサブジェクト、%s はプロジェクト、およびタイムスタンプ" -#: nova/api/ec2/__init__.py:227 +#: ../nova/crypto.py:71 #, python-format -msgid "action: %s" -msgstr "アクション(action): %s" +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "vpnの証明書のサブジェクト、%sはプロジェクト、およびタイムスタンプ" -#: nova/api/ec2/__init__.py:229 +#: ../nova/crypto.py:258 #, python-format -msgid "arg: %s\t\tval: %s" -msgstr "引数(arg): %s\t値(val): %s" +msgid "Flags path: %s" +msgstr "Flags のパス: %s" -#: nova/api/ec2/__init__.py:301 +#: ../nova/scheduler/manager.py:69 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" -msgstr "許可されていないリクエスト: controller=%s, action %sです。" +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/compute/manager.py:78 #, python-format -msgid "NotFound raised: %s" -msgstr "NotFound 発生: %s" +msgid "check_instance_lock: decorating: |%s|" +msgstr "check_instance_lock: decorating: |%s|" -#: nova/api/ec2/__init__.py:342 +#: ../nova/compute/manager.py:80 #, python-format -msgid "ApiError raised: %s" -msgstr "APIエラー発生: %s" +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/compute/manager.py:84 #, python-format -msgid "Unexpected error raised: %s" -msgstr "予期しないエラー発生: %s" +msgid "check_instance_lock: locked: |%s|" +msgstr "check_instance_lock: locked: |%s|" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." -msgstr "未知のエラーが発生しました。再度リクエストを実行してください。" +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "check_instance_lock: admin: |%s|" -#: nova/api/ec2/admin.py:84 +#: ../nova/compute/manager.py:91 #, python-format -msgid "Creating new user: %s" -msgstr "Creating new user: 新しいユーザ %s を作成します。" +msgid "check_instance_lock: executing: |%s|" +msgstr "check_instance_lock: executing: |%s|" -#: nova/api/ec2/admin.py:92 +#: ../nova/compute/manager.py:95 #, python-format -msgid "Deleting user: %s" -msgstr "Deleting user: ユーザ %s を削除します。" +msgid "check_instance_lock: not executing |%s|" +msgstr "check_instance_lock: not executing |%s|" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "インスタンスは既に生成されています。" -#: nova/api/ec2/admin.py:114 +#: ../nova/compute/manager.py:180 #, python-format -msgid "Adding role %s to user %s for project %s" -msgstr "Adding role: ロール %s をユーザ %s、プロジェクト %s に追加します。" +msgid "instance %s: starting..." +msgstr "インスタンス %s を開始します。" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 #, python-format -msgid "Adding sitewide role %s to user %s" -msgstr "Adding sitewide role: サイトワイドのロール %s をユーザ %s に追加します。" +msgid "instance %s: Failed to spawn" +msgstr "インスタンス %s の起動に失敗しました。" -#: nova/api/ec2/admin.py:122 +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 #, python-format -msgid "Removing role %s from user %s for project %s" -msgstr "Removing role: ロール %s をユーザ %s プロジェクト %s から削除します。" +msgid "Terminating instance %s" +msgstr "Terminating instance: インスタンス %s を終了します。" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/compute/manager.py:255 #, python-format -msgid "Removing sitewide role %s from user %s" -msgstr "Removing sitewide role: サイトワイドのロール %s をユーザ %s から削除します。" +msgid "Deallocating address %s" +msgstr "アドレス %s の割当を解除(deallocate)します。" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" -msgstr "operation は add または remove の何れかである必要があります。" +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "既に消去済みのインスタンス%sを消去しようとしました。" -#: nova/api/ec2/admin.py:142 +#: ../nova/compute/manager.py:282 #, python-format -msgid "Getting x509 for user: %s on project: %s" -msgstr "Getting X509: x509の取得: ユーザ %s, プロジェクト %s" +msgid "Rebooting instance %s" +msgstr "Rebooting instance: インスタンス %s を再起動します。" -#: nova/api/ec2/admin.py:159 +#: ../nova/compute/manager.py:287 #, python-format -msgid "Create project %s managed by %s" -msgstr "Create project: プロジェクト %s (%s により管理される)を作成します。" +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" +"実行していないインスタンスを再起動しようとしました: %(instance_id)s (state: %(state)s 期待される状態: " +"%(running)s)" -#: nova/api/ec2/admin.py:170 +#: ../nova/compute/manager.py:311 #, python-format -msgid "Delete project: %s" -msgstr "Delete project: プロジェクト %s を削除しました。" +msgid "instance %s: snapshotting" +msgstr "snapshotting: インスタンス %s のスナップショットを取得します。" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/compute/manager.py:316 #, python-format -msgid "Adding user %s to project %s" -msgstr "Adding user: ユーザ %s をプロジェクト %s に追加します。" +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" +"実行していないインスタンスのスナップショットを取得しようとしました: %(instance_id)s (state: %(state)s " +"期待される状態: %(running)s)" -#: nova/api/ec2/admin.py:188 +#: ../nova/compute/manager.py:332 #, python-format -msgid "Removing user %s from project %s" -msgstr "Removing user: ユーザ %s をプロジェクト %s から削除します。" +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" +"実行していないインスタンスのパスワードをリセットしようとしました: %(instance_id)s (state: %(instance_state)s " +"期待される状態: %(expected_state)s)" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/compute/manager.py:335 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" -msgstr "サポートされていないAPIリクエストです。 controller = %s,action = %s" +msgid "instance %s: setting admin password" +msgstr "インスタンス %s: admin password をセットします" -#: nova/api/ec2/cloud.py:117 +#: ../nova/compute/manager.py:353 #, python-format -msgid "Generating root CA: %s" -msgstr "ルートCA %s を生成しています。" +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" +"実行していないインスタンスにファイルをインジェクトしようとしました: %(instance_id)s (state: " +"%(instance_state)s 期待される状態: %(expected_state)s)" -#: nova/api/ec2/cloud.py:277 +#: ../nova/compute/manager.py:362 #, python-format -msgid "Create key pair %s" -msgstr "Create key pair: キーペア %s を作成します。" +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "インスタンス %(nm)s: ファイルを %(plain_path)s にインジェクトします" -#: nova/api/ec2/cloud.py:285 +#: ../nova/compute/manager.py:372 #, python-format -msgid "Delete key pair %s" -msgstr "Delete key pair: キーペア %s を削除します。" +msgid "instance %s: rescuing" +msgstr "Rescuing: インスタンス %s をレスキューします。" -#: nova/api/ec2/cloud.py:357 +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "Unrescuing: インスタンス %s をアンレスキューします。" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "pausing: インスタンス %s を一時停止します。" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "unpausing: インスタンス %s の一時停止を解除します。" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "retrieving diagnostics: インスタンス %s の診断情報を取得します。" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "suspending: インスタンス %s をサスペンドします。" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "resuming: インスタンス %s をレジュームします。" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "locking: インスタンス %s をロックします。" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "unlocking: インスタンス %s のロックを解除します。" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "getting locked state: インスタンス %s のロックを取得しました。" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "インスタンス %s: ネットワークをリセットします" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "Get console output: インスタンス %s のコンソール出力を取得します。" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "インスタンス %s: ajax consoleを接続します" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" +"インスタンス %(instance_id)s: ボリューム %(volume_id)s を %(mountpoint)s にアタッチします" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "インスタンス %(instance_id)s: %(mountpoint)s へのアタッチに失敗しました。削除します。" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" +"インスタンス%(instance_id)s のマウントポイント %(mp)s からボリューム %(volume_id)s をデタッチします。" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "ボリュームを未知のインスタンス %s からデタッチします。" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "ホスト %s は稼働していません。" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "全てのホストにコア数の空きがありません。" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "ホスト %s は利用可能ではありません。" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "全てのホストが利用可能な容量(gigabytes)に達しています。" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "全てのホストがネットワークの最大数に達しています。" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "%s 個のボリュームを再エクスポートします。" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "ボリューム %s のエキスポートをスキップします。" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "ボリューム%sを作成します。" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "ボリューム %(vol_name)s: サイズ %(vol_size)sG のlvを作成します。" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "ボリューム %s をエクスポートします。" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "ボリューム %s の作成に成功しました。" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "ボリュームはアタッチされたままです。" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "ボリュームはこのノードのローカルではありません。" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "ボリューム %s のエクスポートを解除します。" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "ボリューム %s を削除します。" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "ボリューム %s の削除に成功しました。" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "NotImplemented 例外を発生させます。" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "xenapi.fake には %s が実装されていません。" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "%(localname)s %(impl)s を呼び出します。" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "getter %s をコールします。" + +#: ../nova/virt/xenapi/fake.py:406 +#, python-format +msgid "" +"xenapi.fake does not have an implementation for %s or it has been called " +"with the wrong number of arguments" +msgstr "xenapi.fake に %s に関する実装がないか、引数の数が誤っています。" + +#: ../nova/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "インスタンスのテストには実際の仮想環境が必要です。(fakeでは実行できません。)" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "インスタンス %s が実行するまで監視します…" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "ハイパーバイザへの接続に失敗しました。" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "VLANインタフェース %s を開始します。" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "%s 用のブリッジインタフェースを開始します。" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "dnsmasqに対してhupを送信しましたが %s が発生しました。" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "Pid %d は無効です。dnsmasqを再実行します。" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "dnsmasq をkillしましたが、 %s が発生しました。" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "内側で発生した例外: %s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "クラス %s が見つかりません。" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "ファイルをフェッチ: %s" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "コマンド実行(subprocess): %s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "コマンド実行結果: %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "コマンド(SSH)を実行: %s" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "コールバック中のデバッグ: %s" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "コマンド実行: %s" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "リンクローカルアドレスが見つかりません: %s" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "不正なバックエンドです: %s" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "バックエンドは %s です。" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "ルート %s へパブリッシュ" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "queue %s の宣言" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "exchange %s の宣言" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "VM %s を作成します。" + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "インスタンス %s のVBDが見つかりません。" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "VBD %s の unplug に失敗しました。" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "VBD %s の削除に失敗しました。" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:332 +#, python-format +msgid "Glance image %s" +msgstr "" + +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 +#, python-format +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" +msgstr "PV kernelのvdi %s を取得します。" + +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:405 +#, python-format +msgid "Running pygrub against %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "Xen Kernel %s が見つかりました。" + +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" +msgstr "%s は重複しています。" + +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" +msgstr "VDI %s は依然として存在しています。" + +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "(VM_UTILS) xenserver の vm state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:465 +#, python-format +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "(VM_UTILS) xenapi の power_state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "SR %s を再スキャンします。" + +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:574 +#, 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:590 +#, python-format +msgid "No VDIs found for VM %s" +msgstr "VM %s にVDIが存在しません。" + +#: ../nova/virt/xenapi/vm_utils.py:594 +#, python-format +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 +#, python-format +msgid "Creating VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:747 +#, python-format +msgid "Writing partition table %s done." +msgstr "" + +#: ../nova/tests/test_rpc.py:89 +#, python-format +msgid "Nested received %(queue)s, %(value)s" +msgstr "" + +#: ../nova/tests/test_rpc.py:95 +#, python-format +msgid "Nested return %s" +msgstr "ネストした戻り値: %s" + +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 +#, python-format +msgid "Received %s" +msgstr "%s を受信。" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "Request context を空とすることは非推奨です。" + +#: ../nova/db/sqlalchemy/api.py:133 +#, python-format +msgid "No service for id %s" +msgstr "id %s のserviceが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:251 +#, python-format +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "fixed ipが一つも定義されていません。" + +#: ../nova/db/sqlalchemy/api.py:608 +#, python-format +msgid "No floating ip for address %s" +msgstr "アドレス %s の floating ip が存在しません。" + +#: ../nova/db/sqlalchemy/api.py:629 +#, python-format +msgid "No address for instance %s" +msgstr "インスタンス %s に対するアドレスが見つかりません。" + +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" +msgstr "ユーザ %(user_id)s 名前 %(name)s のキーペアがありません。" + +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" +msgstr "id %s に該当するnetwork が存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "ネットワークが定義されていません。" + +#: ../nova/db/sqlalchemy/api.py:1115 +#, python-format +msgid "No network for bridge %s" +msgstr "ブリッジ %s に該当する network が存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 +#, python-format +msgid "No network for instance %s" +msgstr "instance %s に該当する network が存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1277 +#, python-format +msgid "Token %s does not exist" +msgstr "トークン %s が存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1302 +#, python-format +msgid "No quota for project_id %s" +msgstr "project_id %s に対するクオータが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" +msgstr "ボリューム %s が見つかりません。" + +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" +msgstr "ボリューム %s に関してエクスポートされているデバイスがありません。" + +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" +msgstr "ボリューム %s に対する target idが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1572 +#, python-format +msgid "No security group with id %s" +msgstr "id %s のセキュリティグループが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" +msgstr "プロジェクト %(project_id)s に対する名称 %(group_name)s のセキュリティグループが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1682 +#, python-format +msgid "No secuity group rule with id %s" +msgstr "id %s のセキュリティグループルールが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1756 +#, python-format +msgid "No user for id %s" +msgstr "id %s のユーザが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1772 +#, python-format +msgid "No user for access key %s" +msgstr "アクセスキー %s に該当するユーザが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1834 +#, python-format +msgid "No project with id %s" +msgstr "id %s のプロジェクトが存在しません。" + +#: ../nova/db/sqlalchemy/api.py:1979 +#, python-format +msgid "No console pool with id %(pool_id)s" +msgstr "Id %(pool_id)s のコンソールプールがありません。" + +#: ../nova/db/sqlalchemy/api.py:1996 +#, python-format +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2035 +#, python-format +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "プール %(pool_id)s に %(instance_id)s のコンソールがありません。" + +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2058 +#, python-format +msgid "No console with id %(console_id)s %(idesc)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:160 +#, python-format +msgid "Checking state of %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:165 +#, python-format +msgid "Current state of %(name)s was %(state)s." +msgstr "" + +#: ../nova/virt/libvirt_conn.py:183 +#, python-format +msgid "Connecting to libvirt: %s" +msgstr "libvirt %s へ接続します。" + +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "libvirtへの接続が切れています。" + +#: ../nova/virt/libvirt_conn.py:258 +#, python-format +msgid "instance %(instance_name)s: deleting instance files %(target)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:283 +#, python-format +msgid "Invalid device path %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:313 +#, python-format +msgid "No disk at %s" +msgstr "%s にディスクが存在しません。" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "インスタンスのスナップショットは現在libvirtに対してはサポートされていません。" + +#: ../nova/virt/libvirt_conn.py:336 +#, python-format +msgid "instance %s: rebooted" +msgstr "インスタンス%s: 再起動しました。" + +#: ../nova/virt/libvirt_conn.py:339 +#, python-format +msgid "_wait_for_reboot failed: %s" +msgstr "_wait_for_reboot 失敗: %s" + +#: ../nova/virt/libvirt_conn.py:382 +#, python-format +msgid "instance %s: rescued" +msgstr "インスタンス %s: rescued" + +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" +msgstr "_wait_for_rescue 失敗: %s" + +#: ../nova/virt/libvirt_conn.py:411 +#, python-format +msgid "instance %s: is running" +msgstr "インスタンス %s を起動中です。" + +#: ../nova/virt/libvirt_conn.py:422 +#, python-format +msgid "instance %s: booted" +msgstr "インスタンス %s: 起動しました。" + +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 +#, python-format +msgid "instance %s: failed to boot" +msgstr "インスタンス %s の起動に失敗しました。" + +#: ../nova/virt/libvirt_conn.py:436 +#, python-format +msgid "virsh said: %r" +msgstr "virsh の出力: %r" + +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "デバイスです。" + +#: ../nova/virt/libvirt_conn.py:448 +#, python-format +msgid "data: %(data)r, fpath: %(fpath)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:456 +#, python-format +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:563 +#, python-format +msgid "instance %s: Creating image" +msgstr "インスタンス %s のイメージを生成します。" + +#: ../nova/virt/libvirt_conn.py:646 +#, python-format +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:649 +#, python-format +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" +msgstr "" + +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 +#, python-format +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" +msgstr "" + +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 +#, python-format +msgid "instance %s: starting toXML method" +msgstr "インスタンス %s: toXML メソッドを開始。" + +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" +msgstr "インスタンス %s: toXML メソッドを完了。" + +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:1225 +#, python-format +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" + +#: ../nova/api/ec2/metadatarequesthandler.py:76 +#, python-format +msgid "Failed to get metadata for ip: %s" +msgstr "ip %s に対するメタデータの取得に失敗しました。" + +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "シングルトンをインスタンス化しようとしました。" + +#: ../nova/network/api.py:39 +#, python-format +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "アドレスを割り当てようとしましたが、%s のクオータを超えました。" + +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "アドレスのクオータを超えました。これ以上アドレスを割り当てることはできません。" + +#: ../nova/tests/test_volume.py:162 +#, python-format +msgid "Target %s allocated" +msgstr "ターゲット %s をアロケートしました。" + +#: ../nova/virt/images.py:70 +#, python-format +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" + +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "予備の(fallback)スケジューラを実装する必要があります。" + +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" + +#: ../nova/console/manager.py:90 +#, python-format +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" + +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" + +#: ../nova/api/ec2/cloud.py:62 +#, python-format +msgid "The key_pair %s already exists" +msgstr "" + +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 +#, python-format +msgid "Generating root CA: %s" +msgstr "ルートCA %s を生成しています。" + +#: ../nova/api/ec2/cloud.py:303 +#, python-format +msgid "Create key pair %s" +msgstr "Create key pair: キーペア %s を作成します。" + +#: ../nova/api/ec2/cloud.py:311 +#, python-format +msgid "Delete key pair %s" +msgstr "Delete key pair: キーペア %s を削除します。" + +#: ../nova/api/ec2/cloud.py:386 #, python-format msgid "%s is not a valid ipProtocol" msgstr "%s は適切なipProtocolではありません。" -#: nova/api/ec2/cloud.py:361 +#: ../nova/api/ec2/cloud.py:390 msgid "Invalid port range" msgstr "ポートの範囲が不正です。" -#: nova/api/ec2/cloud.py:392 +#: ../nova/api/ec2/cloud.py:421 +#, python-format +msgid "Revoke security group ingress %s" +msgstr "Revoke security group ingress: セキュリティグループ許可 %s の取消" + +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." +msgstr "" + +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." +msgstr "指定されたパラメータに該当するルールがありません。" + +#: ../nova/api/ec2/cloud.py:450 +#, python-format +msgid "Authorize security group ingress %s" +msgstr "Authorize security group ingress: セキュリティグループ許可 %s" + +#: ../nova/api/ec2/cloud.py:464 +#, python-format +msgid "This rule already exists in group %s" +msgstr "指定されたルールは既にグループ %s に存在しています。" + +#: ../nova/api/ec2/cloud.py:492 +#, python-format +msgid "Create Security Group %s" +msgstr "Create Security Group: セキュリティグループ %s を作成します。" + +#: ../nova/api/ec2/cloud.py:495 +#, python-format +msgid "group %s already exists" +msgstr "グループ %s は既に存在しています。" + +#: ../nova/api/ec2/cloud.py:507 +#, python-format +msgid "Delete security group %s" +msgstr "Delete security group: セキュリティグループ %s を削除します。" + +#: ../nova/api/ec2/cloud.py:584 +#, python-format +msgid "Create volume of %s GB" +msgstr "Create volume: %s GBのボリュームを作成します。" + +#: ../nova/api/ec2/cloud.py:612 +#, python-format +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:629 +#, python-format +msgid "Detach volume %s" +msgstr "Detach volume: ボリューム %s をデタッチします" + +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" +msgstr "Allocate address: アドレスを割り当てます。" + +#: ../nova/api/ec2/cloud.py:766 +#, python-format +msgid "Release address %s" +msgstr "Release address: アドレス %s を開放します。" + +#: ../nova/api/ec2/cloud.py:771 +#, python-format +msgid "Associate address %(public_ip)s to instance %(instance_id)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:780 +#, python-format +msgid "Disassociate address %s" +msgstr "Disassociate address: アドレス %s の関連付けを解除します。" + +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" +msgstr "インスタンス終了処理を開始します。" + +#: ../nova/api/ec2/cloud.py:815 +#, python-format +msgid "Reboot instance %r" +msgstr "Reboot instance: インスタンス %r を再起動します。" + +#: ../nova/api/ec2/cloud.py:867 +#, python-format +msgid "De-registering image %s" +msgstr "De-registering image: イメージ %s を登録解除します。" + +#: ../nova/api/ec2/cloud.py:875 +#, python-format +msgid "Registered image %(image_location)s with id %(image_id)s" +msgstr "" + +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 +#, python-format +msgid "attribute not supported: %s" +msgstr "アトリビュート %s はサポートされていません。" + +#: ../nova/api/ec2/cloud.py:890 +#, python-format +msgid "invalid id: %s" +msgstr "id %s は不正です。" + +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" +msgstr "ユーザまたはグループが指定されていません。" + +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" +msgstr "グループ \"all\" のみサポートされています。" + +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" +msgstr "operation_type は add または remove の何れかである必要があります。" + +#: ../nova/api/ec2/cloud.py:908 +#, python-format +msgid "Updating image %s publicity" +msgstr "イメージ %s の公開設定を更新します。" + +#: ../bin/nova-api.py:52 +#, python-format +msgid "Using paste.deploy config at: %s" +msgstr "" + +#: ../bin/nova-api.py:57 +#, python-format +msgid "No paste configuration for app: %s" +msgstr "" + +#: ../bin/nova-api.py:59 +#, python-format +msgid "" +"App Config: %(api)s\n" +"%(config)r" +msgstr "" + +#: ../bin/nova-api.py:64 +#, python-format +msgid "Running %s API" +msgstr "" + +#: ../bin/nova-api.py:69 +#, python-format +msgid "No known API applications configured in %s." +msgstr "" + +#: ../bin/nova-api.py:83 +#, python-format +msgid "Starting nova-api node (version %s)" +msgstr "" + +#: ../bin/nova-api.py:89 +#, python-format +msgid "No paste configuration found for: %s" +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 +#, python-format +msgid "Argument %(key)s value %(value)s is too short." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 +#, python-format +msgid "Argument %(key)s value %(value)s contains invalid characters." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 +#, python-format +msgid "Argument %(key)s value %(value)s starts with a hyphen." +msgstr "" + +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Revoke security group ingress %s" -msgstr "Revoke security group ingress: セキュリティグループ許可 %s の取消" +msgid "Argument %s is required." +msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." -msgstr "指定されたパラメータに該当するルールがありません。" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 +#, python-format +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." +msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 #, python-format -msgid "Authorize security group ingress %s" -msgstr "Authorize security group ingress: セキュリティグループ許可 %s" +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." +msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "This rule already exists in group %s" -msgstr "指定されたルールは既にグループ %s に存在しています。" +msgid "Attempted to create non-unique name %s" +msgstr "ユニークではないname %s を作成しようとしました。" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Create Security Group %s" -msgstr "Create Security Group: セキュリティグループ %s を作成します。" +msgid "instance %(name)s: not enough free memory" +msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "group %s already exists" -msgstr "グループ %s は既に存在しています。" +msgid "Starting VM %s..." +msgstr "VM %s を開始します…" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Delete security group %s" -msgstr "Delete security group: セキュリティグループ %s を削除します。" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." +msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Get console output for instance %s" -msgstr "Get console output: インスタンス %s のコンソール出力を取得します。" +msgid "Invalid value for onset_files: '%s'" +msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Create volume of %s GB" -msgstr "Create volume: %s GBのボリュームを作成します。" +msgid "Injecting file path: '%s'" +msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Attach volume %s to instacne %s at %s" -msgstr "Attach volume: ボリューム%s をインスタンス %s にデバイス %s でアタッチします。" +msgid "Instance %s: booted" +msgstr "インスタンス%s: ブートしました。" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Detach volume %s" -msgstr "Detach volume: ボリューム %s をデタッチします" +msgid "Instance not present %s" +msgstr "インスタンス%s が存在しません。" -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" -msgstr "Allocate address: アドレスを割り当てます。" +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 +#, python-format +msgid "Starting snapshot for VM %s" +msgstr "VM %s に対するスナップショットを開始します。" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Release address %s" -msgstr "Release address: アドレス %s を開放します。" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" +msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Associate address %s to instance %s" -msgstr "Associate address: アドレス %s をインスタンス %s に関連付けます。" +msgid "Finished snapshot and upload for VM %s" +msgstr "VM %s のスナップショットとアップロードが完了しました。" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Disassociate address %s" -msgstr "Disassociate address: アドレス %s の関連付けを解除します。" +msgid "VM %(vm)s already halted, skipping shutdown..." +msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" -msgstr "インスタンス終了処理を開始します。" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" +msgstr "" + +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" +msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Reboot instance %r" -msgstr "Reboot instance: インスタンス %r を再起動します。" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" +msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "De-registering image %s" -msgstr "De-registering image: イメージ %s を登録解除します。" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" +msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Registered image %s with id %s" -msgstr "Registered image: イメージ %s をid %s で登録します。" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" +msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "attribute not supported: %s" -msgstr "アトリビュート %s はサポートされていません。" +msgid "OpenSSL error: %s" +msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "invalid id: %s" -msgstr "id %s は不正です。" +msgid "Running instances: %s" +msgstr "インスタンス %s は実行中です。" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" -msgstr "ユーザまたはグループが指定されていません。" +#: ../nova/tests/test_compute.py:154 +#, python-format +msgid "After terminating instances: %s" +msgstr "インスタンス %s を終了した後です。" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" -msgstr "グループ \"all\" のみサポートされています。" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" +msgstr "cloudpipeインスタンス起動時に実行するスクリプトのテンプレート" -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" -msgstr "operation_type は add または remove の何れかである必要があります。" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" +msgstr "openvpnの設定に入れるネットワークの値" + +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" +msgstr "openvpnの設定に入れるネットマスクの値" -#: nova/api/ec2/cloud.py:812 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Updating image %s publicity" -msgstr "イメージ %s の公開設定を更新します。" +msgid "Launching VPN for %s" +msgstr "%s 用のVPNを起動します。" + +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." +msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/image/s3.py:99 #, python-format -msgid "Failed to get metadata for ip: %s" -msgstr "ip %s に対するメタデータの取得に失敗しました。" +msgid "Image %s could not be found" +msgstr "イメージ %s が見つかりませんでした。" + +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "認証失敗の回数が多すぎます。" -#: nova/api/openstack/__init__.py:70 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Caught error: %s" -msgstr "エラー %s をキャッチしました。" +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/openstack/__init__.py:86 -msgid "Including admin operations in API." -msgstr "管理用オペレーション(admin operation)をAPIに登録します。" +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 +#, python-format +msgid "Authentication Failure: %s" +msgstr "%s の認証に失敗しました。" -#: nova/api/openstack/servers.py:184 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Compute.api::lock %s" -msgstr "例外: Compute.api::lock %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" +msgstr "" -#: nova/api/openstack/servers.py:199 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Compute.api::unlock %s" -msgstr "例外: Compute.api::unlock %s" +msgid "action: %s" +msgstr "アクション(action): %s" -#: nova/api/openstack/servers.py:213 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "Compute.api::get_lock %s" -msgstr "例外: Compute.api::get_lock %s" +msgid "arg: %(key)s\t\tval: %(value)s" +msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Compute.api::pause %s" -msgstr "例外: Compute.api::pause %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" +msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "Compute.api::unpause %s" -msgstr "例外: Compute.api::unpause %s" +msgid "InstanceNotFound raised: %s" +msgstr "" -#: nova/api/openstack/servers.py:246 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "compute.api::suspend %s" -msgstr "例外: compute.api::suspend %s" +msgid "VolumeNotFound raised: %s" +msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "compute.api::resume %s" -msgstr "例外: compute.api::resume %s" +msgid "NotFound raised: %s" +msgstr "NotFound 発生: %s" + +#: ../nova/api/ec2/__init__.py:329 +#, python-format +msgid "ApiError raised: %s" +msgstr "APIエラー発生: %s" + +#: ../nova/api/ec2/__init__.py:338 +#, python-format +msgid "Unexpected error raised: %s" +msgstr "予期しないエラー発生: %s" + +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." +msgstr "未知のエラーが発生しました。再度リクエストを実行してください。" -#: nova/auth/dbdriver.py:84 +#: ../nova/auth/dbdriver.py:84 #, python-format msgid "User %s already exists" msgstr "ユーザー %s は既に存在しています。" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format msgid "Project can't be created because manager %s doesn't exist" msgstr "マネージャ %s が存在しないためプロジェクトを作成できません。" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 +#, python-format +msgid "Project can't be created because user %s doesn't exist" +msgstr "ユーザ %s が存在しないためプロジェクトを作成できません。" + +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format msgid "Project can't be created because project %s already exists" msgstr "プロジェクト %s が既に存在するためプロジェクトを作成できません。" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format msgid "Project can't be modified because manager %s doesn't exist" msgstr "マネージャ %s が存在しないためプロジェクトを更新できません。" -#: nova/auth/dbdriver.py:245 +#: ../nova/auth/dbdriver.py:245 #, python-format msgid "User \"%s\" not found" msgstr "ユーザ \"%s\" が見つかりません。" -#: nova/auth/dbdriver.py:248 +#: ../nova/auth/dbdriver.py:248 #, python-format msgid "Project \"%s\" not found" msgstr "プロジェクト \"%s\" が見つかりません。" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" -msgstr "シングルトンをインスタンス化しようとしました。" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" +msgstr "" +"connection_type=xenapi を使用するには、以下の指定が必要です: xenapi_connection_url, " +"xenapi_connection_username (オプション), xenapi_connection_password" -#: nova/auth/ldapdriver.py:181 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "LDAP object for %s doesn't exist" -msgstr "LDAPオブジェクト %s が存在しません。" +msgid "Task [%(name)s] %(task)s status: success %(result)s" +msgstr "" -#: nova/auth/ldapdriver.py:218 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Project can't be created because user %s doesn't exist" -msgstr "ユーザ %s が存在しないためプロジェクトを作成できません。" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" +msgstr "" + +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 +#, python-format +msgid "Got exception: %s" +msgstr "例外 %s が発生しました。" + +#: ../nova/compute/monitor.py:259 +#, python-format +msgid "updating %s..." +msgstr "%s の情報の更新…" + +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" +msgstr "更新の最中に予期しないエラーが発生しました。" + +#: ../nova/compute/monitor.py:356 +#, python-format +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" +msgstr "" + +#: ../nova/compute/monitor.py:379 +#, python-format +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" +msgstr "" + +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" +msgstr "接続に際し予期しないエラーが発生しました。" -#: nova/auth/ldapdriver.py:478 +#: ../nova/compute/monitor.py:429 #, python-format -msgid "User %s is already a member of the group %s" -msgstr "ユーザ %s は既にグループ %s のメンバーです。" +msgid "Found instance: %s" +msgstr "インスタンス %s が見つかりました。" + +#: ../nova/volume/san.py:67 +#, python-format +msgid "Could not find iSCSI export for volume %s" +msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/apirequest.py:100 #, python-format msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." -msgstr "グループの最後のメンバーを削除しようとしました。代わりにグループ %s を削除してください。" +"Unsupported API request: controller = %(controller)s, action = %(action)s" +msgstr "" + +#: ../nova/api/openstack/__init__.py:55 +#, python-format +msgid "Caught error: %s" +msgstr "エラー %s をキャッチしました。" + +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." +msgstr "管理用オペレーション(admin operation)をAPIに登録します。" + +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" +msgstr "" + +#: ../nova/console/xvp.py:116 +#, python-format +msgid "Re-wrote %s" +msgstr "" + +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" +msgstr "" + +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" +msgstr "" + +#: ../nova/console/xvp.py:141 +#, python-format +msgid "Error starting xvp: %s" +msgstr "" + +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" +msgstr "" + +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." +msgstr "" + +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." +msgstr "" + +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" +msgstr "" + +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." +msgstr "" + +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" +msgstr "" + +#: ../bin/nova-manage.py:448 +msgid "IP address" +msgstr "" + +#: ../bin/nova-manage.py:449 +msgid "MAC address" +msgstr "" + +#: ../bin/nova-manage.py:450 +msgid "hostname" +msgstr "" + +#: ../bin/nova-manage.py:451 +msgid "host" +msgstr "" + +#: ../bin/nova-manage.py:537 +msgid "netmask" +msgstr "" + +#: ../bin/nova-manage.py:538 +msgid "start address" +msgstr "" + +#: ../nova/virt/disk.py:69 +#, python-format +msgid "Failed to load partition: %s" +msgstr "パーティション %s のロードに失敗しました。" + +#: ../nova/virt/disk.py:91 +#, python-format +msgid "Failed to mount filesystem: %s" +msgstr "ファイルシステム %s のマウントに失敗しました。" + +#: ../nova/virt/disk.py:124 +#, python-format +msgid "nbd device %s did not show up" +msgstr "" + +#: ../nova/virt/disk.py:128 +#, python-format +msgid "Could not attach image to loopback: %s" +msgstr "イメージをループバック %s にアタッチできません。" + +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" +msgstr "" -#: nova/auth/ldapdriver.py:528 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Group at dn %s doesn't exist" -msgstr "dnが %s のグループは存在しません。" +msgid "%(filename)s, line %(line_info)d" +msgstr "" -#: nova/auth/manager.py:259 -#, python-format -msgid "Looking up user: %r" -msgstr "ユーザ %r を検索します。" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" +msgstr "In init host" -#: nova/auth/manager.py:263 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Failed authorization for access key %s" -msgstr "Failed authorization: アクセスキー %s の認証に失敗しました。" +msgid "Attempt to create duplicate vm %s" +msgstr "VM %s を二重に作成しようとしました。" -#: nova/auth/manager.py:264 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "No user found for access key %s" -msgstr "アクセスキー %s に対するユーザが見つかりませんでした。" +msgid "Starting VM %s " +msgstr "VM %s を開始します。 " -#: nova/auth/manager.py:270 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Using project name = user name (%s)" -msgstr "ユーザ名 (%s) をプロジェクト名として使用します。" +msgid "Started VM %s " +msgstr "VM %s を開始しました。 " -#: nova/auth/manager.py:275 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "failed authorization: no project named %s (user=%s)" -msgstr "Failed authorization: 認証に失敗しました。プロジェクト名 %s (ユーザ = %s) は存在しません。" +msgid "spawn vm failed: %s" +msgstr "vmの生成(spawn)に失敗しました: %s" -#: nova/auth/manager.py:277 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "No project called %s could be found" -msgstr "プロジェクト %s は見つかりませんでした。" +msgid "Failed to create VM %s" +msgstr "VM %s の作成に失敗しました。" -#: nova/auth/manager.py:281 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" -msgstr "" -"Failed authorization: 認証に失敗しました: ユーザ %s は管理者ではなくかつプロジェクト %s のメンバーではありません。" +msgid "Set memory for vm %s..." +msgstr "vm %s のメモリを設定します。" -#: nova/auth/manager.py:283 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "User %s is not a member of project %s" -msgstr "ユーザ %s はプロジェクト %s のメンバーではありません。" +msgid "Set vcpus for vm %s..." +msgstr "vm %s のvcpus を設定します。" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "Invalid signature for user %s" -msgstr "Invalid signature: ユーザ %s の署名が不正です。" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" -msgstr "署名が一致しません。" - -#: nova/auth/manager.py:374 -msgid "Must specify project" -msgstr "プロジェクトを指定してください。" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" +msgstr "" -#: nova/auth/manager.py:408 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "The %s role can not be found" -msgstr "ロール %s が見つかりません。" +msgid "Failed to add diskdrive to VM %s" +msgstr "VM %s へのディスクドライブの追加に失敗しました。" -#: nova/auth/manager.py:410 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "The %s role is global only" -msgstr "ロール %s はグローバルでのみ使用可能です。" +msgid "New disk drive path is %s" +msgstr "新しいドライブパスは %s です。" -#: nova/auth/manager.py:412 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Adding role %s to user %s in project %s" -msgstr "Adding role: ロール %s をユーザ %s (プロジェクト %s の) に追加します。" +msgid "Failed to add vhd file to VM %s" +msgstr "vhdファイルの VM %s への追加に失敗しました。" -#: nova/auth/manager.py:438 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Removing role %s from user %s on project %s" -msgstr "Removing role: ロール %s をユーザ %s (プロジェクト %s の)から削除します。" +msgid "Created disk for %s" +msgstr "%s に diskを作成します。" -#: nova/auth/manager.py:505 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Created project %s with manager %s" -msgstr "Created project: プロジェクト %s (マネージャ %s)を作成します。" +msgid "Creating nic for %s " +msgstr "%s にNICを作成します。 " -#: nova/auth/manager.py:523 -#, python-format -msgid "modifying project %s" -msgstr "modifying project: プロジェクト %s を更新します。" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" +msgstr "外部vswitchへのポート作成に失敗しました。" -#: nova/auth/manager.py:553 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Remove user %s from project %s" -msgstr "Remove user: ユーザ %s をプロジェクト %s から削除します。" +msgid "Failed creating port for %s" +msgstr "ポート %s の作成に失敗しました。" -#: nova/auth/manager.py:581 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Deleting project %s" -msgstr "Deleting project: プロジェクト %s を削除します。" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" +msgstr "" -#: nova/auth/manager.py:637 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Created user %s (admin: %r)" -msgstr "Created user: ユーザ %s (admin: %r) を作成しました。" +msgid "Failed to add nic to VM %s" +msgstr "VM %s に対してNICの追加に失敗しました。" -#: nova/auth/manager.py:645 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Deleting user %s" -msgstr "Deleting user: ユーザ %s を削除します。" +msgid "Created nic for %s " +msgstr "%s のNICを作成しました。 " -#: nova/auth/manager.py:655 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Access Key change for user %s" -msgstr "Access Key change: ユーザ %s のアクセスキーを更新します。" +msgid "WMI job failed: %s" +msgstr "WMIジョブに失敗しました: %s" -#: nova/auth/manager.py:657 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Secret Key change for user %s" -msgstr "Secret Key change: ユーザ %s のシークレットキーを更新します。" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " +msgstr "" -#: nova/auth/manager.py:659 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Admin status set to %r for user %s" -msgstr "Admin status set: 管理者ステータス %r をユーザ %s に設定します。" +msgid "Got request to destroy vm %s" +msgstr "destroy vm %s リクエストを受信しました。" -#: nova/auth/manager.py:708 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "No vpn data for project %s" -msgstr "プロジェクト %s に関するvpnデータがありません。" +msgid "Failed to destroy vm %s" +msgstr "vm %s の削除に失敗しました。" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "cloudpipeインスタンス起動時に実行するスクリプトのテンプレート" +#: ../nova/virt/hyperv.py:393 +#, python-format +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" +msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" -msgstr "openvpnの設定に入れるネットワークの値" +#: ../nova/virt/hyperv.py:415 +#, python-format +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" +msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" -msgstr "openvpnの設定に入れるネットマスクの値" +#: ../nova/virt/hyperv.py:451 +#, python-format +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" +msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Launching VPN for %s" -msgstr "%s 用のVPNを起動します。" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" +msgstr "" -#: nova/compute/api.py:67 +#: ../nova/compute/api.py:71 #, python-format msgid "Instance %d was not found in get_network_topic" msgstr "get_network_topicにおいてインスタンス %d が見つかりませんでした。" -#: nova/compute/api.py:73 +#: ../nova/compute/api.py:77 #, python-format msgid "Instance %d has no host" msgstr "インスタンス %d にホストが登録されていません。" -#: nova/compute/api.py:92 +#: ../nova/compute/api.py:97 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" -msgstr "%s のクオータ上限を超えました。%s インスタンスを実行しようとしました。" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" +msgstr "" -#: nova/compute/api.py:94 +#: ../nova/compute/api.py:99 #, python-format msgid "" "Instance quota exceeded. You can only run %s more instances of this type." msgstr "インスタンスのクオータを超えました。このタイプにおいてはあと %s インスタンスしか実行できません。" -#: nova/compute/api.py:109 +#: ../nova/compute/api.py:112 msgid "Creating a raw instance" msgstr "raw instanceを生成します。" -#: nova/compute/api.py:156 +#: ../nova/compute/api.py:160 #, python-format msgid "Going to run %s instances..." msgstr "%s 個のインスタンスの起動を始めます…" -#: nova/compute/api.py:180 +#: ../nova/compute/api.py:187 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" -msgstr "スケジューラに対して %s/%s のインスタンス %s を送信します。" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" +msgstr "" -#: nova/compute/api.py:279 +#: ../nova/compute/api.py:292 #, python-format -msgid "Going to try and terminate %s" -msgstr "%s を終了します。" +msgid "Going to try to terminate %s" +msgstr "" -#: nova/compute/api.py:283 +#: ../nova/compute/api.py:296 #, python-format msgid "Instance %d was not found during terminate" msgstr "インスタンス %d が終了処理において見つかりませんでした。" -#: nova/compute/api.py:288 +#: ../nova/compute/api.py:301 #, python-format msgid "Instance %d is already being terminated" msgstr "インスタンス %d は既に終了済みです。" -#: nova/compute/api.py:450 +#: ../nova/compute/api.py:481 #, python-format msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "デバイスの指定 %s が不正です: デバイス指定の例: /dev/vdb" -#: nova/compute/api.py:465 +#: ../nova/compute/api.py:496 msgid "Volume isn't attached to anything!" msgstr "ボリュームはどこにもアタッチされていません。" -#: nova/compute/disk.py:71 -#, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" -msgstr "インプットパーティションサイズがセクターサイズで割り切れません。 %d / %d" - -#: nova/compute/disk.py:75 -#, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" -msgstr "ローカルストレージのバイト数がセクターサイズで割り切れません: %d / %d" - -#: nova/compute/disk.py:128 -#, python-format -msgid "Could not attach image to loopback: %s" -msgstr "イメージをループバック %s にアタッチできません。" - -#: nova/compute/disk.py:136 -#, python-format -msgid "Failed to load partition: %s" -msgstr "パーティション %s のロードに失敗しました。" - -#: nova/compute/disk.py:158 -#, python-format -msgid "Failed to mount filesystem: %s" -msgstr "ファイルシステム %s のマウントに失敗しました。" - -#: nova/compute/instance_types.py:41 -#, python-format -msgid "Unknown instance type: %s" -msgstr "%s は未知のインスタンスタイプです。" - -#: nova/compute/manager.py:69 -#, python-format -msgid "check_instance_lock: decorating: |%s|" -msgstr "check_instance_lock: decorating: |%s|" - -#: nova/compute/manager.py:71 -#, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" -msgstr "check_instance_lock: arguments: |%s| |%s| |%s|" - -#: nova/compute/manager.py:75 -#, python-format -msgid "check_instance_lock: locked: |%s|" -msgstr "check_instance_lock: locked: |%s|" - -#: nova/compute/manager.py:77 -#, python-format -msgid "check_instance_lock: admin: |%s|" -msgstr "check_instance_lock: admin: |%s|" - -#: nova/compute/manager.py:82 -#, python-format -msgid "check_instance_lock: executing: |%s|" -msgstr "check_instance_lock: executing: |%s|" - -#: nova/compute/manager.py:86 -#, python-format -msgid "check_instance_lock: not executing |%s|" -msgstr "check_instance_lock: not executing |%s|" - -#: nova/compute/manager.py:157 -msgid "Instance has already been created" -msgstr "インスタンスは既に生成されています。" - -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." -msgstr "インスタンス %s を開始します。" - -#: nova/compute/manager.py:197 -#, python-format -msgid "instance %s: Failed to spawn" -msgstr "インスタンス %s の起動に失敗しました。" - -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 -#, python-format -msgid "Terminating instance %s" -msgstr "Terminating instance: インスタンス %s を終了します。" - -#: nova/compute/manager.py:217 -#, python-format -msgid "Disassociating address %s" -msgstr "アドレス %s の関連付けを解除(disassociate)しています。" - -#: nova/compute/manager.py:230 -#, python-format -msgid "Deallocating address %s" -msgstr "アドレス %s の割当を解除(deallocate)します。" - -#: nova/compute/manager.py:243 -#, python-format -msgid "trying to destroy already destroyed instance: %s" -msgstr "既に消去済みのインスタンス%sを消去しようとしました。" - -#: nova/compute/manager.py:257 -#, python-format -msgid "Rebooting instance %s" -msgstr "Rebooting instance: インスタンス %s を再起動します。" - -#: nova/compute/manager.py:260 -#, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" -msgstr "実行していないインスタンスの再起動を試みます。%s (状態: %s 期待する状態: %s)" - -#: nova/compute/manager.py:286 -#, python-format -msgid "instance %s: snapshotting" -msgstr "snapshotting: インスタンス %s のスナップショットを取得します。" - -#: nova/compute/manager.py:289 +#: ../nova/rpc.py:98 #, python-format msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" -msgstr "実行していないインスタンスのスナップショット取得を試みます。%s (状態: %s 期待する状態: %s)" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." +msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/rpc.py:103 #, python-format -msgid "instance %s: rescuing" -msgstr "Rescuing: インスタンス %s をレスキューします。" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgstr "AMQPサーバーに %d 回接続を試みましたが、接続できませんでした。シャットダウンします。" -#: nova/compute/manager.py:316 -#, python-format -msgid "instance %s: unrescuing" -msgstr "Unrescuing: インスタンス %s をアンレスキューします。" +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "キューに再接続しました。" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" -msgstr "pausing: インスタンス %s を一時停止します。" +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "キューからメッセージの取得に失敗しました。" -#: nova/compute/manager.py:352 +#: ../nova/rpc.py:159 #, python-format -msgid "instance %s: unpausing" -msgstr "unpausing: インスタンス %s の一時停止を解除します。" +msgid "Initing the Adapter Consumer for %s" +msgstr "%sのアダプターコンシューマー(Adapter Consumer)を初期化しています。" -#: nova/compute/manager.py:369 +#: ../nova/rpc.py:178 #, python-format -msgid "instance %s: retrieving diagnostics" -msgstr "retrieving diagnostics: インスタンス %s の診断情報を取得します。" +msgid "received %s" +msgstr "受信: %s" -#: nova/compute/manager.py:382 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "instance %s: suspending" -msgstr "suspending: インスタンス %s をサスペンドします。" +msgid "no method for message: %s" +msgstr "メッセージ %s に対するメソッドが存在しません。" -#: nova/compute/manager.py:401 +#: ../nova/rpc.py:192 #, python-format -msgid "instance %s: resuming" -msgstr "resuming: インスタンス %s をレジュームします。" +msgid "No method for message: %s" +msgstr "メッセージ %s に対するメソッドが存在しません。" -#: nova/compute/manager.py:420 +#: ../nova/rpc.py:253 #, python-format -msgid "instance %s: locking" -msgstr "locking: インスタンス %s をロックします。" +msgid "Returning exception %s to caller" +msgstr "呼び出し元に 例外 %s を返却します。" -#: nova/compute/manager.py:432 +#: ../nova/rpc.py:294 #, python-format -msgid "instance %s: unlocking" -msgstr "unlocking: インスタンス %s のロックを解除します。" +msgid "unpacked context: %s" +msgstr "context %s をアンパックしました。" -#: nova/compute/manager.py:442 -#, python-format -msgid "instance %s: getting locked state" -msgstr "getting locked state: インスタンス %s のロックを取得しました。" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "非同期呼び出しを実行します…" -#: nova/compute/manager.py:462 +#: ../nova/rpc.py:316 #, python-format -msgid "instance %s: attaching volume %s to %s" -msgstr "attaching volume: インスタンス %s についてボリューム %s を %s にアタッチします。" +msgid "MSG_ID is %s" +msgstr "MSG_IDは %s です。" -#: nova/compute/manager.py:478 -#, python-format -msgid "instance %s: attach failed %s, removing" -msgstr "インスタンス %s: %sのアタッチに失敗しました。リムーブします。" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." +msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/rpc.py:364 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" -msgstr "Detach volume: ボリューム %s をマウントポイント %s (インスタンス%s)からデタッチします。" +msgid "response %s" +msgstr "応答 %s" -#: nova/compute/manager.py:497 +#: ../nova/rpc.py:373 #, python-format -msgid "Detaching volume from unknown instance %s" -msgstr "ボリュームを未知のインスタンス %s からデタッチします。" +msgid "topic is %s" +msgstr "topic は %s です。" -#: nova/compute/monitor.py:259 +#: ../nova/rpc.py:374 #, python-format -msgid "updating %s..." -msgstr "%s の情報の更新…" - -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" -msgstr "更新の最中に予期しないエラーが発生しました。" +msgid "message %s" +msgstr "メッセージ %s" -#: nova/compute/monitor.py:355 +#: ../nova/volume/driver.py:78 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" -msgstr "ブロックデバイス \"%s\" の統計を \"%s\" について取得できません。" +msgid "Recovering from a failed execute. Try number %s" +msgstr "実行失敗からリカバリーします。%s 回目のトライ。" -#: nova/compute/monitor.py:377 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" -msgstr "インタフェース \"%s\" の統計を \"%s\" について取得できません。" - -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" -msgstr "接続に際し予期しないエラーが発生しました。" +msgid "volume group %s doesn't exist" +msgstr "ボリュームグループ%sが存在しません。" -#: nova/compute/monitor.py:427 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Found instance: %s" -msgstr "インスタンス %s が見つかりました。" +msgid "FAKE AOE: %s" +msgstr "偽のAOE: %s" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "Request context を空とすることは非推奨です。" +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " +msgstr "" + +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " +msgstr "" -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/driver.py:347 #, python-format -msgid "No service for id %s" -msgstr "id %s のserviceが存在しません。" +msgid "FAKE ISCSI: %s" +msgstr "偽のISCSI: %s" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/volume/driver.py:359 #, python-format -msgid "No service for %s, %s" -msgstr "%s, %s のserviceが存在しません。" +msgid "rbd has no pool %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/volume/driver.py:414 #, python-format -msgid "No floating ip for address %s" -msgstr "アドレス %s の floating ip が存在しません。" +msgid "Sheepdog is not working: %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" -msgstr "id %s のinstanceが存在しません。" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" +msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 +#: ../nova/wsgi.py:68 #, python-format -msgid "Instance %s not found" -msgstr "インスタンス %s が見つかりません。" +msgid "Starting %(arg0)s on %(host)s:%(port)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:891 -#, python-format -msgid "no keypair for user %s, name %s" -msgstr "ユーザ %s, ネーム%s に該当するキーペアが存在しません。" +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" +msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" -msgstr "id %s に該当するnetwork が存在しません。" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" +msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" -msgstr "ブリッジ %s に該当する network が存在しません。" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" +msgstr "" -#: nova/db/sqlalchemy/api.py:1050 -#, python-format -msgid "No network for instance %s" -msgstr "instance %s に該当する network が存在しません。" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" +msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" -msgstr "トークン %s が存在しません。" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" +msgstr "" -#: nova/db/sqlalchemy/api.py:1205 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "No quota for project_id %s" -msgstr "project_id %s に対するクオータが存在しません。" +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1356 +#: ../nova/virt/fake.py:239 #, python-format -msgid "No volume for id %s" -msgstr "id %s に該当するボリュームが存在しません。" +msgid "Instance %s Not Found" +msgstr "インスタンス %s が見つかりません。" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/network/manager.py:153 #, python-format -msgid "Volume %s not found" -msgstr "ボリューム %s が見つかりません。" +msgid "Dissassociated %s stale fixed ip(s)" +msgstr "無効になった %s 個の fixed ip を割当解除しました。" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" -msgstr "ボリューム %s に関してエクスポートされているデバイスがありません。" +#: ../nova/network/manager.py:157 +msgid "setting network host" +msgstr "ネットワークホストの設定をします。" -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/network/manager.py:212 #, python-format -msgid "No target id found for volume %s" -msgstr "ボリューム %s に対する target idが存在しません。" +msgid "Leasing IP %s" +msgstr "IP %s をリースします。" -#: nova/db/sqlalchemy/api.py:1471 +#: ../nova/network/manager.py:216 #, python-format -msgid "No security group with id %s" -msgstr "id %s のセキュリティグループが存在しません。" +msgid "IP %s leased that isn't associated" +msgstr "IP %s がリースされましたが関連付けられていません。" -#: nova/db/sqlalchemy/api.py:1488 +#: ../nova/network/manager.py:220 #, python-format -msgid "No security group named %s for project: %s" -msgstr "セキュリティグループ名 %s がプロジェクト %s に存在しません。" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/network/manager.py:228 #, python-format -msgid "No secuity group rule with id %s" -msgstr "id %s のセキュリティグループルールが存在しません。" +msgid "IP %s leased that was already deallocated" +msgstr "既に割当解除しているIP %s がリースされました。" -#: nova/db/sqlalchemy/api.py:1650 +#: ../nova/network/manager.py:233 #, python-format -msgid "No user for id %s" -msgstr "id %s のユーザが存在しません。" +msgid "Releasing IP %s" +msgstr "" -#: nova/db/sqlalchemy/api.py:1666 +#: ../nova/network/manager.py:237 #, python-format -msgid "No user for access key %s" -msgstr "アクセスキー %s に該当するユーザが存在しません。" +msgid "IP %s released that isn't associated" +msgstr "割り当てていないIP %s が開放されました。" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/network/manager.py:241 #, python-format -msgid "No project with id %s" -msgstr "id %s のプロジェクトが存在しません。" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" +msgstr "" -#: nova/image/glance.py:78 +#: ../nova/network/manager.py:244 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" -msgstr "Parallax がHTTPエラー%d を /images に対するリクエストに対して返しました。" +msgid "IP %s released that was not leased" +msgstr "リースしていないIP %s が開放されました。" -#: nova/image/glance.py:97 -#, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" -msgstr "Parallax がHTTPエラー %d を /images/detail に対するリクエストに対して返しました" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" +msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Image %s could not be found" -msgstr "イメージ %s が見つかりませんでした。" +msgid "Introducing %s..." +msgstr "%s を introduce します…" -#: nova/network/api.py:39 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" -msgstr "アドレスを割り当てようとしましたが、%s のクオータを超えました。" +msgid "Introduced %(label)s as %(sr_ref)s." +msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" -msgstr "アドレスのクオータを超えました。これ以上アドレスを割り当てることはできません。" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" +msgstr "Storage Repository を作成できません。" -#: nova/network/linux_net.py:176 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Starting VLAN inteface %s" -msgstr "VLANインタフェース %s を開始します。" +msgid "Unable to find SR from VBD %s" +msgstr "VBD %s から SRを取得できません。" -#: nova/network/linux_net.py:186 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Starting Bridge interface for %s" -msgstr "%s 用のブリッジインタフェースを開始します。" +msgid "Forgetting SR %s ... " +msgstr "SR %s をforgetします。 " -#: nova/network/linux_net.py:254 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Hupping dnsmasq threw %s" -msgstr "dnsmasqに対してhupを送信しましたが %s が発生しました。" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" +msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" -msgstr "Pid %d は無効です。dnsmasqを再実行します。" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" +msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Killing dnsmasq threw %s" -msgstr "dnsmasq をkillしましたが、 %s が発生しました。" +msgid "Forgetting SR %s done." +msgstr "SR %s のforgetが完了。" -#: nova/network/manager.py:135 -msgid "setting network host" -msgstr "ネットワークホストの設定をします。" +#: ../nova/virt/xenapi/volume_utils.py:113 +#, python-format +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" +msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Leasing IP %s" -msgstr "IP %s をリースします。" +msgid "Unable to introduce VDI on SR %s" +msgstr "SR %s のVDIのintroduceができません。" -#: nova/network/manager.py:194 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "IP %s leased that isn't associated" -msgstr "IP %s がリースされましたが関連付けられていません。" +msgid "Unable to get record of VDI %s on" +msgstr "VDI %s のレコードを取得できません。" -#: nova/network/manager.py:197 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "IP %s leased to bad mac %s vs %s" -msgstr "IP %s が期待した mac %s ではなく %s にリースされました。" +msgid "Unable to introduce VDI for SR %s" +msgstr "SR %s のVDIをintroduceできません。" -#: nova/network/manager.py:205 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "IP %s leased that was already deallocated" -msgstr "既に割当解除しているIP %s がリースされました。" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" +msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "IP %s released that isn't associated" -msgstr "割り当てていないIP %s が開放されました。" +msgid "Mountpoint cannot be translated: %s" +msgstr "マウントポイントを変換できません。 %s" -#: nova/network/manager.py:217 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "IP %s released from bad mac %s vs %s" -msgstr "IP %s がmac %s ではない mac %s への割当から開放されました。" +msgid "Failed to decrypt private key: %s" +msgstr "" -#: nova/network/manager.py:220 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "IP %s released that was not leased" -msgstr "リースしていないIP %s が開放されました。" +msgid "Failed to decrypt initialization vector: %s" +msgstr "" -#: nova/network/manager.py:442 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" -msgstr "無効になった %s 個の fixed ip を割当解除しました。" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" +msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/objectstore/handler.py:106 #, python-format msgid "Unknown S3 value type %r" msgstr "未知のS3 value type %r です。" -#: nova/objectstore/handler.py:137 +#: ../nova/objectstore/handler.py:137 msgid "Authenticated request" msgstr "認証リクエスト" -#: nova/objectstore/handler.py:182 +#: ../nova/objectstore/handler.py:182 msgid "List of buckets requested" msgstr "List of buckets が呼ばれました。" -#: nova/objectstore/handler.py:209 +#: ../nova/objectstore/handler.py:209 #, python-format msgid "List keys for bucket %s" msgstr "バケット %s のキーの一覧" -#: nova/objectstore/handler.py:217 +#: ../nova/objectstore/handler.py:217 #, python-format msgid "Unauthorized attempt to access bucket %s" msgstr "Unauthorized attempt to access bucket: バケット %s に対するアクセスは許可されていません。" -#: nova/objectstore/handler.py:235 +#: ../nova/objectstore/handler.py:235 #, python-format msgid "Creating bucket %s" msgstr "バケットを作成します。 %s" -#: nova/objectstore/handler.py:245 +#: ../nova/objectstore/handler.py:245 #, python-format msgid "Deleting bucket %s" msgstr "バケットを削除します。 %s" -#: nova/objectstore/handler.py:249 +#: ../nova/objectstore/handler.py:249 #, python-format msgid "Unauthorized attempt to delete bucket %s" msgstr "Unauthorized attempt to delete bucket: バケット %s に対する削除は許可されていません。" -#: nova/objectstore/handler.py:271 +#: ../nova/objectstore/handler.py:273 +#, python-format +msgid "Getting object: %(bname)s / %(nm)s" +msgstr "" + +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Getting object: %s / %s" -msgstr "オブジェクトの取得: %s / %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -"Unauthorized attempt to get object: オブジェクト %s のバケット %s からの取得は許可されていません。" -#: nova/objectstore/handler.py:292 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "Putting object: %s / %s" -msgstr "オブジェクトの格納:: %s / %s" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -"Unauthorized attempt to upload: オブジェクト %s のバケット %s へのアップロードは許可されていません。" -#: nova/objectstore/handler.py:314 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Deleting object: %s / %s" -msgstr "オブジェクトを削除しています。: %s / %s" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" +msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/objectstore/handler.py:396 #, python-format msgid "Not authorized to upload image: invalid directory %s" msgstr "" "Not authorized to upload image: イメージの格納は許可されていません。ディレクトリ %s は正しくありません。" -#: nova/objectstore/handler.py:401 +#: ../nova/objectstore/handler.py:404 #, python-format msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" "Not authorized to upload image: イメージの格納は許可されていません。バケット %s への格納は許可されていません。" -#: nova/objectstore/handler.py:406 +#: ../nova/objectstore/handler.py:409 #, python-format msgid "Starting image upload: %s" msgstr "イメージのアップロードを開始しました。 %s" -#: nova/objectstore/handler.py:420 +#: ../nova/objectstore/handler.py:423 #, python-format msgid "Not authorized to update attributes of image %s" msgstr "Not authorized to update attributes: イメージ %s のアトリビュートの更新は許可されていません。" -#: nova/objectstore/handler.py:428 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Toggling publicity flag of image %s %r" -msgstr "Toggling publicity flag: イメージ %s の公開フラグを %r に更新します。" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" +msgstr "" -#: nova/objectstore/handler.py:433 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format msgid "Updating user fields on image %s" msgstr "Updating user fields: イメージ %s のユーザフィールドを更新します。" -#: nova/objectstore/handler.py:447 +#: ../nova/objectstore/handler.py:450 #, python-format msgid "Unauthorized attempt to delete image %s" msgstr "Unauthorized attempt to delete image: イメージ %s の削除は許可されていません。" -#: nova/objectstore/handler.py:452 +#: ../nova/objectstore/handler.py:455 #, python-format msgid "Deleted image: %s" msgstr "イメージ %s を削除しました。" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" -msgstr "適切なホストが見つかりません。" +#: ../nova/auth/manager.py:259 +#, python-format +msgid "Looking up user: %r" +msgstr "ユーザ %r を検索します。" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" -msgstr "予備の(fallback)スケジューラを実装する必要があります。" +#: ../nova/auth/manager.py:263 +#, python-format +msgid "Failed authorization for access key %s" +msgstr "Failed authorization: アクセスキー %s の認証に失敗しました。" -#: nova/scheduler/manager.py:69 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Casting to %s %s for %s" -msgstr "メッセージのcast: %s %s for %s" +msgid "No user found for access key %s" +msgstr "アクセスキー %s に対するユーザが見つかりませんでした。" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" -msgstr "全てのホストにコア数の空きがありません。" +#: ../nova/auth/manager.py:270 +#, python-format +msgid "Using project name = user name (%s)" +msgstr "ユーザ名 (%s) をプロジェクト名として使用します。" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" -msgstr "全てのホストが利用可能な容量(gigabytes)に達しています。" +#: ../nova/auth/manager.py:277 +#, python-format +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" +msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" -msgstr "全てのホストがネットワークの最大数に達しています。" +#: ../nova/auth/manager.py:279 +#, python-format +msgid "No project called %s could be found" +msgstr "プロジェクト %s は見つかりませんでした。" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." -msgstr "インスタンスのテストには実際の仮想環境が必要です。(fakeでは実行できません。)" +#: ../nova/auth/manager.py:287 +#, python-format +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" +msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/auth/manager.py:289 #, python-format -msgid "Need to watch instance %s until it's running..." -msgstr "インスタンス %s が実行するまで監視します…" +msgid "User %(uid)s is not a member of project %(pjid)s" +msgstr "" + +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 +#, python-format +msgid "Invalid signature for user %s" +msgstr "Invalid signature: ユーザ %s の署名が不正です。" + +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" +msgstr "署名が一致しません。" + +#: ../nova/auth/manager.py:380 +msgid "Must specify project" +msgstr "プロジェクトを指定してください。" + +#: ../nova/auth/manager.py:414 +#, python-format +msgid "The %s role can not be found" +msgstr "ロール %s が見つかりません。" + +#: ../nova/auth/manager.py:416 +#, python-format +msgid "The %s role is global only" +msgstr "ロール %s はグローバルでのみ使用可能です。" + +#: ../nova/auth/manager.py:420 +#, python-format +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:423 +#, python-format +msgid "Adding sitewide role %(role)s to user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:448 +#, python-format +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:451 +#, python-format +msgid "Removing sitewide role %(role)s from user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:515 +#, python-format +msgid "Created project %(name)s with manager %(manager_user)s" +msgstr "" + +#: ../nova/auth/manager.py:533 +#, python-format +msgid "modifying project %s" +msgstr "modifying project: プロジェクト %s を更新します。" + +#: ../nova/auth/manager.py:545 +#, python-format +msgid "Adding user %(uid)s to project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:566 +#, python-format +msgid "Remove user %(uid)s from project %(pid)s" +msgstr "" + +#: ../nova/auth/manager.py:592 +#, python-format +msgid "Deleting project %s" +msgstr "Deleting project: プロジェクト %s を削除します。" + +#: ../nova/auth/manager.py:650 +#, python-format +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" +msgstr "" + +#: ../nova/auth/manager.py:659 +#, python-format +msgid "Deleting user %s" +msgstr "Deleting user: ユーザ %s を削除します。" + +#: ../nova/auth/manager.py:669 +#, python-format +msgid "Access Key change for user %s" +msgstr "Access Key change: ユーザ %s のアクセスキーを更新します。" + +#: ../nova/auth/manager.py:671 +#, python-format +msgid "Secret Key change for user %s" +msgstr "Secret Key change: ユーザ %s のシークレットキーを更新します。" + +#: ../nova/auth/manager.py:673 +#, python-format +msgid "Admin status set to %(admin)r for user %(uid)s" +msgstr "" + +#: ../nova/auth/manager.py:722 +#, python-format +msgid "No vpn data for project %s" +msgstr "プロジェクト %s に関するvpnデータがありません。" + +#: ../nova/service.py:161 +#, python-format +msgid "Starting %(topic)s node (version %(vcs_string)s)" +msgstr "" + +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" +msgstr "データベースにエントリの存在しないサービスを終了します。" + +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." +msgstr "サービスデータベースオブジェクトが消滅しました。再作成します。" + +#: ../nova/service.py:207 +msgid "Recovered model server connection!" +msgstr "モデルサーバへの接続を復旧しました。" + +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "モデルサーバが消滅しました。" -#: nova/tests/test_compute.py:104 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Running instances: %s" -msgstr "インスタンス %s は実行中です。" +msgid "LDAP user %s already exists" +msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "After terminating instances: %s" -msgstr "インスタンス %s を終了した後です。" +msgid "LDAP object for %s doesn't exist" +msgstr "LDAPオブジェクト %s が存在しません。" -#: nova/tests/test_rpc.py:89 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Nested received %s, %s" -msgstr "ネスとした受信: %s, %s" +msgid "User %s doesn't exist" +msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Nested return %s" -msgstr "ネストした戻り値: %s" +msgid "Group can't be created because group %s already exists" +msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Received %s" -msgstr "%s を受信。" +msgid "Group can't be created because user %s doesn't exist" +msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Target %s allocated" -msgstr "ターゲット %s をアロケートしました。" - -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" -msgstr "ハイパーバイザへの接続に失敗しました。" +msgid "User %s can't be searched in group because the user doesn't exist" +msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Instance %s Not Found" -msgstr "インスタンス %s が見つかりません。" +msgid "User %s can't be added to the group because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" -msgstr "In init host" +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 +#, python-format +msgid "The group at dn %s doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Attempt to create duplicate vm %s" -msgstr "VM %s を二重に作成しようとしました。" +msgid "User %(uid)s is already a member of the group %(group_dn)s" +msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Starting VM %s " -msgstr "VM %s を開始します。 " +msgid "" +"User %s can't be removed from the group because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Started VM %s " -msgstr "VM %s を開始しました。 " +msgid "User %s is not a member of the group" +msgstr "" -#: nova/virt/hyperv.py:152 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "spawn vm failed: %s" -msgstr "vmの生成(spawn)に失敗しました: %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." +msgstr "グループの最後のメンバーを削除しようとしました。代わりにグループ %s を削除してください。" -#: nova/virt/hyperv.py:169 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Failed to create VM %s" -msgstr "VM %s の作成に失敗しました。" +msgid "User %s can't be removed from all because the user doesn't exist" +msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Created VM %s..." -msgstr "VM %s を作成します。" +msgid "Group at dn %s doesn't exist" +msgstr "dnが %s のグループは存在しません。" -#: nova/virt/hyperv.py:188 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Set memory for vm %s..." -msgstr "vm %s のメモリを設定します。" +msgid "Found non-unique network for bridge %s" +msgstr "ブリッジ %s に対してブリッジが複数存在します。" -#: nova/virt/hyperv.py:198 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Set vcpus for vm %s..." -msgstr "vm %s のvcpus を設定します。" +msgid "Found no network for bridge %s" +msgstr "ブリッジ %s に対するネットワークが存在しません。" -#: nova/virt/hyperv.py:202 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Creating disk for %s by attaching disk file %s" -msgstr "%s のディスクをディスクファイル %s をアタッチして作成します。" +msgid "Creating new user: %s" +msgstr "Creating new user: 新しいユーザ %s を作成します。" -#: nova/virt/hyperv.py:227 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Failed to add diskdrive to VM %s" -msgstr "VM %s へのディスクドライブの追加に失敗しました。" +msgid "Deleting user: %s" +msgstr "Deleting user: ユーザ %s を削除します。" -#: nova/virt/hyperv.py:230 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "New disk drive path is %s" -msgstr "新しいドライブパスは %s です。" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Failed to add vhd file to VM %s" -msgstr "vhdファイルの VM %s への追加に失敗しました。" +msgid "Adding sitewide role %(role)s to user %(user)s" +msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "Created disk for %s" -msgstr "%s に diskを作成します。" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:253 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "Creating nic for %s " -msgstr "%s にNICを作成します。 " +msgid "Removing sitewide role %(role)s from user %(user)s" +msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" -msgstr "外部vswitchへのポート作成に失敗しました。" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" +msgstr "operation は add または remove の何れかである必要があります。" -#: nova/virt/hyperv.py:273 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Failed creating port for %s" -msgstr "ポート %s の作成に失敗しました。" +msgid "Getting x509 for user: %(name)s on project: %(project)s" +msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Created switch port %s on switch %s" -msgstr "スイッチポート %s をスイッチ %s に作成しました。" +msgid "Create project %(name)s managed by %(manager_user)s" +msgstr "" -#: nova/virt/hyperv.py:285 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "Failed to add nic to VM %s" -msgstr "VM %s に対してNICの追加に失敗しました。" +msgid "Modify project: %(name)s managed by %(manager_user)s" +msgstr "" -#: nova/virt/hyperv.py:287 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "Created nic for %s " -msgstr "%s のNICを作成しました。 " +msgid "Delete project: %s" +msgstr "Delete project: プロジェクト %s を削除しました。" -#: nova/virt/hyperv.py:320 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "WMI job failed: %s" -msgstr "WMIジョブに失敗しました: %s" +msgid "Adding user %(user)s to project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " -msgstr "WMIジョブが成功しました: %s, 経過時間=%s " +msgid "Removing user %(user)s from project %(project)s" +msgstr "" -#: nova/virt/hyperv.py:358 #, python-format -msgid "Got request to destroy vm %s" -msgstr "destroy vm %s リクエストを受信しました。" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "コマンド: %s\n" +#~ "終了コード: %s\n" +#~ "標準出力: %r\n" +#~ "標準エラー出力: %r" -#: nova/virt/hyperv.py:383 #, python-format -msgid "Failed to destroy vm %s" -msgstr "vm %s の削除に失敗しました。" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s) パブリッシュ (key: %s) %s" -#: nova/virt/hyperv.py:389 #, python-format -msgid "Del: disk %s vm %s" -msgstr "Del: 削除: disk %s vm %s" +#~ msgid "Binding %s to %s with key %s" +#~ msgstr "%s を %s にキー %s でバインドします。" -#: nova/virt/hyperv.py:405 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" -msgstr "" -"vm %s の情報の取得: state=%s, mem=%s, num_cpu=%s, cpu_time=%s" +#~ msgid "Getting from %s: %s" +#~ msgstr "%s から %s を取得" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 #, python-format -msgid "duplicate name found: %s" -msgstr "%s は重複しています。" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "AMQPサーバ %s:%d に接続できません。 %d 秒後に再度試みます。" -#: nova/virt/hyperv.py:444 #, python-format -msgid "Successfully changed vm state of %s to %s" -msgstr "vmの状態の %s から %s への変更に成功しました。" +#~ msgid "Starting %s node" +#~ msgstr "ノード %s を開始します。" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 #, python-format -msgid "Failed to change vm state of %s to %s" -msgstr "VMの状態の %s から %s への変更に失敗しました。" +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "データストア %s に接続できません。 %d 秒後に再接続します。" -#: nova/virt/images.py:70 #, python-format -msgid "Finished retreving %s -- placed in %s" -msgstr "%s を取得しました。格納先: %s" +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "IPを取得できません。127.0.0.1 を %s として使います。" -#: nova/virt/libvirt_conn.py:144 #, python-format -msgid "Connecting to libvirt: %s" -msgstr "libvirt %s へ接続します。" - -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" -msgstr "libvirtへの接続が切れています。" +#~ msgid "" +#~ "Access key %s has had %d failed authentications and will be locked out for " +#~ "%d minutes." +#~ msgstr "アクセスキー %s は %d 回認証に失敗したため、%d 分間ロックされます。" -#: nova/virt/libvirt_conn.py:229 #, python-format -msgid "instance %s: deleting instance files %s" -msgstr "インスタンス %s: インスタンスファイル %s を削除しています。" +#~ msgid "Authenticated Request For %s:%s)" +#~ msgstr "リクエストを認証しました: %s:%s" -#: nova/virt/libvirt_conn.py:271 #, python-format -msgid "No disk at %s" -msgstr "%s にディスクが存在しません。" - -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" -msgstr "インスタンスのスナップショットは現在libvirtに対してはサポートされていません。" +#~ msgid "arg: %s\t\tval: %s" +#~ msgstr "引数(arg): %s\t値(val): %s" -#: nova/virt/libvirt_conn.py:294 #, python-format -msgid "instance %s: rebooted" -msgstr "インスタンス%s: 再起動しました。" +#~ msgid "Unauthorized request for controller=%s and action=%s" +#~ msgstr "許可されていないリクエスト: controller=%s, action %sです。" -#: nova/virt/libvirt_conn.py:297 #, python-format -msgid "_wait_for_reboot failed: %s" -msgstr "_wait_for_reboot 失敗: %s" +#~ msgid "Adding role %s to user %s for project %s" +#~ msgstr "Adding role: ロール %s をユーザ %s、プロジェクト %s に追加します。" -#: nova/virt/libvirt_conn.py:340 #, python-format -msgid "instance %s: rescued" -msgstr "インスタンス %s: rescued" +#~ msgid "Adding sitewide role %s to user %s" +#~ msgstr "Adding sitewide role: サイトワイドのロール %s をユーザ %s に追加します。" -#: nova/virt/libvirt_conn.py:343 #, python-format -msgid "_wait_for_rescue failed: %s" -msgstr "_wait_for_rescue 失敗: %s" +#~ msgid "Removing role %s from user %s for project %s" +#~ msgstr "Removing role: ロール %s をユーザ %s プロジェクト %s から削除します。" -#: nova/virt/libvirt_conn.py:370 #, python-format -msgid "instance %s: is running" -msgstr "インスタンス %s を起動中です。" +#~ msgid "Removing sitewide role %s from user %s" +#~ msgstr "Removing sitewide role: サイトワイドのロール %s をユーザ %s から削除します。" -#: nova/virt/libvirt_conn.py:381 #, python-format -msgid "instance %s: booted" -msgstr "インスタンス %s: 起動しました。" +#~ msgid "Getting x509 for user: %s on project: %s" +#~ msgstr "Getting X509: x509の取得: ユーザ %s, プロジェクト %s" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 #, python-format -msgid "instance %s: failed to boot" -msgstr "インスタンス %s の起動に失敗しました。" +#~ msgid "Create project %s managed by %s" +#~ msgstr "Create project: プロジェクト %s (%s により管理される)を作成します。" -#: nova/virt/libvirt_conn.py:395 #, python-format -msgid "virsh said: %r" -msgstr "virsh の出力: %r" +#~ msgid "Adding user %s to project %s" +#~ msgstr "Adding user: ユーザ %s をプロジェクト %s に追加します。" -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" -msgstr "デバイスです。" +#, python-format +#~ msgid "Removing user %s from project %s" +#~ msgstr "Removing user: ユーザ %s をプロジェクト %s から削除します。" -#: nova/virt/libvirt_conn.py:407 #, python-format -msgid "data: %r, fpath: %r" -msgstr "データ:%r ファイルパス: %r" +#~ msgid "Unsupported API request: controller = %s,action = %s" +#~ msgstr "サポートされていないAPIリクエストです。 controller = %s,action = %s" -#: nova/virt/libvirt_conn.py:415 #, python-format -msgid "Contents of file %s: %r" -msgstr "ファイル %s の中身: %r" +#~ msgid "Attach volume %s to instacne %s at %s" +#~ msgstr "Attach volume: ボリューム%s をインスタンス %s にデバイス %s でアタッチします。" -#: nova/virt/libvirt_conn.py:449 #, python-format -msgid "instance %s: Creating image" -msgstr "インスタンス %s のイメージを生成します。" +#~ msgid "Associate address %s to instance %s" +#~ msgstr "Associate address: アドレス %s をインスタンス %s に関連付けます。" -#: nova/virt/libvirt_conn.py:505 #, python-format -msgid "instance %s: injecting key into image %s" -msgstr "インスタンス %s にキー %s をインジェクトします。" +#~ msgid "Registered image %s with id %s" +#~ msgstr "Registered image: イメージ %s をid %s で登録します。" -#: nova/virt/libvirt_conn.py:508 #, python-format -msgid "instance %s: injecting net into image %s" -msgstr "インスタンス %s のネットワーク設定をイメージ %s にインジェクトします。" +#~ msgid "User %s is already a member of the group %s" +#~ msgstr "ユーザ %s は既にグループ %s のメンバーです。" -#: nova/virt/libvirt_conn.py:516 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" -msgstr "インスタンス %s: データをイメージ %s にインジェクトする際にエラーが発生しました。(%s)" +#~ msgid "failed authorization: no project named %s (user=%s)" +#~ msgstr "Failed authorization: 認証に失敗しました。プロジェクト名 %s (ユーザ = %s) は存在しません。" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 #, python-format -msgid "instance %s: starting toXML method" -msgstr "インスタンス %s: toXML メソッドを開始。" +#~ msgid "Failed authorization: user %s not admin and not member of project %s" +#~ msgstr "" +#~ "Failed authorization: 認証に失敗しました: ユーザ %s は管理者ではなくかつプロジェクト %s のメンバーではありません。" -#: nova/virt/libvirt_conn.py:589 #, python-format -msgid "instance %s: finished toXML method" -msgstr "インスタンス %s: toXML メソッドを完了。" +#~ msgid "User %s is not a member of project %s" +#~ msgstr "ユーザ %s はプロジェクト %s のメンバーではありません。" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" -msgstr "" -"connection_type=xenapi を使用するには、以下の指定が必要です: xenapi_connection_url, " -"xenapi_connection_username (オプション), xenapi_connection_password" +#, python-format +#~ msgid "Adding role %s to user %s in project %s" +#~ msgstr "Adding role: ロール %s をユーザ %s (プロジェクト %s の) に追加します。" -#: nova/virt/xenapi_conn.py:263 #, python-format -msgid "Task [%s] %s status: success %s" -msgstr "タスク [%s] %s ステータス: success %s" +#~ msgid "Removing role %s from user %s on project %s" +#~ msgstr "Removing role: ロール %s をユーザ %s (プロジェクト %s の)から削除します。" -#: nova/virt/xenapi_conn.py:271 #, python-format -msgid "Task [%s] %s status: %s %s" -msgstr "タスク [%s] %s ステータス: %s %s" +#~ msgid "Created project %s with manager %s" +#~ msgstr "Created project: プロジェクト %s (マネージャ %s)を作成します。" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 #, python-format -msgid "Got exception: %s" -msgstr "例外 %s が発生しました。" +#~ msgid "Remove user %s from project %s" +#~ msgstr "Remove user: ユーザ %s をプロジェクト %s から削除します。" -#: nova/virt/xenapi/fake.py:72 #, python-format -msgid "%s: _db_content => %s" -msgstr "%s: _db_content => %s" +#~ msgid "Created user %s (admin: %r)" +#~ msgstr "Created user: ユーザ %s (admin: %r) を作成しました。" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" -msgstr "NotImplemented 例外を発生させます。" +#, python-format +#~ msgid "Admin status set to %r for user %s" +#~ msgstr "Admin status set: 管理者ステータス %r をユーザ %s に設定します。" -#: nova/virt/xenapi/fake.py:249 #, python-format -msgid "xenapi.fake does not have an implementation for %s" -msgstr "xenapi.fake には %s が実装されていません。" +#~ msgid "Quota exceeeded for %s, tried to run %s instances" +#~ msgstr "%s のクオータ上限を超えました。%s インスタンスを実行しようとしました。" -#: nova/virt/xenapi/fake.py:283 #, python-format -msgid "Calling %s %s" -msgstr "呼び出し: %s %s" +#~ msgid "Casting to scheduler for %s/%s's instance %s" +#~ msgstr "スケジューラに対して %s/%s のインスタンス %s を送信します。" -#: nova/virt/xenapi/fake.py:288 #, python-format -msgid "Calling getter %s" -msgstr "getter %s をコールします。" +#~ msgid "Going to try and terminate %s" +#~ msgstr "%s を終了します。" -#: nova/virt/xenapi/fake.py:340 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" -msgstr "xenapi.fake に %s に関する実装がないか、引数の数が誤っています。" +#~ msgid "Input partition size not evenly divisible by sector size: %d / %d" +#~ msgstr "インプットパーティションサイズがセクターサイズで割り切れません。 %d / %d" -#: nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Found non-unique network for bridge %s" -msgstr "ブリッジ %s に対してブリッジが複数存在します。" +#~ msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +#~ msgstr "ローカルストレージのバイト数がセクターサイズで割り切れません: %d / %d" -#: nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Found no network for bridge %s" -msgstr "ブリッジ %s に対するネットワークが存在しません。" +#~ msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +#~ msgstr "check_instance_lock: arguments: |%s| |%s| |%s|" -#: nova/virt/xenapi/vm_utils.py:127 #, python-format -msgid "Created VM %s as %s." -msgstr "VM %s を %s として作成しました。" +#~ msgid "Disassociating address %s" +#~ msgstr "アドレス %s の関連付けを解除(disassociate)しています。" -#: nova/virt/xenapi/vm_utils.py:147 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " -msgstr "VM %s, VDI %s のVBDを作成します… " +#~ msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +#~ msgstr "実行していないインスタンスの再起動を試みます。%s (状態: %s 期待する状態: %s)" -#: nova/virt/xenapi/vm_utils.py:149 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." -msgstr "VBD %s を VM %s, VDI %s に対して作成しました。" +#~ msgid "" +#~ "trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +#~ msgstr "実行していないインスタンスのスナップショット取得を試みます。%s (状態: %s 期待する状態: %s)" -#: nova/virt/xenapi/vm_utils.py:165 #, python-format -msgid "VBD not found in instance %s" -msgstr "インスタンス %s のVBDが見つかりません。" +#~ msgid "instance %s: attaching volume %s to %s" +#~ msgstr "attaching volume: インスタンス %s についてボリューム %s を %s にアタッチします。" -#: nova/virt/xenapi/vm_utils.py:175 #, python-format -msgid "Unable to unplug VBD %s" -msgstr "VBD %s の unplug に失敗しました。" +#~ msgid "instance %s: attach failed %s, removing" +#~ msgstr "インスタンス %s: %sのアタッチに失敗しました。リムーブします。" -#: nova/virt/xenapi/vm_utils.py:187 #, python-format -msgid "Unable to destroy VBD %s" -msgstr "VBD %s の削除に失敗しました。" +#~ msgid "Detach volume %s from mountpoint %s on instance %s" +#~ msgstr "Detach volume: ボリューム %s をマウントポイント %s (インスタンス%s)からデタッチします。" -#: nova/virt/xenapi/vm_utils.py:202 #, python-format -msgid "Creating VIF for VM %s, network %s." -msgstr "VM %s, ネットワーク %s を作成します。" +#~ msgid "Cannot get blockstats for \"%s\" on \"%s\"" +#~ msgstr "ブロックデバイス \"%s\" の統計を \"%s\" について取得できません。" -#: nova/virt/xenapi/vm_utils.py:205 #, python-format -msgid "Created VIF %s for VM %s, network %s." -msgstr "VIF %s を VM %s, ネットワーク %s に作成しました。" +#~ msgid "Cannot get ifstats for \"%s\" on \"%s\"" +#~ msgstr "インタフェース \"%s\" の統計を \"%s\" について取得できません。" -#: nova/virt/xenapi/vm_utils.py:216 #, python-format -msgid "Snapshotting VM %s with label '%s'..." -msgstr "VM %s のスナップショットをラベル '%s' で作成します。" +#~ msgid "No service for %s, %s" +#~ msgstr "%s, %s のserviceが存在しません。" -#: nova/virt/xenapi/vm_utils.py:229 #, python-format -msgid "Created snapshot %s from VM %s." -msgstr "スナップショット %s を VM %s について作成しました。" +#~ msgid "No instance for id %s" +#~ msgstr "id %s のinstanceが存在しません。" -#: nova/virt/xenapi/vm_utils.py:243 #, python-format -msgid "Asking xapi to upload %s as '%s'" -msgstr "xapiに対して %s を '%s' としてアップロードするように指示します。" +#~ msgid "no keypair for user %s, name %s" +#~ msgstr "ユーザ %s, ネーム%s に該当するキーペアが存在しません。" -#: nova/virt/xenapi/vm_utils.py:261 #, python-format -msgid "Asking xapi to fetch %s as %s" -msgstr "xapi に対して %s を %s として取得するように指示します。" +#~ msgid "No volume for id %s" +#~ msgstr "id %s に該当するボリュームが存在しません。" -#: nova/virt/xenapi/vm_utils.py:279 #, python-format -msgid "Looking up vdi %s for PV kernel" -msgstr "PV kernelのvdi %s を取得します。" +#~ msgid "No security group named %s for project: %s" +#~ msgstr "セキュリティグループ名 %s がプロジェクト %s に存在しません。" -#: nova/virt/xenapi/vm_utils.py:290 #, python-format -msgid "PV Kernel in VDI:%d" -msgstr "VDIのPV Kernel: %d" +#~ msgid "Parallax returned HTTP error %d from request for /images" +#~ msgstr "Parallax がHTTPエラー%d を /images に対するリクエストに対して返しました。" -#: nova/virt/xenapi/vm_utils.py:318 #, python-format -msgid "VDI %s is still available" -msgstr "VDI %s は依然として存在しています。" +#~ msgid "Parallax returned HTTP error %d from request for /images/detail" +#~ msgstr "Parallax がHTTPエラー %d を /images/detail に対するリクエストに対して返しました" -#: nova/virt/xenapi/vm_utils.py:331 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" -msgstr "(VM_UTILS) xenserver の vm state -> |%s|" +#~ msgid "IP %s leased to bad mac %s vs %s" +#~ msgstr "IP %s が期待した mac %s ではなく %s にリースされました。" -#: nova/virt/xenapi/vm_utils.py:333 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" -msgstr "(VM_UTILS) xenapi の power_state -> |%s|" +#~ msgid "IP %s released from bad mac %s vs %s" +#~ msgstr "IP %s がmac %s ではない mac %s への割当から開放されました。" -#: nova/virt/xenapi/vm_utils.py:390 #, python-format -msgid "VHD %s has parent %s" -msgstr "VHD %s のペアレントは %s です。" +#~ msgid "Getting object: %s / %s" +#~ msgstr "オブジェクトの取得: %s / %s" -#: nova/virt/xenapi/vm_utils.py:407 #, python-format -msgid "Re-scanning SR %s" -msgstr "SR %s を再スキャンします。" +#~ msgid "Unauthorized attempt to get object %s from bucket %s" +#~ msgstr "" +#~ "Unauthorized attempt to get object: オブジェクト %s のバケット %s からの取得は許可されていません。" -#: nova/virt/xenapi/vm_utils.py:431 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." -msgstr "ペアレント %s がオリジナルのペアレント %s と一致しません。合致するのを待ちます…" +#~ msgid "Putting object: %s / %s" +#~ msgstr "オブジェクトの格納:: %s / %s" -#: nova/virt/xenapi/vm_utils.py:448 #, python-format -msgid "No VDIs found for VM %s" -msgstr "VM %s にVDIが存在しません。" +#~ msgid "Unauthorized attempt to upload object %s to bucket %s" +#~ msgstr "" +#~ "Unauthorized attempt to upload: オブジェクト %s のバケット %s へのアップロードは許可されていません。" -#: nova/virt/xenapi/vm_utils.py:452 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" -msgstr "予期しない数 (%s) のVDIがVM %s に存在します。" +#~ msgid "Deleting object: %s / %s" +#~ msgstr "オブジェクトを削除しています。: %s / %s" -#: nova/virt/xenapi/vmops.py:62 #, python-format -msgid "Attempted to create non-unique name %s" -msgstr "ユニークではないname %s を作成しようとしました。" +#~ msgid "Toggling publicity flag of image %s %r" +#~ msgstr "Toggling publicity flag: イメージ %s の公開フラグを %r に更新します。" -#: nova/virt/xenapi/vmops.py:99 #, python-format -msgid "Starting VM %s..." -msgstr "VM %s を開始します…" +#~ msgid "Casting to %s %s for %s" +#~ msgstr "メッセージのcast: %s %s for %s" -#: nova/virt/xenapi/vmops.py:101 #, python-format -msgid "Spawning VM %s created %s." -msgstr "VM %s の生成(spawning) により %s を作成しました。" +#~ msgid "Nested received %s, %s" +#~ msgstr "ネスとした受信: %s, %s" -#: nova/virt/xenapi/vmops.py:112 #, python-format -msgid "Instance %s: booted" -msgstr "インスタンス%s: ブートしました。" +#~ msgid "Creating disk for %s by attaching disk file %s" +#~ msgstr "%s のディスクをディスクファイル %s をアタッチして作成します。" -#: nova/virt/xenapi/vmops.py:137 #, python-format -msgid "Instance not present %s" -msgstr "インスタンス%s が存在しません。" +#~ msgid "Created switch port %s on switch %s" +#~ msgstr "スイッチポート %s をスイッチ %s に作成しました。" -#: nova/virt/xenapi/vmops.py:166 #, python-format -msgid "Starting snapshot for VM %s" -msgstr "VM %s に対するスナップショットを開始します。" +#~ msgid "WMI job succeeded: %s, Elapsed=%s " +#~ msgstr "WMIジョブが成功しました: %s, 経過時間=%s " -#: nova/virt/xenapi/vmops.py:174 #, python-format -msgid "Unable to Snapshot %s: %s" -msgstr "%s のスナップショットに失敗しました: %s" +#~ msgid "Del: disk %s vm %s" +#~ msgstr "Del: 削除: disk %s vm %s" -#: nova/virt/xenapi/vmops.py:184 #, python-format -msgid "Finished snapshot and upload for VM %s" -msgstr "VM %s のスナップショットとアップロードが完了しました。" +#~ msgid "" +#~ "Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " +#~ "cpu_time=%s" +#~ msgstr "" +#~ "vm %s の情報の取得: state=%s, mem=%s, num_cpu=%s, cpu_time=%s" -#: nova/virt/xenapi/vmops.py:252 #, python-format -msgid "suspend: instance not present %s" -msgstr "suspend: インスタンス %s は存在しません。" +#~ msgid "Successfully changed vm state of %s to %s" +#~ msgstr "vmの状態の %s から %s への変更に成功しました。" -#: nova/virt/xenapi/vmops.py:262 #, python-format -msgid "resume: instance not present %s" -msgstr "resume: インスタンス %s は存在しません。" +#~ msgid "Failed to change vm state of %s to %s" +#~ msgstr "VMの状態の %s から %s への変更に失敗しました。" -#: nova/virt/xenapi/vmops.py:271 #, python-format -msgid "Instance not found %s" -msgstr "インスタンス %s が見つかりません。" +#~ msgid "Finished retreving %s -- placed in %s" +#~ msgstr "%s を取得しました。格納先: %s" -#: nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Introducing %s..." -msgstr "%s を introduce します…" +#~ msgid "instance %s: deleting instance files %s" +#~ msgstr "インスタンス %s: インスタンスファイル %s を削除しています。" -#: nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Introduced %s as %s." -msgstr "%s を %s として introduce しました。" +#~ msgid "data: %r, fpath: %r" +#~ msgstr "データ:%r ファイルパス: %r" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" -msgstr "Storage Repository を作成できません。" +#, python-format +#~ msgid "Contents of file %s: %r" +#~ msgstr "ファイル %s の中身: %r" -#: nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Unable to find SR from VBD %s" -msgstr "VBD %s から SRを取得できません。" +#~ msgid "instance %s: injecting key into image %s" +#~ msgstr "インスタンス %s にキー %s をインジェクトします。" -#: nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Forgetting SR %s ... " -msgstr "SR %s をforgetします。 " +#~ msgid "instance %s: injecting net into image %s" +#~ msgstr "インスタンス %s のネットワーク設定をイメージ %s にインジェクトします。" -#: nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" -msgstr "例外 %s が %s のPBDを取得する際に発生しましたが無視します。" +#~ msgid "instance %s: ignoring error injecting data into image %s (%s)" +#~ msgstr "インスタンス %s: データをイメージ %s にインジェクトする際にエラーが発生しました。(%s)" -#: nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" -msgstr "例外 %s が %s のPBDをunplugする際に発生しましたが無視します。" +#~ msgid "Task [%s] %s status: success %s" +#~ msgstr "タスク [%s] %s ステータス: success %s" -#: nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Forgetting SR %s done." -msgstr "SR %s のforgetが完了。" +#~ msgid "Task [%s] %s status: %s %s" +#~ msgstr "タスク [%s] %s ステータス: %s %s" -#: nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" -msgstr "例外 %s がSR %s をforgetする際に発生しましたが無視します。" +#~ msgid "%s: _db_content => %s" +#~ msgstr "%s: _db_content => %s" -#: nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Unable to introduce VDI on SR %s" -msgstr "SR %s のVDIのintroduceができません。" +#~ msgid "Calling %s %s" +#~ msgstr "呼び出し: %s %s" -#: nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "Unable to get record of VDI %s on" -msgstr "VDI %s のレコードを取得できません。" +#~ msgid "Created VM %s as %s." +#~ msgstr "VM %s を %s として作成しました。" -#: nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Unable to introduce VDI for SR %s" -msgstr "SR %s のVDIをintroduceできません。" +#~ msgid "Creating VBD for VM %s, VDI %s ... " +#~ msgstr "VM %s, VDI %s のVBDを作成します… " -#: nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Unable to obtain target information %s, %s" -msgstr "ターゲットの情報を取得できません。 %s, %s" +#~ msgid "Created VBD %s for VM %s, VDI %s." +#~ msgstr "VBD %s を VM %s, VDI %s に対して作成しました。" -#: nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "Mountpoint cannot be translated: %s" -msgstr "マウントポイントを変換できません。 %s" +#~ msgid "Creating VIF for VM %s, network %s." +#~ msgstr "VM %s, ネットワーク %s を作成します。" -#: nova/virt/xenapi/volumeops.py:51 #, python-format -msgid "Attach_volume: %s, %s, %s" -msgstr "Attach_volume: ボリュームのアタッチ: %s, %s, %s" +#~ msgid "Created VIF %s for VM %s, network %s." +#~ msgstr "VIF %s を VM %s, ネットワーク %s に作成しました。" -#: nova/virt/xenapi/volumeops.py:69 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" -msgstr "SR %s にインスタンス %s のVDIを作成できません。" +#~ msgid "Snapshotting VM %s with label '%s'..." +#~ msgstr "VM %s のスナップショットをラベル '%s' で作成します。" -#: nova/virt/xenapi/volumeops.py:81 #, python-format -msgid "Unable to use SR %s for instance %s" -msgstr "SR %s をインスタンス %s に対して利用できません。" +#~ msgid "Created snapshot %s from VM %s." +#~ msgstr "スナップショット %s を VM %s について作成しました。" -#: nova/virt/xenapi/volumeops.py:93 #, python-format -msgid "Unable to attach volume to instance %s" -msgstr "インスタンス %s にボリュームをアタッチできません。" +#~ msgid "Asking xapi to upload %s as '%s'" +#~ msgstr "xapiに対して %s を '%s' としてアップロードするように指示します。" -#: nova/virt/xenapi/volumeops.py:95 #, python-format -msgid "Mountpoint %s attached to instance %s" -msgstr "マウントポイント %s をインスタンス %s にアタッチしました。" +#~ msgid "Asking xapi to fetch %s as %s" +#~ msgstr "xapi に対して %s を %s として取得するように指示します。" -#: nova/virt/xenapi/volumeops.py:106 #, python-format -msgid "Detach_volume: %s, %s" -msgstr "Detach_volume: ボリュームのデタッチ: %s, %s" +#~ msgid "PV Kernel in VDI:%d" +#~ msgstr "VDIのPV Kernel: %d" -#: nova/virt/xenapi/volumeops.py:113 #, python-format -msgid "Unable to locate volume %s" -msgstr "ボリューム %s の存在が確認できません。" +#~ msgid "VHD %s has parent %s" +#~ msgstr "VHD %s のペアレントは %s です。" -#: nova/virt/xenapi/volumeops.py:121 #, python-format -msgid "Unable to detach volume %s" -msgstr "ボリューム %s のデタッチができません。" +#~ msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#~ msgstr "ペアレント %s がオリジナルのペアレント %s と一致しません。合致するのを待ちます…" -#: nova/virt/xenapi/volumeops.py:128 #, python-format -msgid "Mountpoint %s detached from instance %s" -msgstr "マウントポイント %s をインスタンス %s からデタッチしました。" +#~ msgid "Unexpected number of VDIs (%s) found for VM %s" +#~ msgstr "予期しない数 (%s) のVDIがVM %s に存在します。" -#: nova/volume/api.py:44 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" -msgstr "%sのクオータを超えています。サイズ %sG のボリュームの作成を行おうとしました。" +#~ msgid "Spawning VM %s created %s." +#~ msgstr "VM %s の生成(spawning) により %s を作成しました。" -#: nova/volume/api.py:46 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "ボリュームのクオータを超えています。%sの大きさのボリュームは作成できません。" +#~ msgid "Unable to Snapshot %s: %s" +#~ msgstr "%s のスナップショットに失敗しました: %s" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "ボリュームのステータス(status)が available でなければなりません。" +#, python-format +#~ msgid "suspend: instance not present %s" +#~ msgstr "suspend: インスタンス %s は存在しません。" -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "ボリュームは既にアタッチされています(attached)。" +#, python-format +#~ msgid "resume: instance not present %s" +#~ msgstr "resume: インスタンス %s は存在しません。" -#: nova/volume/api.py:103 -msgid "Volume is already detached" -msgstr "ボリュームは既にデタッチされています(detached)。" +#, python-format +#~ msgid "Instance not found %s" +#~ msgstr "インスタンス %s が見つかりません。" -#: nova/volume/driver.py:76 #, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "実行失敗からリカバリーします。%s 回目のトライ。" +#~ msgid "Introduced %s as %s." +#~ msgstr "%s を %s として introduce しました。" -#: nova/volume/driver.py:85 #, python-format -msgid "volume group %s doesn't exist" -msgstr "ボリュームグループ%sが存在しません。" +#~ msgid "Ignoring exception %s when getting PBDs for %s" +#~ msgstr "例外 %s が %s のPBDを取得する際に発生しましたが無視します。" -#: nova/volume/driver.py:210 #, python-format -msgid "FAKE AOE: %s" -msgstr "偽のAOE: %s" +#~ msgid "Ignoring exception %s when unplugging PBD %s" +#~ msgstr "例外 %s が %s のPBDをunplugする際に発生しましたが無視します。" -#: nova/volume/driver.py:315 #, python-format -msgid "FAKE ISCSI: %s" -msgstr "偽のISCSI: %s" +#~ msgid "Ignoring exception %s when forgetting SR %s" +#~ msgstr "例外 %s がSR %s をforgetする際に発生しましたが無視します。" -#: nova/volume/manager.py:85 #, python-format -msgid "Re-exporting %s volumes" -msgstr "%s 個のボリュームを再エクスポートします。" +#~ msgid "Unable to obtain target information %s, %s" +#~ msgstr "ターゲットの情報を取得できません。 %s, %s" -#: nova/volume/manager.py:93 #, python-format -msgid "volume %s: creating" -msgstr "ボリューム%sを作成します。" +#~ msgid "Attach_volume: %s, %s, %s" +#~ msgstr "Attach_volume: ボリュームのアタッチ: %s, %s, %s" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "ボリューム%sの%sGのlv (論理ボリューム) を作成します。" +#~ msgid "Unable to create VDI on SR %s for instance %s" +#~ msgstr "SR %s にインスタンス %s のVDIを作成できません。" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "ボリューム %s をエクスポートします。" +#~ msgid "Unable to use SR %s for instance %s" +#~ msgstr "SR %s をインスタンス %s に対して利用できません。" -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "ボリューム %s の作成に成功しました。" +#~ msgid "Mountpoint %s attached to instance %s" +#~ msgstr "マウントポイント %s をインスタンス %s にアタッチしました。" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "ボリュームはアタッチされたままです。" +#, python-format +#~ msgid "Detach_volume: %s, %s" +#~ msgstr "Detach_volume: ボリュームのデタッチ: %s, %s" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "ボリュームはこのノードのローカルではありません。" +#, python-format +#~ msgid "Mountpoint %s detached from instance %s" +#~ msgstr "マウントポイント %s をインスタンス %s からデタッチしました。" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "ボリューム %s のエクスポートを解除します。" +#~ msgid "Quota exceeeded for %s, tried to create %sG volume" +#~ msgstr "%sのクオータを超えています。サイズ %sG のボリュームの作成を行おうとしました。" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "ボリューム %s を削除します。" +#~ msgid "Volume quota exceeded. You cannot create a volume of size %s" +#~ msgstr "ボリュームのクオータを超えています。%sの大きさのボリュームは作成できません。" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "ボリューム %s の削除に成功しました。" +#~ msgid "volume %s: creating lv of size %sG" +#~ msgstr "ボリューム%sの%sGのlv (論理ボリューム) を作成します。" diff --git a/po/pt_BR.po b/po/pt_BR.po index e57f7304a..887c32597 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,2142 +7,3021 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-02-03 20:32+0000\n" -"Last-Translator: André Gondim \n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-03-24 14:51+0000\n" +"Last-Translator: msinhore \n" "Language-Team: Brazilian Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-25 05:22+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "Hosts não encontrados" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Erro inesperado ao executar o comando." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Exceção não capturada" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "Cota excedida para %(pid)s, tentando criar volume com %(size)sG" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" +"Cota excedida para o volume. Você não pode criar um volume com o tamanho %sG" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "O status do volume parece estar disponível" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "O Volume já está anexado" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "O Volume já está desanexado" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "Falha ao ler o IP privado" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "Falha ao ler o(s) IP(s) público(s)" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "%(param)s propriedade não foi encontrada para %(_image_id)s" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "Os keypairs não foram definidos" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "Compute.api::lock %s" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "Compute.api::unlock %s" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "Compute.api::get_lock %s" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "Compute.api::reset_network %s" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "Compute.api::pause %s" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "Compute.api::unpause %s" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "compute.api::suspend %s" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "compute.api::resume %s" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "Número errado de argumentos." + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" +"Arquivo do id do processo (pidfile) %s não existe. O Daemon está parado?\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "Processo inexistente" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "Servindo %s" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "Conjunto completo de FLAGS:" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "Iniciando %s" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "Instancia %s não encontrada" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" +"Não é possível criar o VDI no SR %(sr_ref)s para a instância " +"%(instance_name)s" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" +"Não é possível usar o SR %(sr_ref)s para a instância %(instance_name)s" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "Não é possível anexar o volume na instância %s" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" +"Ponto de montagem %(mountpoint)s conectada à instância %(instance_name)s" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "Detach_volume: %(instance_name)s, %(mountpoint)s" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "Não é possível localizar o volume %s" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "Não é possível desconectar o volume %s" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" +"Ponto de montagem %(mountpoint)s desanexada da instância %(instance_name)s" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "Tipo de instância desconhecido: %s" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "Nome do arquivo da CA raiz" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "Nome do arquivo da chave privada" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" msgstr "Nome de arquivo da Lista de Revogação de Certificados" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "Aonde armazenamos nossas chaves" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" -msgstr "Aonde mantemos nosso CA raiz" +msgstr "Onde mantemos nosso CA raiz" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "Devemos usar um CA para cada projeto?" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 #, python-format msgid "Subject for certificate for users, %s for project, user, timestamp" msgstr "" -"Sujeito do certificado para usuários, %s para projeto, usuário, timestamp" +"Assunto do certificado para usuários, %s para projeto, usuário, timestamp" -#: nova/crypto.py:66 +#: ../nova/crypto.py:66 #, python-format msgid "Subject for certificate for projects, %s for project, timestamp" -msgstr "Sujeito do certificado para projetos, %s para projeto, timestamp" +msgstr "Assunto do certificado para projetos, %s para projeto, timestamp" -#: nova/crypto.py:71 +#: ../nova/crypto.py:71 #, python-format msgid "Subject for certificate for vpns, %s for project, timestamp" -msgstr "Sujeito do certificado para vpns, %s para projeto, timestamp" +msgstr "Assunto do certificado para vpns, %s para projeto, timestamp" -#: nova/crypto.py:258 +#: ../nova/crypto.py:258 #, python-format msgid "Flags path: %s" -msgstr "Caminho da sinalização: %s" +msgstr "Localização dos sinalizadores: %s" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Erro inesperado ao executar o comando." +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "Moldagem para %(topic)s %(host)s para %(method)s" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "check_instance_lock: decorating: |%s|" -#: nova/exception.py:36 +#: ../nova/compute/manager.py:80 #, python-format msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Comando: %s\n" -"Código de retorno: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Exceção não capturada" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" +"check_instance_lock: argumentos: |%(self)s| |%(context)s| |%(instance_id)s|" -#: nova/fakerabbit.py:48 +#: ../nova/compute/manager.py:84 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s) publicar (key: %s) %s" +msgid "check_instance_lock: locked: |%s|" +msgstr "check_instance_lock: locked: |%s|" -#: nova/fakerabbit.py:53 +#: ../nova/compute/manager.py:86 #, python-format -msgid "Publishing to route %s" -msgstr "Publicando para rota %s" +msgid "check_instance_lock: admin: |%s|" +msgstr "check_instance_lock: admin: |%s|" -#: nova/fakerabbit.py:83 +#: ../nova/compute/manager.py:91 #, python-format -msgid "Declaring queue %s" -msgstr "Declarando fila %s" +msgid "check_instance_lock: executing: |%s|" +msgstr "check_instance_lock: executando: |%s|" -#: nova/fakerabbit.py:89 +#: ../nova/compute/manager.py:95 #, python-format -msgid "Declaring exchange %s" -msgstr "Declarando troca %s" +msgid "check_instance_lock: not executing |%s|" +msgstr "check_instance_lock: not executando |%s|" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "A instância já foi criada" -#: nova/fakerabbit.py:95 +#: ../nova/compute/manager.py:180 #, python-format -msgid "Binding %s to %s with key %s" -msgstr "Atribuindo %s para %s com chave %s" +msgid "instance %s: starting..." +msgstr "instância %s: iniciando..." -#: nova/fakerabbit.py:120 +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 #, python-format -msgid "Getting from %s: %s" -msgstr "Obtendo de %s: %s" +msgid "instance %s: Failed to spawn" +msgstr "instância %s: falha na geração" -#: nova/rpc.py:92 +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "" -"Servidor AMQP em %s:%d inatingível. Tentando novamente em %d segundos." +msgid "Terminating instance %s" +msgstr "Terminando a instância %s" -#: nova/rpc.py:99 +#: ../nova/compute/manager.py:255 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "" -"Não foi possível conectar ao servidor AMQP após %d tentativas. Desligando." +msgid "Deallocating address %s" +msgstr "Desalocando o endereço %s" -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Reconectado à fila" +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "tentando destruir instância já destruida: %s" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "Falha ao obter mensagem da fila" +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "Reiniciando a instância %s" -#: nova/rpc.py:155 +#: ../nova/compute/manager.py:287 #, python-format -msgid "Initing the Adapter Consumer for %s" -msgstr "Iniciando o Adaptador Consumidor para %s" +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" +"tentando reiniciar uma instancia com estado diferente de running: " +"%(instance_id)s (estado: %(state)s esperado: %(running)s)" -#: nova/rpc.py:170 +#: ../nova/compute/manager.py:311 #, python-format -msgid "received %s" -msgstr "recebido %s" +msgid "instance %s: snapshotting" +msgstr "instância %s: fazendo um snapshot" -#: nova/rpc.py:183 +#: ../nova/compute/manager.py:316 #, python-format -msgid "no method for message: %s" -msgstr "sem método para mensagem: %s" +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" +"tentando fazer um snapshot de uma instância com estado diferente de running: " +" %(instance_id)s (estado: %(state)s esperado: %(running)s)" -#: nova/rpc.py:184 +#: ../nova/compute/manager.py:332 #, python-format -msgid "No method for message: %s" -msgstr "Sem método para mensagem: %s" +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" +"tentando limpar a senha de uma instância com estado diferente de running: " +"%(instance_id)s (estado: %(instance_state)s esperado: %(expected_state)s)" -#: nova/rpc.py:245 +#: ../nova/compute/manager.py:335 #, python-format -msgid "Returning exception %s to caller" -msgstr "Retornando exceção %s ao método de origem" +msgid "instance %s: setting admin password" +msgstr "instância %s: configurando a senha do administrador" -#: nova/rpc.py:286 +#: ../nova/compute/manager.py:353 #, python-format -msgid "unpacked context: %s" -msgstr "conteúdo descompactado: %s" +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" +"tentando injetar o arquivo dentro de uma instância com estado diferente de " +"running: %(instance_id)s (estado: %(instance_state)s esperado: " +"%(expected_state)s)" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Fazendo chamada assíncrona..." +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "instância %(nm)s: injetando um arquivo para %(plain_path)s" -#: nova/rpc.py:308 +#: ../nova/compute/manager.py:372 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID é %s" +msgid "instance %s: rescuing" +msgstr "instância %s: resgatando" -#: nova/rpc.py:356 +#: ../nova/compute/manager.py:387 #, python-format -msgid "response %s" -msgstr "resposta %s" +msgid "instance %s: unrescuing" +msgstr "instância %s: desfazendo o resgate" -#: nova/rpc.py:365 +#: ../nova/compute/manager.py:406 #, python-format -msgid "topic is %s" -msgstr "topico é %s" +msgid "instance %s: pausing" +msgstr "instância %s: pausando" -#: nova/rpc.py:366 +#: ../nova/compute/manager.py:423 #, python-format -msgid "message %s" -msgstr "mensagem %s" +msgid "instance %s: unpausing" +msgstr "instância %s: saindo do pause" -#: nova/service.py:157 +#: ../nova/compute/manager.py:440 #, python-format -msgid "Starting %s node" -msgstr "Iniciando nó %s" +msgid "instance %s: retrieving diagnostics" +msgstr "instância %s: recuperando os diagnósticos" -#: nova/service.py:169 -msgid "Service killed that has no database entry" -msgstr "Encerrado serviço que não tem entrada na base de dados" +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "instância %s: suspendendo" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." -msgstr "O objeto da base de dados do serviço desapareceu, Recriando." +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" -msgstr "Recuperada conexão servidor de modelo." +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "instância %s: bloqueando" -#: nova/service.py:208 -msgid "model server went away" -msgstr "servidor de modelo perdido" +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "instância %s: desbloqueando" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/compute/manager.py:513 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "instance %s: getting locked state" msgstr "" -"Repositório de dados %s não pode ser atingido. Tentando novamente em %d " -"segundos." -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/compute/manager.py:526 #, python-format -msgid "Serving %s" -msgstr "Servindo %s" +msgid "instance %s: reset network" +msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" -msgstr "Conjunto completo de FLAGS:" +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "Obter saída do console para instância %s" -#: nova/twistd.py:211 +#: ../nova/compute/manager.py:543 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +msgid "instance %s: getting ajax console" +msgstr "instância %s: obtendo console ajax" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" msgstr "" -"Arquivo de id de processo (pidfile) %s não existe. Daemon não está " -"executando?\n" -#: nova/twistd.py:268 +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 #, python-format -msgid "Starting %s" -msgstr "Iniciando %s" +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" -#: nova/utils.py:53 +#: ../nova/compute/manager.py:585 #, python-format -msgid "Inner Exception: %s" -msgstr "Exceção interna: %s" +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" -#: nova/utils.py:54 +#: ../nova/compute/manager.py:588 #, python-format -msgid "Class %s cannot be found" -msgstr "Classe %s não pode ser encontrada" +msgid "Detaching volume from unknown instance %s" +msgstr "" -#: nova/utils.py:113 +#: ../nova/scheduler/simple.py:53 #, python-format -msgid "Fetching %s" -msgstr "Obtendo %s" +msgid "Host %s is not alive" +msgstr "Host %s não está ativo" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" -#: nova/utils.py:125 +#: ../nova/scheduler/simple.py:87 #, python-format -msgid "Running cmd (subprocess): %s" -msgstr "Executando comando (subprocesso): %s" +msgid "Host %s not available" +msgstr "O host %s não está disponível" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "Todos os hosts tem muitos gigabytes" -#: nova/utils.py:138 +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "Todos os hosts tem muitas interfaces de rede" + +#: ../nova/volume/manager.py:85 #, python-format -msgid "Result was %s" -msgstr "Resultado foi %s" +msgid "Re-exporting %s volumes" +msgstr "Re-exportando %s volumes" -#: nova/utils.py:171 +#: ../nova/volume/manager.py:90 #, python-format -msgid "debug in callback: %s" -msgstr "debug em callback: %s" +msgid "volume %s: skipping export" +msgstr "volume %s: ignorando export" -#: nova/utils.py:176 +#: ../nova/volume/manager.py:96 #, python-format -msgid "Running %s" -msgstr "Executando %s" +msgid "volume %s: creating" +msgstr "volume %s: criando" -#: nova/utils.py:207 +#: ../nova/volume/manager.py:108 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "Não foi possível obter IP, usando 127.0.0.1 %s" +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "volume %(vol_name)s: criando lv com tamanho %(vol_size)sG" -#: nova/utils.py:289 +#: ../nova/volume/manager.py:112 #, python-format -msgid "Invalid backend: %s" -msgstr "Backend inválido: %s" +msgid "volume %s: creating export" +msgstr "volume %s: criando o export" -#: nova/utils.py:300 +#: ../nova/volume/manager.py:123 #, python-format -msgid "backend %s" -msgstr "backend %s" +msgid "volume %s: created successfully" +msgstr "volume %s: criado com sucesso" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "Muitas falhas de autenticação." +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "O volume continua atachado" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "O volume não pertence à este node" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "volume %s: removendo export" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "volume %s: removendo" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "volume %s: remoção realizada com sucesso" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "%(text)s: _db_content => %(content)s" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "Aumento não implementado" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "xenapi.fake não tem uma implementação para %s" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "Chamando %(localname)s %(impl)s" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "Chamando o pai %s" + +#: ../nova/virt/xenapi/fake.py:406 +#, python-format +msgid "" +"xenapi.fake does not have an implementation for %s or it has been called " +"with the wrong number of arguments" +msgstr "" +"xenapi.fake não tem implementação para %s ou isto foi chamado com um número " +"de argumentos inválidos" + +#: ../nova/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "Não é possível testar instâncias sem um ambiente virtual real" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "É necessário assistir a instância %s até ela estar rodando..." + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "Falha ao abrir a conexão com o hypervisor" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "Iniciando a VLAN %s" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "Iniciando a Bridge para %s" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "Pid %d está ultrapassado, reiniciando dnsmasq" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "Pid %d está ultrapassado, reiniciando radvd" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "Exceção interna: %s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "Classe %s não pode ser encontrada" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "Obtendo %s" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "Executando comando (subprocesso): %s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "Resultado foi %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "Rodando o comando (SSH): %s" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "debug em callback: %s" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "Executando %s" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "Endereço para Link Local não encontrado: %s" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" +"Não foi possível atribuir um IP para o Link Local de %(interface)s :%(ex)s" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "Backend inválido: %s" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "backend %s" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "(%(nm)s) publicar (key: %(routing_key)s) %(message)s" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "Publicando para rota %s" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "Declarando fila %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "Declarando troca %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "Ligação %(queue)s para %(exchange)s com chave %(routing_key)s" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "VM %s criada..." + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "VM %(instance_name)s criada como %(vm_ref)s." + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "Criando VBD para VM %(vm_ref)s, VDI %(vdi_ref)s ... " + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "VBD %(vbd_ref)s criado para VM %(vm_ref)s, VDI %(vdi_ref)s." + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "O VBD não foi encontrado na instância %s" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "Não é possível desconectar o VBD %s" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "Não é possível destruir o VBD %s" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "Criando a VIF para VM %(vm_ref)s, rede %(network_ref)s." + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "VIF %(vif_ref)s criada para VM %(vm_ref)s, rede %(network_ref)s." + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" +"VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) no SR " +"%(sr_ref)s criada com sucesso." + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "Fazendo um snapshot da VM %(vm_ref)s com rótulo '%(label)s'..." + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "Snapshot %(template_vm_ref)s criado a partir da VM %(vm_ref)s." + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" +"Solicitando à xapi para realizar upload da imagem %(vdi_uuids)s com ID " +"%(image_id)s" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "Tamanho da imagem %(image)s:%(virtual_size)d" + +#: ../nova/virt/xenapi/vm_utils.py:332 +#, python-format +msgid "Glance image %s" +msgstr "" + +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 +#, python-format +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "Copiando o VDI %s de /boot/guest no dom0" + +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "Kernel/Ramdisk %s destruidos" + +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" +msgstr "Verificando o vdi %s para kernel PV" + +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" +msgstr "Kernel PV no VDI: %s" + +#: ../nova/virt/xenapi/vm_utils.py:405 +#, python-format +msgid "Running pygrub against %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "Kernel Xen encontrado: %s" + +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "Kernel Xen não encontrado. Iniciando como HVM." + +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" +msgstr "nome duplicado encontrado: %s" + +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" +msgstr "O VDI %s continua disponível" + +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "(VM_UTILS) xenserver vm state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:465 +#, python-format +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "(VM_UTILS) xenapi power_state -> |%s|" + +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:574 +#, 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:590 +#, python-format +msgid "No VDIs found for VM %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:594 +#, python-format +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 +#, python-format +msgid "Creating VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:747 +#, python-format +msgid "Writing partition table %s done." +msgstr "" + +#: ../nova/tests/test_rpc.py:89 +#, python-format +msgid "Nested received %(queue)s, %(value)s" +msgstr "" + +#: ../nova/tests/test_rpc.py:95 +#, python-format +msgid "Nested return %s" +msgstr "" + +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 +#, python-format +msgid "Received %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:133 +#, python-format +msgid "No service for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:251 +#, python-format +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:608 +#, python-format +msgid "No floating ip for address %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:629 +#, python-format +msgid "No address for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 +#, python-format +msgid "No network for bridge %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 +#, python-format +msgid "No network for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1277 +#, python-format +msgid "Token %s does not exist" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1302 +#, python-format +msgid "No quota for project_id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1572 +#, python-format +msgid "No security group with id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1682 +#, python-format +msgid "No secuity group rule with id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1756 +#, python-format +msgid "No user for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1772 +#, python-format +msgid "No user for access key %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1834 +#, python-format +msgid "No project with id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1979 +#, python-format +msgid "No console pool with id %(pool_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1996 +#, python-format +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2035 +#, python-format +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2058 +#, python-format +msgid "No console with id %(console_id)s %(idesc)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:160 +#, python-format +msgid "Checking state of %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:165 +#, python-format +msgid "Current state of %(name)s was %(state)s." +msgstr "" + +#: ../nova/virt/libvirt_conn.py:183 +#, python-format +msgid "Connecting to libvirt: %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:258 +#, python-format +msgid "instance %(instance_name)s: deleting instance files %(target)s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:283 +#, python-format +msgid "Invalid device path %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:313 +#, python-format +msgid "No disk at %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:336 +#, python-format +msgid "instance %s: rebooted" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:339 +#, python-format +msgid "_wait_for_reboot failed: %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:382 +#, python-format +msgid "instance %s: rescued" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:385 +#, python-format +msgid "_wait_for_rescue failed: %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:411 +#, python-format +msgid "instance %s: is running" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:422 +#, python-format +msgid "instance %s: booted" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 +#, python-format +msgid "instance %s: failed to boot" +msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +msgid "virsh said: %r" msgstr "" -"Chave de acesso %s tem %d falhas de autenticação e vai ser bloqueada por %d " -"minutos." -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 -#, python-format -msgid "Authentication Failure: %s" -msgstr "Falha de Autenticação: %s" +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Authenticated Request For %s:%s)" -msgstr "Pedido de Autenticação Para: %s:%s" +msgid "data: %(data)r, fpath: %(fpath)r" +msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "action: %s" -msgstr "ação: %s" +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" -#: nova/api/ec2/__init__.py:229 -#, python-format -msgid "arg: %s\t\tval: %s" -msgstr "argumento: %s\t\tvalor: %s" +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" -msgstr "Requisição não autorizada para controlador=%s e ação=%s" +msgid "instance %s: Creating image" +msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "NotFound raised: %s" -msgstr "NotFound lançado: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" +msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "ApiError raised: %s" -msgstr "ApiError lançado: %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" +msgstr "" -#: nova/api/ec2/__init__.py:349 +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 #, python-format -msgid "Unexpected error raised: %s" -msgstr "Erro inexperado lançado: %s" - -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -"Ocorreu um erro desconhecido. Por favor tente sua requisição novamente." -#: nova/api/ec2/admin.py:84 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "Creating new user: %s" -msgstr "Criando novo usuário: %s" +msgid "instance %s: starting toXML method" +msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/virt/libvirt_conn.py:732 #, python-format -msgid "Deleting user: %s" -msgstr "Excluindo usuário: %s" +msgid "instance %s: finished toXML method" +msgstr "" -#: nova/api/ec2/admin.py:114 -#, python-format -msgid "Adding role %s to user %s for project %s" -msgstr "Adicionando papel %s ao usuário %s para o projeto %s" +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" +msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Adding sitewide role %s to user %s" -msgstr "Adicionando papel em todo site %s ao usuário %s" +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format -msgid "Removing role %s from user %s for project %s" -msgstr "Removendo papel %s do usuário %s para o projeto %s" +msgid "Failed to get metadata for ip: %s" +msgstr "Falha ao obter metadados para o ip: %s" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "Tentativa de instanciar singleton" + +#: ../nova/network/api.py:39 #, python-format -msgid "Removing sitewide role %s from user %s" -msgstr "Removendo papel %s em todo site do usuário %s" +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" -msgstr "operações devem ser adicionar e excluir" +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Getting x509 for user: %s on project: %s" -msgstr "Obtendo x509 para usuário: %s do projeto: %s" +msgid "Target %s allocated" +msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/virt/images.py:70 #, python-format -msgid "Create project %s managed by %s" -msgstr "Criar projeto %s gerenciado por %s" +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" -#: nova/api/ec2/admin.py:170 -#, python-format -msgid "Delete project: %s" -msgstr "Excluir projeto: %s" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 -#, python-format -msgid "Adding user %s to project %s" -msgstr "Adicionando usuário %s ao projeto %s" +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/console/manager.py:90 #, python-format -msgid "Removing user %s from project %s" -msgstr "Excluindo usuário %s do projeto %s" +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" + +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" -msgstr "Requisição de API não suportada: controlador = %s,ação = %s" +msgid "The key_pair %s already exists" +msgstr "" -#: nova/api/ec2/cloud.py:117 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format msgid "Generating root CA: %s" msgstr "Gerando CA raiz: %s" -#: nova/api/ec2/cloud.py:277 +#: ../nova/api/ec2/cloud.py:303 #, python-format msgid "Create key pair %s" msgstr "Criar par de chaves %s" -#: nova/api/ec2/cloud.py:285 +#: ../nova/api/ec2/cloud.py:311 #, python-format msgid "Delete key pair %s" msgstr "Remover par de chaves %s" -#: nova/api/ec2/cloud.py:357 +#: ../nova/api/ec2/cloud.py:386 #, python-format msgid "%s is not a valid ipProtocol" msgstr "%s não é um ipProtocol válido" -#: nova/api/ec2/cloud.py:361 +#: ../nova/api/ec2/cloud.py:390 msgid "Invalid port range" msgstr "Intervalo de porta inválido" -#: nova/api/ec2/cloud.py:392 +#: ../nova/api/ec2/cloud.py:421 #, python-format msgid "Revoke security group ingress %s" msgstr "Revogado entrada do grupo de segurança %s" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." +msgstr "" + +#: ../nova/api/ec2/cloud.py:443 msgid "No rule for the specified parameters." msgstr "Não existe regra para os parâmetros especificados" -#: nova/api/ec2/cloud.py:421 +#: ../nova/api/ec2/cloud.py:450 #, python-format msgid "Authorize security group ingress %s" msgstr "Autorizada entrada do grupo de segurança %s" -#: nova/api/ec2/cloud.py:432 +#: ../nova/api/ec2/cloud.py:464 #, python-format msgid "This rule already exists in group %s" msgstr "Esta regra já existe no grupo %s" -#: nova/api/ec2/cloud.py:460 +#: ../nova/api/ec2/cloud.py:492 #, python-format msgid "Create Security Group %s" msgstr "Criar Grupo de Segurança %s" -#: nova/api/ec2/cloud.py:463 +#: ../nova/api/ec2/cloud.py:495 #, python-format msgid "group %s already exists" msgstr "group %s já existe" -#: nova/api/ec2/cloud.py:475 +#: ../nova/api/ec2/cloud.py:507 #, python-format msgid "Delete security group %s" msgstr "Excluir grupo de segurança %s" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 -#, python-format -msgid "Get console output for instance %s" -msgstr "Obter saída do console para instância %s" - -#: nova/api/ec2/cloud.py:543 +#: ../nova/api/ec2/cloud.py:584 #, python-format msgid "Create volume of %s GB" msgstr "Criar volume de %s GB" -#: nova/api/ec2/cloud.py:567 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "Attach volume %s to instacne %s at %s" -msgstr "Anexar volume %s para instância %s em %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" +msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/api/ec2/cloud.py:629 #, python-format msgid "Detach volume %s" msgstr "Desanexar volume %s" -#: nova/api/ec2/cloud.py:686 +#: ../nova/api/ec2/cloud.py:761 msgid "Allocate address" msgstr "Alocar endereço" -#: nova/api/ec2/cloud.py:691 +#: ../nova/api/ec2/cloud.py:766 #, python-format msgid "Release address %s" msgstr "Liberar endereço %s" -#: nova/api/ec2/cloud.py:696 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Associate address %s to instance %s" -msgstr "Atribuir endereço %s à instância %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" +msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/api/ec2/cloud.py:780 #, python-format msgid "Disassociate address %s" msgstr "Desatribuir endereço %s" -#: nova/api/ec2/cloud.py:730 +#: ../nova/api/ec2/cloud.py:807 msgid "Going to start terminating instances" msgstr "Começando a terminar instâncias" -#: nova/api/ec2/cloud.py:738 +#: ../nova/api/ec2/cloud.py:815 #, python-format msgid "Reboot instance %r" msgstr "Reiniciar instância %r" -#: nova/api/ec2/cloud.py:775 +#: ../nova/api/ec2/cloud.py:867 #, python-format msgid "De-registering image %s" msgstr "Removendo o registro da imagem %s" -#: nova/api/ec2/cloud.py:783 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Registered image %s with id %s" -msgstr "Registrada imagem %s com id %s" +msgid "Registered image %(image_location)s with id %(image_id)s" +msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format msgid "attribute not supported: %s" msgstr "atributo não suportado: %s" -#: nova/api/ec2/cloud.py:794 +#: ../nova/api/ec2/cloud.py:890 #, python-format msgid "invalid id: %s" msgstr "id inválido: %s" -#: nova/api/ec2/cloud.py:807 +#: ../nova/api/ec2/cloud.py:903 msgid "user or group not specified" msgstr "usuário ou grupo não especificado" -#: nova/api/ec2/cloud.py:809 +#: ../nova/api/ec2/cloud.py:905 msgid "only group \"all\" is supported" msgstr "apenas o grupo \"all\" é suportado" -#: nova/api/ec2/cloud.py:811 +#: ../nova/api/ec2/cloud.py:907 msgid "operation_type must be add or remove" msgstr "operation_type deve ser add ou remove" -#: nova/api/ec2/cloud.py:812 +#: ../nova/api/ec2/cloud.py:908 #, python-format msgid "Updating image %s publicity" msgstr "Atualizando publicidade da imagem %s" -#: nova/api/ec2/metadatarequesthandler.py:75 -#, python-format -msgid "Failed to get metadata for ip: %s" -msgstr "Falha ao obter metadados para o ip: %s" - -#: nova/api/openstack/__init__.py:70 -#, python-format -msgid "Caught error: %s" -msgstr "Capturado o erro: %s" - -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." -msgstr "Incluindo operações administrativas na API." - -#: nova/api/openstack/servers.py:184 -#, python-format -msgid "Compute.api::lock %s" -msgstr "Compute.api::lock %s" - -#: nova/api/openstack/servers.py:199 -#, python-format -msgid "Compute.api::unlock %s" -msgstr "Compute.api::unlock %s" - -#: nova/api/openstack/servers.py:213 -#, python-format -msgid "Compute.api::get_lock %s" -msgstr "Compute.api::get_lock %s" - -#: nova/api/openstack/servers.py:224 -#, python-format -msgid "Compute.api::pause %s" -msgstr "Compute.api::pause %s" - -#: nova/api/openstack/servers.py:235 -#, python-format -msgid "Compute.api::unpause %s" -msgstr "Compute.api::unpause %s" - -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" -msgstr "compute.api::suspend %s" - -#: nova/api/openstack/servers.py:257 -#, python-format -msgid "compute.api::resume %s" -msgstr "compute.api::resume %s" - -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" -msgstr "Usuário %s já existe" - -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" -msgstr "Projeto não pode ser criado porque o gerente %s não existe." - -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" -msgstr "Projeto não pode ser criado porque o projeto %s já existe." - -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 -#, python-format -msgid "Project can't be modified because manager %s doesn't exist" -msgstr "Projeto não pode ser modificado porque o gerente %s não existe." - -#: nova/auth/dbdriver.py:245 -#, python-format -msgid "User \"%s\" not found" -msgstr "Usuário \"%s\" não encontrado" - -#: nova/auth/dbdriver.py:248 -#, python-format -msgid "Project \"%s\" not found" -msgstr "Projeto \"%s\" não encontrado" - -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" -msgstr "Tentativa de instanciar singleton" - -#: nova/auth/ldapdriver.py:181 -#, python-format -msgid "LDAP object for %s doesn't exist" -msgstr "Objeto LDAP para %s não existe" - -#: nova/auth/ldapdriver.py:218 +#: ../bin/nova-api.py:52 #, python-format -msgid "Project can't be created because user %s doesn't exist" -msgstr "Projeto não pode ser criado porque o usuário %s não existe" +msgid "Using paste.deploy config at: %s" +msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../bin/nova-api.py:57 #, python-format -msgid "User %s is already a member of the group %s" -msgstr "Usuário %s já pertence ao grupo %s" +msgid "No paste configuration for app: %s" +msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../bin/nova-api.py:59 #, python-format msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +"App Config: %(api)s\n" +"%(config)r" msgstr "" -"Tentatica de remover o último membto de um grupo. Ao invés disso excluindo o " -"grupo %s." - -#: nova/auth/ldapdriver.py:528 -#, python-format -msgid "Group at dn %s doesn't exist" -msgstr "Grupo no dn %s não existe" - -#: nova/auth/manager.py:259 -#, python-format -msgid "Looking up user: %r" -msgstr "Procurando usuário: %r" - -#: nova/auth/manager.py:263 -#, python-format -msgid "Failed authorization for access key %s" -msgstr "Falha de autorização para chave de acesso %s" - -#: nova/auth/manager.py:264 -#, python-format -msgid "No user found for access key %s" -msgstr "Nenhum usuário encontrado para chave de acesso %s" -#: nova/auth/manager.py:270 +#: ../bin/nova-api.py:64 #, python-format -msgid "Using project name = user name (%s)" -msgstr "Usando nome do projeto = nome do usuário (%s)" +msgid "Running %s API" +msgstr "" -#: nova/auth/manager.py:275 +#: ../bin/nova-api.py:69 #, python-format -msgid "failed authorization: no project named %s (user=%s)" -msgstr "falha de autorização: nenhum projeto de nome %s (usuário=%s)" +msgid "No known API applications configured in %s." +msgstr "" -#: nova/auth/manager.py:277 +#: ../bin/nova-api.py:83 #, python-format -msgid "No project called %s could be found" -msgstr "Nenhum projeto chamado %s pode ser encontrado." +msgid "Starting nova-api node (version %s)" +msgstr "" -#: nova/auth/manager.py:281 +#: ../bin/nova-api.py:89 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "No paste configuration found for: %s" msgstr "" -"Falha de autorização: usuário %s não é administrador nem membro do projeto %s" -#: nova/auth/manager.py:283 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "User %s is not a member of project %s" -msgstr "Usuário %s não é membro do projeto %s" +msgid "Argument %(key)s value %(value)s is too short." +msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Invalid signature for user %s" -msgstr "Assinatura inválida para usuário %s" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" -msgstr "Assinatura não confere" - -#: nova/auth/manager.py:374 -msgid "Must specify project" -msgstr "Deve especificar projeto" +msgid "Argument %(key)s value %(value)s contains invalid characters." +msgstr "" -#: nova/auth/manager.py:408 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "The %s role can not be found" -msgstr "O papel %s não foi encontrado" +msgid "Argument %(key)s value %(value)s starts with a hyphen." +msgstr "" -#: nova/auth/manager.py:410 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "The %s role is global only" -msgstr "O papel %s é apenas global" +msgid "Argument %s is required." +msgstr "" -#: nova/auth/manager.py:412 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "Adding role %s to user %s in project %s" -msgstr "Adicionando papel %s ao usuário %s no projeto %s" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." +msgstr "" -#: nova/auth/manager.py:438 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 #, python-format -msgid "Removing role %s from user %s on project %s" -msgstr "Removendo papel %s do usuário %s no projeto %s" +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." +msgstr "" -#: nova/auth/manager.py:505 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Created project %s with manager %s" -msgstr "Criado projeto %s com gerente %s" +msgid "Attempted to create non-unique name %s" +msgstr "" -#: nova/auth/manager.py:523 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "modifying project %s" -msgstr "modificando projeto %s" +msgid "instance %(name)s: not enough free memory" +msgstr "" -#: nova/auth/manager.py:553 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Remove user %s from project %s" -msgstr "Remover usuário %s do projeto %s" +msgid "Starting VM %s..." +msgstr "" -#: nova/auth/manager.py:581 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Deleting project %s" -msgstr "Excluindo projeto %s" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." +msgstr "" -#: nova/auth/manager.py:637 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Created user %s (admin: %r)" -msgstr "Criado usuário %s (administrador: %r)" +msgid "Invalid value for onset_files: '%s'" +msgstr "" -#: nova/auth/manager.py:645 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Deleting user %s" -msgstr "Apagando usuário %s" +msgid "Injecting file path: '%s'" +msgstr "" -#: nova/auth/manager.py:655 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Access Key change for user %s" +msgid "Instance %s: booted" msgstr "" -#: nova/auth/manager.py:657 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Secret Key change for user %s" +msgid "Instance not present %s" msgstr "" -#: nova/auth/manager.py:659 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/auth/manager.py:708 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "No vpn data for project %s" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" +#: ../nova/virt/xenapi/vmops.py:280 +#, python-format +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +#: ../nova/virt/xenapi/vmops.py:356 +#, python-format +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/cloudpipe/pipelib.py:97 -#, python-format -msgid "Launching VPN for %s" -msgstr "Executando VPN para %s" - -#: nova/compute/api.py:67 -#, python-format -msgid "Instance %d was not found in get_network_topic" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Instance %d has no host" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:760 +#, python-format +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Going to run %s instances..." +msgid "Running instances: %s" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/api.py:279 -#, python-format -msgid "Going to try and terminate %s" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/api.py:283 -#, python-format -msgid "Instance %d was not found during terminate" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/api.py:288 -#, python-format -msgid "Instance %d is already being terminated" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" -msgstr "" +msgid "Launching VPN for %s" +msgstr "Executando VPN para %s" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/disk.py:71 +#: ../nova/image/s3.py:99 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "Image %s could not be found" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "Muitas falhas de autenticação." + +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Could not attach image to loopback: %s" -msgstr "" +msgid "Authentication Failure: %s" +msgstr "Falha de Autenticação: %s" -#: nova/compute/disk.py:136 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Failed to load partition: %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Failed to mount filesystem: %s" -msgstr "" +msgid "action: %s" +msgstr "ação: %s" -#: nova/compute/instance_types.py:41 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "Unknown instance type: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:71 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:75 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "check_instance_lock: locked: |%s|" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:77 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "check_instance_lock: admin: |%s|" -msgstr "" +msgid "NotFound raised: %s" +msgstr "NotFound lançado: %s" -#: nova/compute/manager.py:82 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "check_instance_lock: executing: |%s|" -msgstr "" +msgid "ApiError raised: %s" +msgstr "ApiError lançado: %s" -#: nova/compute/manager.py:86 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "check_instance_lock: not executing |%s|" -msgstr "" +msgid "Unexpected error raised: %s" +msgstr "Erro inexperado lançado: %s" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" +"Ocorreu um erro desconhecido. Por favor tente sua requisição novamente." -#: nova/compute/manager.py:158 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: starting..." -msgstr "" +msgid "User %s already exists" +msgstr "Usuário %s já existe" -#: nova/compute/manager.py:197 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: Failed to spawn" -msgstr "" +msgid "Project can't be created because manager %s doesn't exist" +msgstr "Projeto não pode ser criado porque o gerente %s não existe." -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "Terminating instance %s" -msgstr "" +msgid "Project can't be created because user %s doesn't exist" +msgstr "Projeto não pode ser criado porque o usuário %s não existe" -#: nova/compute/manager.py:217 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "Disassociating address %s" -msgstr "" +msgid "Project can't be created because project %s already exists" +msgstr "Projeto não pode ser criado porque o projeto %s já existe." -#: nova/compute/manager.py:230 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "Deallocating address %s" -msgstr "" +msgid "Project can't be modified because manager %s doesn't exist" +msgstr "Projeto não pode ser modificado porque o gerente %s não existe." -#: nova/compute/manager.py:243 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "trying to destroy already destroyed instance: %s" -msgstr "" +msgid "User \"%s\" not found" +msgstr "Usuário \"%s\" não encontrado" -#: nova/compute/manager.py:257 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "Rebooting instance %s" -msgstr "" +msgid "Project \"%s\" not found" +msgstr "Projeto \"%s\" não encontrado" -#: nova/compute/manager.py:260 -#, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: snapshotting" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "instance %s: rescuing" +msgid "Got exception: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/compute/monitor.py:259 #, python-format -msgid "instance %s: unrescuing" +msgid "updating %s..." msgstr "" -#: nova/compute/manager.py:335 -#, python-format -msgid "instance %s: pausing" +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "instance %s: unpausing" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:382 -#, python-format -msgid "instance %s: suspending" +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/compute/monitor.py:429 #, python-format -msgid "instance %s: resuming" +msgid "Found instance: %s" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/volume/san.py:67 #, python-format -msgid "instance %s: locking" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "instance %s: unlocking" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "instance %s: getting locked state" +msgid "Caught error: %s" +msgstr "Capturado o erro: %s" + +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." +msgstr "Incluindo operações administrativas na API." + +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/compute/manager.py:462 +#: ../nova/console/xvp.py:116 #, python-format -msgid "instance %s: attaching volume %s to %s" +msgid "Re-wrote %s" msgstr "" -#: nova/compute/manager.py:478 -#, python-format -msgid "instance %s: attach failed %s, removing" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/compute/manager.py:493 -#, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/console/xvp.py:141 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/compute/monitor.py:259 -#, python-format -msgid "updating %s..." +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/compute/monitor.py:355 -#, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/compute/monitor.py:377 -#, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/compute/monitor.py:427 -#, python-format -msgid "Found instance: %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:132 -#, python-format -msgid "No service for id %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:229 -#, python-format -msgid "No service for %s, %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:574 -#, python-format -msgid "No floating ip for address %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/virt/disk.py:69 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Failed to load partition: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 +#: ../nova/virt/disk.py:91 #, python-format -msgid "No network for id %s" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 +#: ../nova/virt/disk.py:124 #, python-format -msgid "No network for bridge %s" +msgid "nbd device %s did not show up" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/virt/disk.py:128 #, python-format -msgid "No network for instance %s" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "No quota for project_id %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Volume %s not found" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "No export device found for volume %s" +msgid "Starting VM %s " msgstr "" -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "No target id found for volume %s" +msgid "Started VM %s " msgstr "" -#: nova/db/sqlalchemy/api.py:1471 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "No security group with id %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "No security group named %s for project: %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "No secuity group rule with id %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1650 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "No user for id %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1666 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "No user for access key %s" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "No project with id %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "New disk drive path is %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Image %s could not be found" +msgid "Created disk for %s" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Creating nic for %s " msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/network/linux_net.py:176 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Starting VLAN inteface %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/network/linux_net.py:186 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Starting Bridge interface for %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Created nic for %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:325 +#, python-format +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Leasing IP %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "IP %s released that isn't associated" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/compute/api.py:71 #, python-format -msgid "IP %s released that was not leased" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/compute/api.py:77 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/compute/api.py:97 #, python-format -msgid "Unknown S3 value type %r" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/compute/api.py:99 +#, python-format +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/compute/api.py:160 #, python-format -msgid "List keys for bucket %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/compute/api.py:187 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/compute/api.py:292 #, python-format -msgid "Creating bucket %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/compute/api.py:296 #, python-format -msgid "Deleting bucket %s" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/compute/api.py:301 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Instance %d is already being terminated" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/compute/api.py:481 #, python-format -msgid "Getting object: %s / %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/objectstore/handler.py:274 -#, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/rpc.py:98 #, python-format -msgid "Putting object: %s / %s" +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/rpc.py:103 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." msgstr "" +"Não foi possível conectar ao servidor AMQP após %d tentativas. Desligando." -#: nova/objectstore/handler.py:314 -#, python-format -msgid "Deleting object: %s / %s" -msgstr "" +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Reconectado à fila" + +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "Falha ao obter mensagem da fila" -#: nova/objectstore/handler.py:393 +#: ../nova/rpc.py:159 #, python-format -msgid "Not authorized to upload image: invalid directory %s" -msgstr "" +msgid "Initing the Adapter Consumer for %s" +msgstr "Iniciando o Adaptador Consumidor para %s" -#: nova/objectstore/handler.py:401 +#: ../nova/rpc.py:178 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" -msgstr "" +msgid "received %s" +msgstr "recebido %s" -#: nova/objectstore/handler.py:406 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Starting image upload: %s" -msgstr "" +msgid "no method for message: %s" +msgstr "sem método para mensagem: %s" -#: nova/objectstore/handler.py:420 +#: ../nova/rpc.py:192 #, python-format -msgid "Not authorized to update attributes of image %s" -msgstr "" +msgid "No method for message: %s" +msgstr "Sem método para mensagem: %s" -#: nova/objectstore/handler.py:428 +#: ../nova/rpc.py:253 #, python-format -msgid "Toggling publicity flag of image %s %r" -msgstr "" +msgid "Returning exception %s to caller" +msgstr "Retornando exceção %s ao método de origem" -#: nova/objectstore/handler.py:433 +#: ../nova/rpc.py:294 #, python-format -msgid "Updating user fields on image %s" -msgstr "" +msgid "unpacked context: %s" +msgstr "conteúdo descompactado: %s" -#: nova/objectstore/handler.py:447 +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Fazendo chamada assíncrona..." + +#: ../nova/rpc.py:316 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "MSG_ID is %s" +msgstr "MSG_ID é %s" + +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/rpc.py:364 #, python-format -msgid "Deleted image: %s" -msgstr "" +msgid "response %s" +msgstr "resposta %s" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" -msgstr "" +#: ../nova/rpc.py:373 +#, python-format +msgid "topic is %s" +msgstr "topico é %s" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" -msgstr "" +#: ../nova/rpc.py:374 +#, python-format +msgid "message %s" +msgstr "mensagem %s" -#: nova/scheduler/manager.py:69 +#: ../nova/volume/driver.py:78 #, python-format -msgid "Casting to %s %s for %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/volume/driver.py:87 +#, python-format +msgid "volume group %s doesn't exist" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/volume/driver.py:220 +#, python-format +msgid "FAKE AOE: %s" msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Running instances: %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/volume/driver.py:414 #, python-format -msgid "After terminating instances: %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/tests/test_rpc.py:89 -#, python-format -msgid "Nested received %s, %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/wsgi.py:68 #, python-format -msgid "Nested return %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 -#, python-format -msgid "Received %s" +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/tests/test_volume.py:162 -#, python-format -msgid "Target %s allocated" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/fake.py:210 -#, python-format -msgid "Instance %s Not Found" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:131 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/virt/fake.py:239 #, python-format -msgid "Starting VM %s " +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/network/manager.py:153 #, python-format -msgid "Started VM %s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:152 -#, python-format -msgid "spawn vm failed: %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to create VM %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/network/manager.py:216 #, python-format -msgid "Created VM %s..." +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:188 +#: ../nova/network/manager.py:220 #, python-format -msgid "Set memory for vm %s..." +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:198 +#: ../nova/network/manager.py:228 #, python-format -msgid "Set vcpus for vm %s..." +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/network/manager.py:233 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/network/manager.py:241 #, python-format -msgid "New disk drive path is %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/network/manager.py:244 #, python-format -msgid "Failed to add vhd file to VM %s" +msgid "IP %s released that was not leased" +msgstr "" + +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Created disk for %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/hyperv.py:253 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Creating nic for %s " +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/hyperv.py:273 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Failed creating port for %s" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Created switch port %s on switch %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/hyperv.py:285 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Failed to add nic to VM %s" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Created nic for %s " +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "WMI job failed: %s" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:358 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Got request to destroy vm %s" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "Failed to destroy vm %s" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Del: disk %s vm %s" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "duplicate name found: %s" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "Connecting to libvirt: %s" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/libvirt_conn.py:229 -#, python-format -msgid "instance %s: deleting instance files %s" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "No disk at %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/objectstore/handler.py:217 +#, python-format +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "instance %s: rebooted" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "instance %s: rescued" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "instance %s: is running" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "instance %s: booted" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "instance %s: failed to boot" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "virsh said: %r" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +#: ../nova/objectstore/handler.py:322 +#, python-format +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "data: %r, fpath: %r" +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Contents of file %s: %r" +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "instance %s: Creating image" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/libvirt_conn.py:589 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "instance %s: finished toXML method" +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" -msgstr "" +#: ../nova/auth/manager.py:259 +#, python-format +msgid "Looking up user: %r" +msgstr "Procurando usuário: %r" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Task [%s] %s status: success %s" -msgstr "" +msgid "Failed authorization for access key %s" +msgstr "Falha de autorização para chave de acesso %s" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Task [%s] %s status: %s %s" -msgstr "" +msgid "No user found for access key %s" +msgstr "Nenhum usuário encontrado para chave de acesso %s" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Got exception: %s" -msgstr "" +msgid "Using project name = user name (%s)" +msgstr "Usando nome do projeto = nome do usuário (%s)" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/auth/manager.py:277 #, python-format -msgid "%s: _db_content => %s" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" -msgstr "" +#: ../nova/auth/manager.py:279 +#, python-format +msgid "No project called %s could be found" +msgstr "Nenhum projeto chamado %s pode ser encontrado." -#: nova/virt/xenapi/fake.py:249 +#: ../nova/auth/manager.py:287 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/auth/manager.py:289 #, python-format -msgid "Calling %s %s" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "Calling getter %s" -msgstr "" +msgid "Invalid signature for user %s" +msgstr "Assinatura inválida para usuário %s" + +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" +msgstr "Assinatura não confere" + +#: ../nova/auth/manager.py:380 +msgid "Must specify project" +msgstr "Deve especificar projeto" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/auth/manager.py:414 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" -msgstr "" +msgid "The %s role can not be found" +msgstr "O papel %s não foi encontrado" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Found non-unique network for bridge %s" -msgstr "" +msgid "The %s role is global only" +msgstr "O papel %s é apenas global" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Found no network for bridge %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Created VM %s as %s." +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/auth/manager.py:515 #, python-format -msgid "VBD not found in instance %s" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Unable to unplug VBD %s" -msgstr "" +msgid "modifying project %s" +msgstr "modificando projeto %s" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Created VIF %s for VM %s, network %s." -msgstr "" +msgid "Deleting project %s" +msgstr "Excluindo projeto %s" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/auth/manager.py:650 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Created snapshot %s from VM %s." -msgstr "" +msgid "Deleting user %s" +msgstr "Apagando usuário %s" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:722 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/service.py:161 #, python-format -msgid "VDI %s is still available" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" +msgstr "Encerrado serviço que não tem entrada na base de dados" + +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." +msgstr "O objeto da base de dados do serviço desapareceu, Recriando." + +#: ../nova/service.py:207 +msgid "Recovered model server connection!" +msgstr "Recuperada conexão servidor de modelo." + +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "servidor de modelo perdido" + +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" -msgstr "" +msgid "LDAP object for %s doesn't exist" +msgstr "Objeto LDAP para %s não existe" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "VHD %s has parent %s" +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Re-scanning SR %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "No VDIs found for VM %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Starting VM %s..." +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Spawning VM %s created %s." +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Instance %s: booted" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Instance not present %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" +"Tentatica de remover o último membto de um grupo. Ao invés disso excluindo o " +"grupo %s." -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Starting snapshot for VM %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Unable to Snapshot %s: %s" -msgstr "" +msgid "Group at dn %s doesn't exist" +msgstr "Grupo no dn %s não existe" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "suspend: instance not present %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "resume: instance not present %s" -msgstr "" +msgid "Creating new user: %s" +msgstr "Criando novo usuário: %s" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Instance not found %s" -msgstr "" +msgid "Deleting user: %s" +msgstr "Excluindo usuário: %s" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "Introducing %s..." +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Introduced %s as %s." +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/api/ec2/admin.py:137 +#, python-format +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" +msgstr "operações devem ser adicionar e excluir" + +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Forgetting SR %s ... " +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "Forgetting SR %s done." -msgstr "" +msgid "Delete project: %s" +msgstr "Excluir projeto: %s" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "Unable to introduce VDI on SR %s" +msgid "Removing user %(user)s from project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "Unable to get record of VDI %s on" -msgstr "" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Comando: %s\n" +#~ "Código de retorno: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" -#: nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Unable to introduce VDI for SR %s" -msgstr "" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s) publicar (key: %s) %s" -#: nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Unable to obtain target information %s, %s" -msgstr "" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "Servidor AMQP em %s:%d inatingível. Tentando novamente em %d segundos." -#: nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "Mountpoint cannot be translated: %s" -msgstr "" +#~ msgid "Binding %s to %s with key %s" +#~ msgstr "Atribuindo %s para %s com chave %s" -#: nova/virt/xenapi/volumeops.py:51 #, python-format -msgid "Attach_volume: %s, %s, %s" -msgstr "" +#~ msgid "Getting from %s: %s" +#~ msgstr "Obtendo de %s: %s" -#: nova/virt/xenapi/volumeops.py:69 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" -msgstr "" +#~ msgid "Starting %s node" +#~ msgstr "Iniciando nó %s" -#: nova/virt/xenapi/volumeops.py:81 #, python-format -msgid "Unable to use SR %s for instance %s" -msgstr "" +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "" +#~ "Repositório de dados %s não pode ser atingido. Tentando novamente em %d " +#~ "segundos." -#: nova/virt/xenapi/volumeops.py:93 #, python-format -msgid "Unable to attach volume to instance %s" -msgstr "" +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "Não foi possível obter IP, usando 127.0.0.1 %s" -#: nova/virt/xenapi/volumeops.py:95 #, python-format -msgid "Mountpoint %s attached to instance %s" -msgstr "" +#~ msgid "" +#~ "Access key %s has had %d failed authentications and will be locked out for " +#~ "%d minutes." +#~ msgstr "" +#~ "Chave de acesso %s tem %d falhas de autenticação e vai ser bloqueada por %d " +#~ "minutos." -#: nova/virt/xenapi/volumeops.py:106 #, python-format -msgid "Detach_volume: %s, %s" -msgstr "" +#~ msgid "arg: %s\t\tval: %s" +#~ msgstr "argumento: %s\t\tvalor: %s" -#: nova/virt/xenapi/volumeops.py:113 #, python-format -msgid "Unable to locate volume %s" -msgstr "" +#~ msgid "Authenticated Request For %s:%s)" +#~ msgstr "Pedido de Autenticação Para: %s:%s" -#: nova/virt/xenapi/volumeops.py:121 #, python-format -msgid "Unable to detach volume %s" -msgstr "" +#~ msgid "Adding sitewide role %s to user %s" +#~ msgstr "Adicionando papel em todo site %s ao usuário %s" -#: nova/virt/xenapi/volumeops.py:128 #, python-format -msgid "Mountpoint %s detached from instance %s" -msgstr "" +#~ msgid "Adding role %s to user %s for project %s" +#~ msgstr "Adicionando papel %s ao usuário %s para o projeto %s" -#: nova/volume/api.py:44 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" -msgstr "" +#~ msgid "Unauthorized request for controller=%s and action=%s" +#~ msgstr "Requisição não autorizada para controlador=%s e ação=%s" -#: nova/volume/api.py:46 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "" +#~ msgid "Removing role %s from user %s for project %s" +#~ msgstr "Removendo papel %s do usuário %s para o projeto %s" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "" +#, python-format +#~ msgid "Getting x509 for user: %s on project: %s" +#~ msgstr "Obtendo x509 para usuário: %s do projeto: %s" -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "" +#, python-format +#~ msgid "Create project %s managed by %s" +#~ msgstr "Criar projeto %s gerenciado por %s" -#: nova/volume/api.py:103 -msgid "Volume is already detached" -msgstr "" +#, python-format +#~ msgid "Removing user %s from project %s" +#~ msgstr "Excluindo usuário %s do projeto %s" -#: nova/volume/driver.py:76 #, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "" +#~ msgid "Adding user %s to project %s" +#~ msgstr "Adicionando usuário %s ao projeto %s" -#: nova/volume/driver.py:85 #, python-format -msgid "volume group %s doesn't exist" -msgstr "" +#~ msgid "Unsupported API request: controller = %s,action = %s" +#~ msgstr "Requisição de API não suportada: controlador = %s,ação = %s" -#: nova/volume/driver.py:210 #, python-format -msgid "FAKE AOE: %s" -msgstr "" +#~ msgid "Removing sitewide role %s from user %s" +#~ msgstr "Removendo papel %s em todo site do usuário %s" -#: nova/volume/driver.py:315 #, python-format -msgid "FAKE ISCSI: %s" -msgstr "" +#~ msgid "Associate address %s to instance %s" +#~ msgstr "Atribuir endereço %s à instância %s" -#: nova/volume/manager.py:85 #, python-format -msgid "Re-exporting %s volumes" -msgstr "" +#~ msgid "Attach volume %s to instacne %s at %s" +#~ msgstr "Anexar volume %s para instância %s em %s" -#: nova/volume/manager.py:93 #, python-format -msgid "volume %s: creating" -msgstr "" +#~ msgid "Registered image %s with id %s" +#~ msgstr "Registrada imagem %s com id %s" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "" +#~ msgid "User %s is already a member of the group %s" +#~ msgstr "Usuário %s já pertence ao grupo %s" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "" +#~ msgid "User %s is not a member of project %s" +#~ msgstr "Usuário %s não é membro do projeto %s" -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "" +#~ msgid "failed authorization: no project named %s (user=%s)" +#~ msgstr "falha de autorização: nenhum projeto de nome %s (usuário=%s)" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" +#, python-format +#~ msgid "Failed authorization: user %s not admin and not member of project %s" +#~ msgstr "" +#~ "Falha de autorização: usuário %s não é administrador nem membro do projeto %s" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#, python-format +#~ msgid "Created project %s with manager %s" +#~ msgstr "Criado projeto %s com gerente %s" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "" +#~ msgid "Removing role %s from user %s on project %s" +#~ msgstr "Removendo papel %s do usuário %s no projeto %s" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "" +#~ msgid "Adding role %s to user %s in project %s" +#~ msgstr "Adicionando papel %s ao usuário %s no projeto %s" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "" +#~ msgid "Remove user %s from project %s" +#~ msgstr "Remover usuário %s do projeto %s" + +#, python-format +#~ msgid "Created user %s (admin: %r)" +#~ msgstr "Criado usuário %s (administrador: %r)" diff --git a/po/ru.po b/po/ru.po index 5d031ac08..bbfcfb19f 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,2132 +7,2961 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-01-31 06:53+0000\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-03-30 07:06+0000\n" "Last-Translator: Andrey Olykainen \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-31 05:58+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Неожиданная ошибка при выполнении команды." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Необработанное исключение" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "Неверное число аргументов." + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "pidfile %s не обнаружен. Демон не запущен?\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "Запускается %s" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "Имя файла секретного ключа" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" msgstr "" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "Путь к ключам" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" msgstr "" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 #, python-format msgid "Subject for certificate for users, %s for project, user, timestamp" msgstr "" -#: nova/crypto.py:66 +#: ../nova/crypto.py:66 #, python-format msgid "Subject for certificate for projects, %s for project, timestamp" msgstr "" -#: nova/crypto.py:71 +#: ../nova/crypto.py:71 #, python-format msgid "Subject for certificate for vpns, %s for project, timestamp" msgstr "" -#: nova/crypto.py:258 +#: ../nova/crypto.py:258 #, python-format msgid "Flags path: %s" msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Неожиданная ошибка при выполнении команды." +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" -#: nova/exception.py:36 +#: ../nova/compute/manager.py:80 #, python-format msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Команда: %s\n" -"Код завершения: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Необработанное исключение" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/compute/manager.py:84 #, python-format -msgid "(%s) publish (key: %s) %s" +msgid "check_instance_lock: locked: |%s|" msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/compute/manager.py:86 #, python-format -msgid "Publishing to route %s" +msgid "check_instance_lock: admin: |%s|" msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/compute/manager.py:91 #, python-format -msgid "Declaring queue %s" -msgstr "Объявление очереди %s" +msgid "check_instance_lock: executing: |%s|" +msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/compute/manager.py:95 #, python-format -msgid "Declaring exchange %s" -msgstr "Объявление точки обмена %s" +msgid "check_instance_lock: not executing |%s|" +msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 #, python-format -msgid "Binding %s to %s with key %s" +msgid "instance %s: starting..." msgstr "" -#: nova/fakerabbit.py:120 +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 #, python-format -msgid "Getting from %s: %s" -msgstr "Получение из %s: %s" +msgid "instance %s: Failed to spawn" +msgstr "" -#: nova/rpc.py:92 +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "AMQP сервер %s:%d недоступен. Повторная попытка через %d секунд." +msgid "Terminating instance %s" +msgstr "" -#: nova/rpc.py:99 +#: ../nova/compute/manager.py:255 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "Не удалось подключиться к серверу AMQP после %d попыток. Выключение." +msgid "Deallocating address %s" +msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Переподлючено к очереди" +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "Не удалось получить сообщение из очереди" +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" -#: nova/rpc.py:155 +#: ../nova/compute/manager.py:287 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" msgstr "" -#: nova/rpc.py:170 +#: ../nova/compute/manager.py:311 #, python-format -msgid "received %s" -msgstr "получено %s" +msgid "instance %s: snapshotting" +msgstr "" -#: nova/rpc.py:183 +#: ../nova/compute/manager.py:316 #, python-format -msgid "no method for message: %s" -msgstr "не определен метод для сообщения: %s" +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/compute/manager.py:332 #, python-format -msgid "No method for message: %s" -msgstr "Не определен метод для сообщения: %s" +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/compute/manager.py:335 #, python-format -msgid "Returning exception %s to caller" +msgid "instance %s: setting admin password" msgstr "" -#: nova/rpc.py:286 +#: ../nova/compute/manager.py:353 #, python-format -msgid "unpacked context: %s" +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Выполняется асинхронный вызов..." +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "Вложенное исключение: %s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "Класс %s не найден" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "Результат %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "Выполняется %s" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "Объявление очереди %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "Объявление точки обмена %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:332 +#, python-format +msgid "Glance image %s" +msgstr "" + +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 +#, python-format +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:405 +#, python-format +msgid "Running pygrub against %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:465 +#, python-format +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:574 +#, 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:590 +#, python-format +msgid "No VDIs found for VM %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:594 +#, python-format +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 +#, python-format +msgid "Creating VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:747 +#, python-format +msgid "Writing partition table %s done." +msgstr "" + +#: ../nova/tests/test_rpc.py:89 +#, python-format +msgid "Nested received %(queue)s, %(value)s" +msgstr "" + +#: ../nova/tests/test_rpc.py:95 +#, python-format +msgid "Nested return %s" +msgstr "" + +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 +#, python-format +msgid "Received %s" +msgstr "Получено %s" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:133 +#, python-format +msgid "No service for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:251 +#, python-format +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:608 +#, python-format +msgid "No floating ip for address %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:629 +#, python-format +msgid "No address for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 +#, python-format +msgid "No network for bridge %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 +#, python-format +msgid "No network for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1277 +#, python-format +msgid "Token %s does not exist" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1302 +#, python-format +msgid "No quota for project_id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1572 +#, python-format +msgid "No security group with id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1589 +#, python-format +msgid "No security group named %(group_name)s for project: %(project_id)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1682 +#, python-format +msgid "No secuity group rule with id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1756 +#, python-format +msgid "No user for id %s" +msgstr "" -#: nova/rpc.py:308 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID is %s" +msgid "No user for access key %s" +msgstr "" -#: nova/rpc.py:356 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "response %s" -msgstr "ответ %s" +msgid "No project with id %s" +msgstr "" -#: nova/rpc.py:365 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "topic is %s" -msgstr "тема %s" +msgid "No console pool with id %(pool_id)s" +msgstr "" -#: nova/rpc.py:366 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "message %s" -msgstr "сообщение %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" -#: nova/service.py:157 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "Starting %s node" -msgstr "Запускается нода %s" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/db/sqlalchemy/api.py:2057 +#, python-format +msgid "on instance %s" msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." -msgstr "Объект сервиса в базе данных отсутствует, Повторное создание." +#: ../nova/db/sqlalchemy/api.py:2058 +#, python-format +msgid "No console with id %(console_id)s %(idesc)s" +msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/libvirt_conn.py:160 +#, python-format +msgid "Checking state of %s" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." -msgstr "Хранилище данных %s недоступно. Повторная попытка через %d секунд." +msgid "Current state of %(name)s was %(state)s." +msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Serving %s" +msgid "Connecting to libvirt: %s" msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" -msgstr "pidfile %s не обнаружен. Демон не запущен?\n" +msgid "instance %(instance_name)s: deleting instance files %(target)s" +msgstr "" -#: nova/twistd.py:268 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Starting %s" -msgstr "Запускается %s" +msgid "Invalid device path %s" +msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Inner Exception: %s" -msgstr "Вложенное исключение: %s" +msgid "No disk at %s" +msgstr "Нет диска в %s" -#: nova/utils.py:54 -#, python-format -msgid "Class %s cannot be found" -msgstr "Класс %s не найден" +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Fetching %s" +msgid "instance %s: rebooted" msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "Running cmd (subprocess): %s" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Result was %s" -msgstr "Результат %s" +msgid "instance %s: rescued" +msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/libvirt_conn.py:385 #, python-format -msgid "debug in callback: %s" +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Running %s" -msgstr "Выполняется %s" +msgid "instance %s: is running" +msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "Не удалось получить IP, используем 127.0.0.1 %s" +msgid "instance %s: booted" +msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Invalid backend: %s" +msgid "instance %s: failed to boot" msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "backend %s" +msgid "virsh said: %r" msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "Слишком много неудачных попыток аутентификации." +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -"Ключ доступа %s имеет %d неудачных попыток аутентификации и будет " -"заблокирован на %d минут." -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "Authentication Failure: %s" -msgstr "Ошибка аутентификации: %s" +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" -#: nova/api/ec2/__init__.py:190 -#, python-format -msgid "Authenticated Request For %s:%s)" -msgstr "Запрос аутентификации для %s:%s)" +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "action: %s" -msgstr "действие: %s" +msgid "instance %s: Creating image" +msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "arg: %s\t\tval: %s" -msgstr "arg: %s\t\tval: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" +msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/__init__.py:339 +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 #, python-format -msgid "NotFound raised: %s" +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/__init__.py:342 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "ApiError raised: %s" +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/virt/libvirt_conn.py:732 #, python-format -msgid "Unexpected error raised: %s" +msgid "instance %s: finished toXML method" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -"Произошла неизвестная ошибка. Пожалуйста, попытайтесь повторить ваш запрос." - -#: nova/api/ec2/admin.py:84 -#, python-format -msgid "Creating new user: %s" -msgstr "Создание нового пользователя: %s" -#: nova/api/ec2/admin.py:92 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Deleting user: %s" -msgstr "Удаление пользователя: %s" +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format -msgid "Adding role %s to user %s for project %s" -msgstr "Добавление роли %s для пользователя %s для проекта %s" +msgid "Failed to get metadata for ip: %s" +msgstr "Ошибка получения метаданных для ip: %s" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 -#, python-format -msgid "Adding sitewide role %s to user %s" +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/network/api.py:39 #, python-format -msgid "Removing role %s from user %s for project %s" -msgstr "Удаление роли %s пользователя %s для проекта %s" - -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 -#, python-format -msgid "Removing sitewide role %s from user %s" +msgid "Quota exceeeded for %s, tried to allocate address" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "Target %s allocated" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/virt/images.py:70 #, python-format -msgid "Create project %s managed by %s" -msgstr "Создать проект %s под управлением %s" +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" -#: nova/api/ec2/admin.py:170 -#, python-format -msgid "Delete project: %s" -msgstr "Удалить проект: %s" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 -#, python-format -msgid "Adding user %s to project %s" -msgstr "Добавление пользователя %s к проекту %s" +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/console/manager.py:90 #, python-format -msgid "Removing user %s from project %s" -msgstr "Удаление пользователя %s с проекта %s" +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" + +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "The key_pair %s already exists" msgstr "" -#: nova/api/ec2/cloud.py:117 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format msgid "Generating root CA: %s" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/api/ec2/cloud.py:303 #, python-format msgid "Create key pair %s" msgstr "Создание пары ключей %s" -#: nova/api/ec2/cloud.py:285 +#: ../nova/api/ec2/cloud.py:311 #, python-format msgid "Delete key pair %s" msgstr "Удаление пары ключей %s" -#: nova/api/ec2/cloud.py:357 +#: ../nova/api/ec2/cloud.py:386 #, python-format msgid "%s is not a valid ipProtocol" msgstr "" -#: nova/api/ec2/cloud.py:361 +#: ../nova/api/ec2/cloud.py:390 msgid "Invalid port range" msgstr "Неверный диапазон портов" -#: nova/api/ec2/cloud.py:392 +#: ../nova/api/ec2/cloud.py:421 #, python-format msgid "Revoke security group ingress %s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." +msgstr "" + +#: ../nova/api/ec2/cloud.py:443 msgid "No rule for the specified parameters." msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/api/ec2/cloud.py:450 #, python-format msgid "Authorize security group ingress %s" msgstr "" -#: nova/api/ec2/cloud.py:432 +#: ../nova/api/ec2/cloud.py:464 #, python-format msgid "This rule already exists in group %s" msgstr "Это правило уже существует в группе %s" -#: nova/api/ec2/cloud.py:460 +#: ../nova/api/ec2/cloud.py:492 #, python-format msgid "Create Security Group %s" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/api/ec2/cloud.py:495 #, python-format msgid "group %s already exists" msgstr "группа %s уже существует" -#: nova/api/ec2/cloud.py:475 +#: ../nova/api/ec2/cloud.py:507 #, python-format msgid "Delete security group %s" msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 -#, python-format -msgid "Get console output for instance %s" -msgstr "" - -#: nova/api/ec2/cloud.py:543 +#: ../nova/api/ec2/cloud.py:584 #, python-format msgid "Create volume of %s GB" msgstr "Создание раздела %s ГБ" -#: nova/api/ec2/cloud.py:567 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/api/ec2/cloud.py:629 #, python-format msgid "Detach volume %s" msgstr "" -#: nova/api/ec2/cloud.py:686 +#: ../nova/api/ec2/cloud.py:761 msgid "Allocate address" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/api/ec2/cloud.py:766 #, python-format msgid "Release address %s" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Associate address %s to instance %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/api/ec2/cloud.py:780 #, python-format msgid "Disassociate address %s" msgstr "" -#: nova/api/ec2/cloud.py:730 +#: ../nova/api/ec2/cloud.py:807 msgid "Going to start terminating instances" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/api/ec2/cloud.py:815 #, python-format msgid "Reboot instance %r" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/api/ec2/cloud.py:867 #, python-format msgid "De-registering image %s" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Registered image %s with id %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format msgid "attribute not supported: %s" msgstr "аттрибут не поддерживается: %s" -#: nova/api/ec2/cloud.py:794 +#: ../nova/api/ec2/cloud.py:890 #, python-format msgid "invalid id: %s" msgstr "" -#: nova/api/ec2/cloud.py:807 +#: ../nova/api/ec2/cloud.py:903 msgid "user or group not specified" msgstr "не указан пользователь или группа" -#: nova/api/ec2/cloud.py:809 +#: ../nova/api/ec2/cloud.py:905 msgid "only group \"all\" is supported" msgstr "" -#: nova/api/ec2/cloud.py:811 +#: ../nova/api/ec2/cloud.py:907 msgid "operation_type must be add or remove" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/api/ec2/cloud.py:908 #, python-format msgid "Updating image %s publicity" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 -#, python-format -msgid "Failed to get metadata for ip: %s" -msgstr "Ошибка получения метаданных для ip: %s" - -#: nova/api/openstack/__init__.py:70 +#: ../bin/nova-api.py:52 #, python-format -msgid "Caught error: %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." -msgstr "" - -#: nova/api/openstack/servers.py:184 +#: ../bin/nova-api.py:57 #, python-format -msgid "Compute.api::lock %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/api/openstack/servers.py:199 +#: ../bin/nova-api.py:59 #, python-format -msgid "Compute.api::unlock %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../bin/nova-api.py:64 #, python-format -msgid "Compute.api::get_lock %s" +msgid "Running %s API" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../bin/nova-api.py:69 #, python-format -msgid "Compute.api::pause %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/api/openstack/servers.py:235 +#: ../bin/nova-api.py:83 #, python-format -msgid "Compute.api::unpause %s" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/api/openstack/servers.py:246 +#: ../bin/nova-api.py:89 #, python-format -msgid "compute.api::suspend %s" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "compute.api::resume %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" -msgstr "Пользователь %s уже существует" - -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" -msgstr "Проект не может быть создан поскольку менеджер %s не существует" - -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" -msgstr "Проект не может быть созан поскольку проект %s уже существует" - -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "User \"%s\" not found" -msgstr "Пользователь \"%s\" не существует" - -#: nova/auth/dbdriver.py:248 -#, python-format -msgid "Project \"%s\" not found" -msgstr "Проект \"%s\" не найден" - -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/ldapdriver.py:181 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "LDAP object for %s doesn't exist" -msgstr "Объект LDAP %s не существует" - -#: nova/auth/ldapdriver.py:218 -#, python-format -msgid "Project can't be created because user %s doesn't exist" -msgstr "Проект не может быть создан поскольку пользователь %s не существует" - -#: nova/auth/ldapdriver.py:478 -#, python-format -msgid "User %s is already a member of the group %s" -msgstr "Пользователь %s уже член группы %s" +msgid "Argument %s is required." +msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/auth/ldapdriver.py:528 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 #, python-format -msgid "Group at dn %s doesn't exist" +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/auth/manager.py:259 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Looking up user: %r" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Failed authorization for access key %s" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "No user found for access key %s" +msgid "Starting VM %s..." msgstr "" -#: nova/auth/manager.py:270 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Using project name = user name (%s)" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/auth/manager.py:275 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "No project called %s could be found" +msgid "Injecting file path: '%s'" msgstr "" -#: nova/auth/manager.py:281 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Instance %s: booted" msgstr "" -#: nova/auth/manager.py:283 -#, python-format -msgid "User %s is not a member of project %s" -msgstr "Пользователь %s не является членом группы %s" - -#: nova/auth/manager.py:292 nova/auth/manager.py:303 -#, python-format -msgid "Invalid signature for user %s" -msgstr "Не допустимая подпись для пользователя %s" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" -msgstr "Подпись не совпадает" - -#: nova/auth/manager.py:374 -msgid "Must specify project" -msgstr "Необходимо указать проект" - -#: nova/auth/manager.py:408 -#, python-format -msgid "The %s role can not be found" -msgstr "Роль %s не может быть найдена" - -#: nova/auth/manager.py:410 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "The %s role is global only" +msgid "Instance not present %s" msgstr "" -#: nova/auth/manager.py:412 -#, python-format -msgid "Adding role %s to user %s in project %s" -msgstr "Добавление роли %s для пользователя %s в проект %s" - -#: nova/auth/manager.py:438 -#, python-format -msgid "Removing role %s from user %s on project %s" -msgstr "Удаление роли %s пользователя %s в проекте %s" - -#: nova/auth/manager.py:505 -#, python-format -msgid "Created project %s with manager %s" -msgstr "Создан проект %s под управлением %s" - -#: nova/auth/manager.py:523 -#, python-format -msgid "modifying project %s" -msgstr "изменение проекта %s" - -#: nova/auth/manager.py:553 -#, python-format -msgid "Remove user %s from project %s" -msgstr "Удалить пользователя %s из проекта %s" - -#: nova/auth/manager.py:581 -#, python-format -msgid "Deleting project %s" -msgstr "Удаление проекта %s" - -#: nova/auth/manager.py:637 -#, python-format -msgid "Created user %s (admin: %r)" -msgstr "Создан пользователь %s (администратор: %r)" - -#: nova/auth/manager.py:645 -#, python-format -msgid "Deleting user %s" -msgstr "Удаление пользователя %s" - -#: nova/auth/manager.py:655 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Access Key change for user %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/auth/manager.py:657 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Secret Key change for user %s" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/auth/manager.py:659 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/auth/manager.py:708 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "No vpn data for project %s" -msgstr "Нет vpn данных для проекта %s" - -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" -msgstr "" - -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/cloudpipe/pipelib.py:97 -#, python-format -msgid "Launching VPN for %s" -msgstr "Запуск VPN для %s" - -#: nova/compute/api.py:67 -#, python-format -msgid "Instance %d was not found in get_network_topic" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Instance %d has no host" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/api.py:94 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:760 +#, python-format +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "Going to run %s instances..." +msgid "Running instances: %s" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/api.py:279 -#, python-format -msgid "Going to try and terminate %s" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/api.py:283 -#, python-format -msgid "Instance %d was not found during terminate" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/api.py:288 -#, python-format -msgid "Instance %d is already being terminated" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" -msgstr "" +msgid "Launching VPN for %s" +msgstr "Запуск VPN для %s" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/disk.py:71 +#: ../nova/image/s3.py:99 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "Image %s could not be found" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "Слишком много неудачных попыток аутентификации." + +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Could not attach image to loopback: %s" -msgstr "" +msgid "Authentication Failure: %s" +msgstr "Ошибка аутентификации: %s" -#: nova/compute/disk.py:136 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Failed to load partition: %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/disk.py:158 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Failed to mount filesystem: %s" -msgstr "Ошибка монтирования файловой системы: %s" +msgid "action: %s" +msgstr "действие: %s" -#: nova/compute/instance_types.py:41 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "Unknown instance type: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:71 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:75 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "check_instance_lock: locked: |%s|" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:77 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "check_instance_lock: admin: |%s|" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:86 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "check_instance_lock: not executing |%s|" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" +"Произошла неизвестная ошибка. Пожалуйста, попытайтесь повторить ваш запрос." -#: nova/compute/manager.py:158 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: starting..." -msgstr "" +msgid "User %s already exists" +msgstr "Пользователь %s уже существует" -#: nova/compute/manager.py:197 +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 #, python-format -msgid "instance %s: Failed to spawn" -msgstr "" +msgid "Project can't be created because manager %s doesn't exist" +msgstr "Проект не может быть создан поскольку менеджер %s не существует" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "Terminating instance %s" -msgstr "" +msgid "Project can't be created because user %s doesn't exist" +msgstr "Проект не может быть создан поскольку пользователь %s не существует" -#: nova/compute/manager.py:217 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "Disassociating address %s" -msgstr "" +msgid "Project can't be created because project %s already exists" +msgstr "Проект не может быть созан поскольку проект %s уже существует" -#: nova/compute/manager.py:230 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "Deallocating address %s" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "trying to destroy already destroyed instance: %s" -msgstr "" +msgid "User \"%s\" not found" +msgstr "Пользователь \"%s\" не существует" -#: nova/compute/manager.py:257 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "Rebooting instance %s" +msgid "Project \"%s\" not found" +msgstr "Проект \"%s\" не найден" + +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "instance %s: snapshotting" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "Got exception: %s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/compute/monitor.py:259 #, python-format -msgid "instance %s: rescuing" -msgstr "" +msgid "updating %s..." +msgstr "обновление %s..." + +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" +msgstr "неожиданная ошибка во время обновления" -#: nova/compute/manager.py:316 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "instance %s: unrescuing" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:335 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "instance %s: pausing" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:352 -#, python-format -msgid "instance %s: unpausing" +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/compute/monitor.py:429 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Found instance: %s" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/volume/san.py:67 #, python-format -msgid "instance %s: suspending" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "instance %s: resuming" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "instance %s: locking" +msgid "Caught error: %s" msgstr "" -#: nova/compute/manager.py:432 -#, python-format -msgid "instance %s: unlocking" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/compute/manager.py:442 -#, python-format -msgid "instance %s: getting locked state" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/compute/manager.py:462 +#: ../nova/console/xvp.py:116 #, python-format -msgid "instance %s: attaching volume %s to %s" +msgid "Re-wrote %s" msgstr "" -#: nova/compute/manager.py:478 -#, python-format -msgid "instance %s: attach failed %s, removing" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/compute/manager.py:493 -#, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/console/xvp.py:141 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/compute/monitor.py:259 -#, python-format -msgid "updating %s..." -msgstr "обновление %s..." +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" +msgstr "" -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" -msgstr "неожиданная ошибка во время обновления" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." +msgstr "" -#: nova/compute/monitor.py:355 -#, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/compute/monitor.py:377 -#, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/compute/monitor.py:427 -#, python-format -msgid "Found instance: %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:132 -#, python-format -msgid "No service for id %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:229 -#, python-format -msgid "No service for %s, %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:574 -#, python-format -msgid "No floating ip for address %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/virt/disk.py:69 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Failed to load partition: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 +#: ../nova/virt/disk.py:91 #, python-format -msgid "No network for id %s" -msgstr "" +msgid "Failed to mount filesystem: %s" +msgstr "Ошибка монтирования файловой системы: %s" -#: nova/db/sqlalchemy/api.py:1036 +#: ../nova/virt/disk.py:124 #, python-format -msgid "No network for bridge %s" +msgid "nbd device %s did not show up" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/virt/disk.py:128 #, python-format -msgid "No network for instance %s" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "No quota for project_id %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Volume %s not found" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "No export device found for volume %s" -msgstr "" +msgid "Starting VM %s " +msgstr "Запускается VM %s " -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "No target id found for volume %s" -msgstr "" +msgid "Started VM %s " +msgstr "Запущен VM %s " -#: nova/db/sqlalchemy/api.py:1471 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "No security group with id %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "No security group named %s for project: %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "No secuity group rule with id %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1650 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "No user for id %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1666 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "No user for access key %s" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "No project with id %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "New disk drive path is %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Image %s could not be found" -msgstr "" +msgid "Created disk for %s" +msgstr "Создан диск для %s" -#: nova/network/api.py:39 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Creating nic for %s " msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/network/linux_net.py:176 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Starting VLAN inteface %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/network/linux_net.py:186 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Starting Bridge interface for %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Created nic for %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:325 +#, python-format +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Leasing IP %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "IP %s released that isn't associated" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/compute/api.py:71 #, python-format -msgid "IP %s released that was not leased" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/compute/api.py:77 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/compute/api.py:97 #, python-format -msgid "Unknown S3 value type %r" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/compute/api.py:99 +#, python-format +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/compute/api.py:160 #, python-format -msgid "List keys for bucket %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/compute/api.py:187 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/compute/api.py:292 #, python-format -msgid "Creating bucket %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/compute/api.py:296 #, python-format -msgid "Deleting bucket %s" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/compute/api.py:301 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Instance %d is already being terminated" msgstr "" -#: nova/objectstore/handler.py:271 -#, python-format -msgid "Getting object: %s / %s" -msgstr "Получение объекта: %s / %s" - -#: nova/objectstore/handler.py:274 +#: ../nova/compute/api.py:481 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/objectstore/handler.py:292 -#, python-format -msgid "Putting object: %s / %s" -msgstr "Вставка объекта: %s / %s" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" +msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/rpc.py:98 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/rpc.py:103 #, python-format -msgid "Deleting object: %s / %s" -msgstr "Удаление объекта: %s / %s" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgstr "Не удалось подключиться к серверу AMQP после %d попыток. Выключение." + +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Переподлючено к очереди" + +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "Не удалось получить сообщение из очереди" -#: nova/objectstore/handler.py:393 +#: ../nova/rpc.py:159 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/rpc.py:178 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" -msgstr "" +msgid "received %s" +msgstr "получено %s" -#: nova/objectstore/handler.py:406 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Starting image upload: %s" -msgstr "" +msgid "no method for message: %s" +msgstr "не определен метод для сообщения: %s" -#: nova/objectstore/handler.py:420 +#: ../nova/rpc.py:192 #, python-format -msgid "Not authorized to update attributes of image %s" -msgstr "" +msgid "No method for message: %s" +msgstr "Не определен метод для сообщения: %s" -#: nova/objectstore/handler.py:428 +#: ../nova/rpc.py:253 #, python-format -msgid "Toggling publicity flag of image %s %r" +msgid "Returning exception %s to caller" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/rpc.py:294 #, python-format -msgid "Updating user fields on image %s" +msgid "unpacked context: %s" msgstr "" -#: nova/objectstore/handler.py:447 +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Выполняется асинхронный вызов..." + +#: ../nova/rpc.py:316 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "MSG_ID is %s" +msgstr "MSG_ID is %s" + +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/rpc.py:364 #, python-format -msgid "Deleted image: %s" -msgstr "Удаленное изображение: %s" +msgid "response %s" +msgstr "ответ %s" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" -msgstr "" +#: ../nova/rpc.py:373 +#, python-format +msgid "topic is %s" +msgstr "тема %s" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" -msgstr "" +#: ../nova/rpc.py:374 +#, python-format +msgid "message %s" +msgstr "сообщение %s" -#: nova/scheduler/manager.py:69 +#: ../nova/volume/driver.py:78 #, python-format -msgid "Casting to %s %s for %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/volume/driver.py:87 +#, python-format +msgid "volume group %s doesn't exist" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/volume/driver.py:220 +#, python-format +msgid "FAKE AOE: %s" msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Running instances: %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/volume/driver.py:414 #, python-format -msgid "After terminating instances: %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/tests/test_rpc.py:89 -#, python-format -msgid "Nested received %s, %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/wsgi.py:68 #, python-format -msgid "Nested return %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 -#, python-format -msgid "Received %s" -msgstr "Получено %s" +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" +msgstr "" -#: nova/tests/test_volume.py:162 -#, python-format -msgid "Target %s allocated" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/fake.py:210 -#, python-format -msgid "Instance %s Not Found" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:131 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Attempt to create duplicate vm %s" +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:148 +#: ../nova/virt/fake.py:239 #, python-format -msgid "Starting VM %s " -msgstr "Запускается VM %s " +msgid "Instance %s Not Found" +msgstr "" -#: nova/virt/hyperv.py:150 +#: ../nova/network/manager.py:153 #, python-format -msgid "Started VM %s " -msgstr "Запущен VM %s " +msgid "Dissassociated %s stale fixed ip(s)" +msgstr "" -#: nova/virt/hyperv.py:152 -#, python-format -msgid "spawn vm failed: %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to create VM %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/network/manager.py:216 #, python-format -msgid "Created VM %s..." +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:188 +#: ../nova/network/manager.py:220 #, python-format -msgid "Set memory for vm %s..." +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:198 +#: ../nova/network/manager.py:228 #, python-format -msgid "Set vcpus for vm %s..." +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/network/manager.py:233 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/network/manager.py:241 #, python-format -msgid "New disk drive path is %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/network/manager.py:244 #, python-format -msgid "Failed to add vhd file to VM %s" +msgid "IP %s released that was not leased" +msgstr "" + +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Created disk for %s" -msgstr "Создан диск для %s" +msgid "Introducing %s..." +msgstr "" -#: nova/virt/hyperv.py:253 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Creating nic for %s " +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/hyperv.py:273 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Failed creating port for %s" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "Created switch port %s on switch %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/hyperv.py:285 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "Failed to add nic to VM %s" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Created nic for %s " +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "WMI job failed: %s" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:358 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "Got request to destroy vm %s" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "Failed to destroy vm %s" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Del: disk %s vm %s" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "duplicate name found: %s" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "Connecting to libvirt: %s" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/libvirt_conn.py:229 -#, python-format -msgid "instance %s: deleting instance files %s" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "No disk at %s" -msgstr "Нет диска в %s" - -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "instance %s: rebooted" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "instance %s: rescued" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "instance %s: is running" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "instance %s: booted" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "instance %s: failed to boot" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "data: %r, fpath: %r" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Contents of file %s: %r" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "instance %s: Creating image" +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "instance %s: starting toXML method" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/libvirt_conn.py:589 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "instance %s: finished toXML method" +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:450 +#, python-format +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Task [%s] %s status: success %s" -msgstr "" +msgid "Deleted image: %s" +msgstr "Удаленное изображение: %s" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Got exception: %s" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/auth/manager.py:264 #, python-format -msgid "%s: _db_content => %s" -msgstr "%s: _db_content => %s" - -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/auth/manager.py:270 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/auth/manager.py:277 #, python-format -msgid "Calling %s %s" -msgstr "Звонок %s %s" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" +msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/auth/manager.py:279 #, python-format -msgid "Calling getter %s" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/auth/manager.py:287 #, python-format msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/auth/manager.py:289 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "Found no network for bridge %s" -msgstr "" +msgid "Invalid signature for user %s" +msgstr "Не допустимая подпись для пользователя %s" + +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" +msgstr "Подпись не совпадает" + +#: ../nova/auth/manager.py:380 +msgid "Must specify project" +msgstr "Необходимо указать проект" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/auth/manager.py:414 #, python-format -msgid "Created VM %s as %s." -msgstr "" +msgid "The %s role can not be found" +msgstr "Роль %s не может быть найдена" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/auth/manager.py:416 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/auth/manager.py:423 #, python-format -msgid "VBD not found in instance %s" +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Created VIF %s for VM %s, network %s." -msgstr "" +msgid "modifying project %s" +msgstr "изменение проекта %s" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Asking xapi to upload %s as '%s'" -msgstr "" +msgid "Deleting project %s" +msgstr "Удаление проекта %s" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:650 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:659 #, python-format -msgid "Looking up vdi %s for PV kernel" -msgstr "" +msgid "Deleting user %s" +msgstr "Удаление пользователя %s" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:669 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:671 #, python-format -msgid "VDI %s is still available" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:673 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:722 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" -msgstr "" +msgid "No vpn data for project %s" +msgstr "Нет vpn данных для проекта %s" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/service.py:161 #, python-format -msgid "VHD %s has parent %s" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 -#, python-format -msgid "Re-scanning SR %s" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 -#, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." +msgstr "Объект сервиса в базе данных отсутствует, Повторное создание." + +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 -#, python-format -msgid "No VDIs found for VM %s" +#: ../nova/service.py:213 +msgid "model server went away" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Attempted to create non-unique name %s" -msgstr "" +msgid "LDAP object for %s doesn't exist" +msgstr "Объект LDAP %s не существует" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Starting VM %s..." +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Spawning VM %s created %s." +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Instance %s: booted" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Instance not present %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Starting snapshot for VM %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "suspend: instance not present %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "resume: instance not present %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Instance not found %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Introducing %s..." +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Introduced %s as %s." +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/virt/xenapi/network_utils.py:40 +#, python-format +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Found no network for bridge %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Forgetting SR %s ... " -msgstr "" +msgid "Creating new user: %s" +msgstr "Создание нового пользователя: %s" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" -msgstr "" +msgid "Deleting user: %s" +msgstr "Удаление пользователя: %s" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Forgetting SR %s done." +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "Unable to introduce VDI on SR %s" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 -#, python-format -msgid "Unable to get record of VDI %s on" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "Attach_volume: %s, %s, %s" -msgstr "" +msgid "Delete project: %s" +msgstr "Удалить проект: %s" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "Removing user %(user)s from project %(project)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 #, python-format -msgid "Unable to attach volume to instance %s" -msgstr "" +#~ msgid "arg: %s\t\tval: %s" +#~ msgstr "arg: %s\t\tval: %s" -#: nova/virt/xenapi/volumeops.py:95 #, python-format -msgid "Mountpoint %s attached to instance %s" -msgstr "" +#~ msgid "Adding role %s to user %s for project %s" +#~ msgstr "Добавление роли %s для пользователя %s для проекта %s" -#: nova/virt/xenapi/volumeops.py:106 #, python-format -msgid "Detach_volume: %s, %s" -msgstr "" +#~ msgid "Removing role %s from user %s for project %s" +#~ msgstr "Удаление роли %s пользователя %s для проекта %s" -#: nova/virt/xenapi/volumeops.py:113 #, python-format -msgid "Unable to locate volume %s" -msgstr "" +#~ msgid "Create project %s managed by %s" +#~ msgstr "Создать проект %s под управлением %s" -#: nova/virt/xenapi/volumeops.py:121 #, python-format -msgid "Unable to detach volume %s" -msgstr "" +#~ msgid "Removing user %s from project %s" +#~ msgstr "Удаление пользователя %s с проекта %s" -#: nova/virt/xenapi/volumeops.py:128 #, python-format -msgid "Mountpoint %s detached from instance %s" -msgstr "" +#~ msgid "Adding user %s to project %s" +#~ msgstr "Добавление пользователя %s к проекту %s" -#: nova/volume/api.py:44 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" -msgstr "" +#~ msgid "User %s is already a member of the group %s" +#~ msgstr "Пользователь %s уже член группы %s" -#: nova/volume/api.py:46 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "" +#~ msgid "User %s is not a member of project %s" +#~ msgstr "Пользователь %s не является членом группы %s" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "" +#, python-format +#~ msgid "Created project %s with manager %s" +#~ msgstr "Создан проект %s под управлением %s" -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "" +#, python-format +#~ msgid "Removing role %s from user %s on project %s" +#~ msgstr "Удаление роли %s пользователя %s в проекте %s" -#: nova/volume/api.py:103 -msgid "Volume is already detached" -msgstr "" +#, python-format +#~ msgid "Remove user %s from project %s" +#~ msgstr "Удалить пользователя %s из проекта %s" -#: nova/volume/driver.py:76 #, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "" +#~ msgid "Created user %s (admin: %r)" +#~ msgstr "Создан пользователь %s (администратор: %r)" -#: nova/volume/driver.py:85 #, python-format -msgid "volume group %s doesn't exist" -msgstr "" +#~ msgid "Adding role %s to user %s in project %s" +#~ msgstr "Добавление роли %s для пользователя %s в проект %s" -#: nova/volume/driver.py:210 #, python-format -msgid "FAKE AOE: %s" -msgstr "" +#~ msgid "Getting object: %s / %s" +#~ msgstr "Получение объекта: %s / %s" -#: nova/volume/driver.py:315 #, python-format -msgid "FAKE ISCSI: %s" -msgstr "" +#~ msgid "Deleting object: %s / %s" +#~ msgstr "Удаление объекта: %s / %s" -#: nova/volume/manager.py:85 #, python-format -msgid "Re-exporting %s volumes" -msgstr "" +#~ msgid "%s: _db_content => %s" +#~ msgstr "%s: _db_content => %s" -#: nova/volume/manager.py:93 #, python-format -msgid "volume %s: creating" -msgstr "" +#~ msgid "Calling %s %s" +#~ msgstr "Звонок %s %s" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Команда: %s\n" +#~ "Код завершения: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "AMQP сервер %s:%d недоступен. Повторная попытка через %d секунд." -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "" +#~ msgid "Putting object: %s / %s" +#~ msgstr "Вставка объекта: %s / %s" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" +#, python-format +#~ msgid "Starting %s node" +#~ msgstr "Запускается нода %s" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#, python-format +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "Хранилище данных %s недоступно. Повторная попытка через %d секунд." -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "" +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "Не удалось получить IP, используем 127.0.0.1 %s" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "" +#~ msgid "Getting from %s: %s" +#~ msgstr "Получение из %s: %s" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "" +#~ msgid "" +#~ "Access key %s has had %d failed authentications and will be locked out for " +#~ "%d minutes." +#~ msgstr "" +#~ "Ключ доступа %s имеет %d неудачных попыток аутентификации и будет " +#~ "заблокирован на %d минут." + +#, python-format +#~ msgid "Authenticated Request For %s:%s)" +#~ msgstr "Запрос аутентификации для %s:%s)" diff --git a/po/uk.po b/po/uk.po index f3e217690..d28860c9b 100644 --- a/po/uk.po +++ b/po/uk.po @@ -7,2129 +7,2876 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" "PO-Revision-Date: 2011-02-03 22:02+0000\n" "Last-Translator: Wladimir Rossinski \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-05 05:36+0000\n" -"X-Generator: Launchpad (build 12177)\n" +"X-Launchpad-Export-Date: 2011-03-19 06:19+0000\n" +"X-Generator: Launchpad (build 12559)\n" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "Неочікувана помилка при виконанні команди." + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "Необроблене виключення" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "Обслуговування %s" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "" + +#: ../nova/twistd.py:266 +#, python-format +msgid "Starting %s" +msgstr "Запускається %s" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "Ім'я файлу секретного ключа" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" msgstr "" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "Шлях до збережених ключів" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" msgstr "" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 +#, python-format +msgid "Subject for certificate for users, %s for project, user, timestamp" +msgstr "" + +#: ../nova/crypto.py:66 +#, python-format +msgid "Subject for certificate for projects, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:71 +#, python-format +msgid "Subject for certificate for vpns, %s for project, timestamp" +msgstr "" + +#: ../nova/crypto.py:258 +#, python-format +msgid "Flags path: %s" +msgstr "" + +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:80 +#, python-format +msgid "" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" + +#: ../nova/compute/manager.py:84 +#, python-format +msgid "check_instance_lock: locked: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:86 +#, python-format +msgid "check_instance_lock: admin: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:91 +#, python-format +msgid "check_instance_lock: executing: |%s|" +msgstr "" + +#: ../nova/compute/manager.py:95 +#, python-format +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "" + +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 +#, python-format +msgid "instance %s: Failed to spawn" +msgstr "" + +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 +#, python-format +msgid "Terminating instance %s" +msgstr "" + +#: ../nova/compute/manager.py:255 +#, python-format +msgid "Deallocating address %s" +msgstr "" + +#: ../nova/compute/manager.py:268 +#, python-format +msgid "trying to destroy already destroyed instance: %s" +msgstr "" + +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "" + +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "Запускається %s" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "Оголошення черги %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "Оголошення точки обміну %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:224 #, python-format -msgid "Subject for certificate for users, %s for project, user, timestamp" +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/crypto.py:66 +#: ../nova/virt/xenapi/vm_utils.py:227 #, python-format -msgid "Subject for certificate for projects, %s for project, timestamp" +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." msgstr "" -#: nova/crypto.py:71 +#: ../nova/virt/xenapi/vm_utils.py:246 #, python-format -msgid "Subject for certificate for vpns, %s for project, timestamp" +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." msgstr "" -#: nova/crypto.py:258 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 #, python-format -msgid "Flags path: %s" +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." msgstr "" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "Неочікувана помилка при виконанні команди." +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" -#: nova/exception.py:36 +#: ../nova/virt/xenapi/vm_utils.py:286 #, python-format -msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"Команда: %s\n" -"Код завершення: %s\n" -"Stdout: %r\n" -"Stderr: %r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "Необроблене виключення" +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/virt/xenapi/vm_utils.py:327 #, python-format -msgid "(%s) publish (key: %s) %s" +msgid "Size for image %(image)s:%(virtual_size)d" msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/virt/xenapi/vm_utils.py:332 #, python-format -msgid "Publishing to route %s" +msgid "Glance image %s" msgstr "" -#: nova/fakerabbit.py:83 +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 #, python-format -msgid "Declaring queue %s" -msgstr "Оголошення черги %s" +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/virt/xenapi/vm_utils.py:352 #, python-format -msgid "Declaring exchange %s" -msgstr "Оголошення точки обміну %s" +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" -#: nova/fakerabbit.py:95 +#: ../nova/virt/xenapi/vm_utils.py:361 #, python-format -msgid "Binding %s to %s with key %s" +msgid "Asking xapi to fetch %(url)s as %(access)s" msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 #, python-format -msgid "Getting from %s: %s" -msgstr "Отримання з %s: %s" +msgid "Looking up vdi %s for PV kernel" +msgstr "" -#: nova/rpc.py:92 +#: ../nova/virt/xenapi/vm_utils.py:397 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "AMQP сервер %s:%d недоступний. Спроба під'єднання через %d секунд." +msgid "PV Kernel in VDI:%s" +msgstr "" -#: nova/rpc.py:99 +#: ../nova/virt/xenapi/vm_utils.py:405 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "Не вдалось під'єднатися до серверу AMQP після %d спроб. Вимкнення." +msgid "Running pygrub against %s" +msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "Оновлено з'єднання до черги" +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." msgstr "" -#: nova/rpc.py:155 +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "duplicate name found: %s" msgstr "" -#: nova/rpc.py:170 +#: ../nova/virt/xenapi/vm_utils.py:442 #, python-format -msgid "received %s" -msgstr "отримано %s" +msgid "VDI %s is still available" +msgstr "" -#: nova/rpc.py:183 +#: ../nova/virt/xenapi/vm_utils.py:463 #, python-format -msgid "no method for message: %s" -msgstr "без порядку для повідомлень: %s" +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/virt/xenapi/vm_utils.py:465 #, python-format -msgid "No method for message: %s" -msgstr "Без порядку для повідомлень: %s" +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/virt/xenapi/vm_utils.py:525 #, python-format -msgid "Returning exception %s to caller" +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" msgstr "" -#: nova/rpc.py:286 +#: ../nova/virt/xenapi/vm_utils.py:542 #, python-format -msgid "unpacked context: %s" +msgid "Re-scanning SR %s" msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "Створення асинхронного виклику..." +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" -#: nova/rpc.py:308 +#: ../nova/virt/xenapi/vm_utils.py:574 #, python-format -msgid "MSG_ID is %s" -msgstr "MSG_ID %s" +msgid "" +"Parent %(parent_uuid)s doesn't match original parent " +"%(original_parent_uuid)s, waiting for coalesce..." +msgstr "" -#: nova/rpc.py:356 +#: ../nova/virt/xenapi/vm_utils.py:590 #, python-format -msgid "response %s" -msgstr "відповідь %s" +msgid "No VDIs found for VM %s" +msgstr "" -#: nova/rpc.py:365 +#: ../nova/virt/xenapi/vm_utils.py:594 #, python-format -msgid "topic is %s" -msgstr "заголовок %s" +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" -#: nova/rpc.py:366 +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 #, python-format -msgid "message %s" -msgstr "повідомлення %s" +msgid "Creating VBD for VDI %s ... " +msgstr "" -#: nova/service.py:157 +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 #, python-format -msgid "Starting %s node" +msgid "Creating VBD for VDI %s done." msgstr "" -#: nova/service.py:169 -msgid "Service killed that has no database entry" +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " msgstr "" -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" msgstr "" -#: nova/service.py:208 -msgid "model server went away" +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." +msgid "Destroying VBD for VDI %s ... " msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 #, python-format -msgid "Serving %s" -msgstr "Обслуговування %s" +msgid "Destroying VBD for VDI %s done." +msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." msgstr "" -#: nova/twistd.py:211 -#, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." msgstr "" -#: nova/twistd.py:268 -#, python-format -msgid "Starting %s" -msgstr "Запускається %s" +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 #, python-format -msgid "Inner Exception: %s" +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 #, python-format -msgid "Class %s cannot be found" +msgid "Ignoring XenAPI.Failure %s" msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/xenapi/vm_utils.py:735 #, python-format -msgid "Fetching %s" +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/xenapi/vm_utils.py:747 #, python-format -msgid "Running cmd (subprocess): %s" +msgid "Writing partition table %s done." msgstr "" -#: nova/utils.py:138 +#: ../nova/tests/test_rpc.py:89 #, python-format -msgid "Result was %s" +msgid "Nested received %(queue)s, %(value)s" msgstr "" -#: nova/utils.py:171 +#: ../nova/tests/test_rpc.py:95 #, python-format -msgid "debug in callback: %s" +msgid "Nested return %s" msgstr "" -#: nova/utils.py:176 +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 #, python-format -msgid "Running %s" -msgstr "Запускається %s" +msgid "Received %s" +msgstr "" -#: nova/utils.py:207 -#, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "Не вдалось отримати IP, використовуючи 127.0.0.1 %s" +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" -#: nova/utils.py:289 +#: ../nova/db/sqlalchemy/api.py:133 #, python-format -msgid "Invalid backend: %s" +msgid "No service for id %s" msgstr "" -#: nova/utils.py:300 +#: ../nova/db/sqlalchemy/api.py:251 #, python-format -msgid "backend %s" +msgid "No service for %(host)s, %(binary)s" msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "Занадто багато невдалих аутентифікацій." +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/db/sqlalchemy/api.py:608 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." +msgid "No floating ip for address %s" msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/db/sqlalchemy/api.py:629 #, python-format -msgid "Authentication Failure: %s" +msgid "No address for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:190 +#: ../nova/db/sqlalchemy/api.py:961 #, python-format -msgid "Authenticated Request For %s:%s)" +msgid "no keypair for user %(user_id)s, name %(name)s" msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 #, python-format -msgid "action: %s" +msgid "No network for id %s" msgstr "" -#: nova/api/ec2/__init__.py:229 -#, python-format -msgid "arg: %s\t\tval: %s" +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/db/sqlalchemy/api.py:1115 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" +msgid "No network for bridge %s" msgstr "" -#: nova/api/ec2/__init__.py:339 +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 #, python-format -msgid "NotFound raised: %s" +msgid "No network for instance %s" msgstr "" -#: nova/api/ec2/__init__.py:342 +#: ../nova/db/sqlalchemy/api.py:1277 #, python-format -msgid "ApiError raised: %s" +msgid "Token %s does not exist" msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/db/sqlalchemy/api.py:1302 #, python-format -msgid "Unexpected error raised: %s" +msgid "No quota for project_id %s" msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/db/sqlalchemy/api.py:1514 #, python-format -msgid "Creating new user: %s" +msgid "No export device found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/db/sqlalchemy/api.py:1527 #, python-format -msgid "Deleting user: %s" +msgid "No target id found for volume %s" msgstr "" -#: nova/api/ec2/admin.py:114 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Adding role %s to user %s for project %s" +msgid "No security group with id %s" msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/db/sqlalchemy/api.py:1589 #, python-format -msgid "Adding sitewide role %s to user %s" +msgid "No security group named %(group_name)s for project: %(project_id)s" msgstr "" -#: nova/api/ec2/admin.py:122 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "Removing role %s from user %s for project %s" +msgid "No secuity group rule with id %s" msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "No user for id %s" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" +#: ../nova/db/sqlalchemy/api.py:1772 +#, python-format +msgid "No user for access key %s" msgstr "" -#: nova/api/ec2/admin.py:142 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "Getting x509 for user: %s on project: %s" +msgid "No project with id %s" msgstr "" -#: nova/api/ec2/admin.py:159 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "Create project %s managed by %s" +msgid "No console pool with id %(pool_id)s" msgstr "" -#: nova/api/ec2/admin.py:170 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "Delete project: %s" -msgstr "Вилучити проект: %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "Adding user %s to project %s" -msgstr "Долучення користувача %s до проекту %s" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "" -#: nova/api/ec2/admin.py:188 +#: ../nova/db/sqlalchemy/api.py:2057 #, python-format -msgid "Removing user %s from project %s" -msgstr "Вилучення користувача %s з проекту %s" +msgid "on instance %s" +msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/api/ec2/cloud.py:117 +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 #, python-format -msgid "Generating root CA: %s" +msgid "No zone with id %(zone_id)s" msgstr "" -#: nova/api/ec2/cloud.py:277 +#: ../nova/virt/libvirt_conn.py:160 #, python-format -msgid "Create key pair %s" +msgid "Checking state of %s" msgstr "" -#: nova/api/ec2/cloud.py:285 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "Delete key pair %s" +msgid "Current state of %(name)s was %(state)s." msgstr "" -#: nova/api/ec2/cloud.py:357 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "%s is not a valid ipProtocol" -msgstr "%s не допустимий ipProtocol" +msgid "Connecting to libvirt: %s" +msgstr "" -#: nova/api/ec2/cloud.py:361 -msgid "Invalid port range" -msgstr "Невірний діапазон портів" +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "" -#: nova/api/ec2/cloud.py:392 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "Revoke security group ingress %s" +msgid "instance %(instance_name)s: deleting instance files %(target)s" msgstr "" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 -msgid "No rule for the specified parameters." +#: ../nova/virt/libvirt_conn.py:283 +#, python-format +msgid "Invalid device path %s" msgstr "" -#: nova/api/ec2/cloud.py:421 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Authorize security group ingress %s" +msgid "No disk at %s" msgstr "" -#: nova/api/ec2/cloud.py:432 -#, python-format -msgid "This rule already exists in group %s" -msgstr "Це правило вже існує в групі %s" +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" -#: nova/api/ec2/cloud.py:460 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Create Security Group %s" +msgid "instance %s: rebooted" msgstr "" -#: nova/api/ec2/cloud.py:463 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "group %s already exists" +msgid "_wait_for_reboot failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:475 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Delete security group %s" -msgstr "Вилучити групу безпеки %s" +msgid "instance %s: rescued" +msgstr "" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 +#: ../nova/virt/libvirt_conn.py:385 #, python-format -msgid "Get console output for instance %s" +msgid "_wait_for_rescue failed: %s" msgstr "" -#: nova/api/ec2/cloud.py:543 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Create volume of %s GB" -msgstr "Створити розділ на %s ГБ" +msgid "instance %s: is running" +msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "instance %s: booted" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Detach volume %s" -msgstr "Від'єднати том %s" - -#: nova/api/ec2/cloud.py:686 -msgid "Allocate address" +msgid "instance %s: failed to boot" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "Release address %s" +msgid "virsh said: %r" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "Associate address %s to instance %s" +msgid "data: %(data)r, fpath: %(fpath)r" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "Disassociate address %s" +msgid "Contents of file %(fpath)s: %(contents)r" msgstr "" -#: nova/api/ec2/cloud.py:730 -msgid "Going to start terminating instances" +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "Reboot instance %r" +msgid "instance %s: Creating image" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "De-registering image %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "Registered image %s with id %s" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 #, python-format -msgid "attribute not supported: %s" +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" msgstr "" -#: nova/api/ec2/cloud.py:794 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "invalid id: %s" +msgid "instance %s: starting toXML method" msgstr "" -#: nova/api/ec2/cloud.py:807 -msgid "user or group not specified" +#: ../nova/virt/libvirt_conn.py:732 +#, python-format +msgid "instance %s: finished toXML method" msgstr "" -#: nova/api/ec2/cloud.py:809 -msgid "only group \"all\" is supported" -msgstr "лише група \"всі\" підтримується" - -#: nova/api/ec2/cloud.py:811 -msgid "operation_type must be add or remove" +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Updating image %s publicity" +msgid "Attempted to unfilter instance %s which is not filtered" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format msgid "Failed to get metadata for ip: %s" msgstr "" -#: nova/api/openstack/__init__.py:70 -#, python-format -msgid "Caught error: %s" -msgstr "" - -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" msgstr "" -#: nova/api/openstack/servers.py:184 +#: ../nova/network/api.py:39 #, python-format -msgid "Compute.api::lock %s" +msgid "Quota exceeeded for %s, tried to allocate address" msgstr "" -#: nova/api/openstack/servers.py:199 -#, python-format -msgid "Compute.api::unlock %s" +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" msgstr "" -#: nova/api/openstack/servers.py:213 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Compute.api::get_lock %s" +msgid "Target %s allocated" msgstr "" -#: nova/api/openstack/servers.py:224 +#: ../nova/virt/images.py:70 #, python-format -msgid "Compute.api::pause %s" +msgid "Finished retreving %(url)s -- placed in %(path)s" msgstr "" -#: nova/api/openstack/servers.py:235 -#, python-format -msgid "Compute.api::unpause %s" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" msgstr "" -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" +#: ../nova/console/manager.py:70 +msgid "Adding console" msgstr "" -#: nova/api/openstack/servers.py:257 +#: ../nova/console/manager.py:90 #, python-format -msgid "compute.api::resume %s" +msgid "Tried to remove non-existant console %(console_id)s." msgstr "" -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" -msgstr "Користувач %s вже існує" +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Project can't be created because manager %s doesn't exist" +msgid "The key_pair %s already exists" msgstr "" -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format -msgid "Project can't be created because project %s already exists" +msgid "Generating root CA: %s" msgstr "" -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 +#: ../nova/api/ec2/cloud.py:303 #, python-format -msgid "Project can't be modified because manager %s doesn't exist" +msgid "Create key pair %s" msgstr "" -#: nova/auth/dbdriver.py:245 +#: ../nova/api/ec2/cloud.py:311 #, python-format -msgid "User \"%s\" not found" -msgstr "Користувач \"%s\" не знайдено" +msgid "Delete key pair %s" +msgstr "" -#: nova/auth/dbdriver.py:248 +#: ../nova/api/ec2/cloud.py:386 #, python-format -msgid "Project \"%s\" not found" -msgstr "Проект \"%s\" не знайдено" +msgid "%s is not a valid ipProtocol" +msgstr "%s не допустимий ipProtocol" -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" -msgstr "" +#: ../nova/api/ec2/cloud.py:390 +msgid "Invalid port range" +msgstr "Невірний діапазон портів" -#: nova/auth/ldapdriver.py:181 +#: ../nova/api/ec2/cloud.py:421 #, python-format -msgid "LDAP object for %s doesn't exist" +msgid "Revoke security group ingress %s" msgstr "" -#: nova/auth/ldapdriver.py:218 -#, python-format -msgid "Project can't be created because user %s doesn't exist" +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." msgstr "" -#: nova/auth/ldapdriver.py:478 -#, python-format -msgid "User %s is already a member of the group %s" +#: ../nova/api/ec2/cloud.py:443 +msgid "No rule for the specified parameters." msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../nova/api/ec2/cloud.py:450 #, python-format -msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." +msgid "Authorize security group ingress %s" msgstr "" -#: nova/auth/ldapdriver.py:528 +#: ../nova/api/ec2/cloud.py:464 #, python-format -msgid "Group at dn %s doesn't exist" -msgstr "" +msgid "This rule already exists in group %s" +msgstr "Це правило вже існує в групі %s" -#: nova/auth/manager.py:259 +#: ../nova/api/ec2/cloud.py:492 #, python-format -msgid "Looking up user: %r" +msgid "Create Security Group %s" msgstr "" -#: nova/auth/manager.py:263 +#: ../nova/api/ec2/cloud.py:495 #, python-format -msgid "Failed authorization for access key %s" +msgid "group %s already exists" msgstr "" -#: nova/auth/manager.py:264 +#: ../nova/api/ec2/cloud.py:507 #, python-format -msgid "No user found for access key %s" -msgstr "" +msgid "Delete security group %s" +msgstr "Вилучити групу безпеки %s" -#: nova/auth/manager.py:270 +#: ../nova/api/ec2/cloud.py:584 #, python-format -msgid "Using project name = user name (%s)" -msgstr "" +msgid "Create volume of %s GB" +msgstr "Створити розділ на %s ГБ" -#: nova/auth/manager.py:275 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/auth/manager.py:277 +#: ../nova/api/ec2/cloud.py:629 #, python-format -msgid "No project called %s could be found" -msgstr "" +msgid "Detach volume %s" +msgstr "Від'єднати том %s" -#: nova/auth/manager.py:281 -#, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +#: ../nova/api/ec2/cloud.py:761 +msgid "Allocate address" msgstr "" -#: nova/auth/manager.py:283 +#: ../nova/api/ec2/cloud.py:766 #, python-format -msgid "User %s is not a member of project %s" +msgid "Release address %s" msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Invalid signature for user %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +#: ../nova/api/ec2/cloud.py:780 +#, python-format +msgid "Disassociate address %s" msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" +#: ../nova/api/ec2/cloud.py:807 +msgid "Going to start terminating instances" msgstr "" -#: nova/auth/manager.py:408 +#: ../nova/api/ec2/cloud.py:815 #, python-format -msgid "The %s role can not be found" +msgid "Reboot instance %r" msgstr "" -#: nova/auth/manager.py:410 +#: ../nova/api/ec2/cloud.py:867 #, python-format -msgid "The %s role is global only" +msgid "De-registering image %s" msgstr "" -#: nova/auth/manager.py:412 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/auth/manager.py:438 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "attribute not supported: %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../nova/api/ec2/cloud.py:890 #, python-format -msgid "Created project %s with manager %s" +msgid "invalid id: %s" msgstr "" -#: nova/auth/manager.py:523 -#, python-format -msgid "modifying project %s" +#: ../nova/api/ec2/cloud.py:903 +msgid "user or group not specified" msgstr "" -#: nova/auth/manager.py:553 -#, python-format -msgid "Remove user %s from project %s" -msgstr "" +#: ../nova/api/ec2/cloud.py:905 +msgid "only group \"all\" is supported" +msgstr "лише група \"всі\" підтримується" -#: nova/auth/manager.py:581 -#, python-format -msgid "Deleting project %s" +#: ../nova/api/ec2/cloud.py:907 +msgid "operation_type must be add or remove" msgstr "" -#: nova/auth/manager.py:637 +#: ../nova/api/ec2/cloud.py:908 #, python-format -msgid "Created user %s (admin: %r)" +msgid "Updating image %s publicity" msgstr "" -#: nova/auth/manager.py:645 +#: ../bin/nova-api.py:52 #, python-format -msgid "Deleting user %s" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/manager.py:655 +#: ../bin/nova-api.py:57 #, python-format -msgid "Access Key change for user %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/manager.py:657 +#: ../bin/nova-api.py:59 #, python-format -msgid "Secret Key change for user %s" +msgid "" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:659 +#: ../bin/nova-api.py:64 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:708 +#: ../bin/nova-api.py:69 #, python-format -msgid "No vpn data for project %s" +msgid "No known API applications configured in %s." msgstr "" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" +#: ../bin/nova-api.py:83 +#, python-format +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +#: ../bin/nova-api.py:89 +#, python-format +msgid "No paste configuration found for: %s" msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 +#, python-format +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "Launching VPN for %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/compute/api.py:67 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/compute/api.py:73 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "Instance %d has no host" +msgid "Argument %s is required." msgstr "" -#: nova/compute/api.py:92 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/compute/api.py:94 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 #, python-format msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/virt/xenapi/vmops.py:67 +#, python-format +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/compute/api.py:156 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Going to run %s instances..." +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/compute/api.py:180 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +msgid "Starting VM %s..." msgstr "" -#: nova/compute/api.py:279 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Going to try and terminate %s" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/compute/api.py:283 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/compute/api.py:288 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Instance %d is already being terminated" +msgid "Injecting file path: '%s'" msgstr "" -#: nova/compute/api.py:450 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "Instance %s: booted" msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" +#: ../nova/virt/xenapi/vmops.py:232 +#, python-format +msgid "Instance not present %s" msgstr "" -#: nova/compute/disk.py:71 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/compute/disk.py:128 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/virt/xenapi/vmops.py:356 #, python-format -msgid "Failed to load partition: %s" +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/compute/disk.py:158 -#, python-format -msgid "Failed to mount filesystem: %s" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/compute/instance_types.py:41 -#, python-format -msgid "Unknown instance type: %s" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:71 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:75 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "check_instance_lock: locked: |%s|" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/manager.py:77 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "check_instance_lock: admin: |%s|" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/manager.py:82 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "check_instance_lock: executing: |%s|" +msgid "Running instances: %s" msgstr "" -#: nova/compute/manager.py:86 +#: ../nova/tests/test_compute.py:154 #, python-format -msgid "check_instance_lock: not executing |%s|" +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/manager.py:158 -#, python-format -msgid "instance %s: starting..." +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/manager.py:197 -#, python-format -msgid "instance %s: Failed to spawn" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Terminating instance %s" +msgid "Launching VPN for %s" +msgstr "" + +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/image/s3.py:99 #, python-format -msgid "Disassociating address %s" +msgid "Image %s could not be found" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "Занадто багато невдалих аутентифікацій." + +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Deallocating address %s" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/manager.py:243 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "trying to destroy already destroyed instance: %s" +msgid "Authentication Failure: %s" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Rebooting instance %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "action: %s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "instance %s: snapshotting" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/api/ec2/__init__.py:281 #, python-format msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:301 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "instance %s: rescuing" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "instance %s: unrescuing" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:335 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "instance %s: pausing" +msgid "NotFound raised: %s" msgstr "" -#: nova/compute/manager.py:352 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "instance %s: unpausing" +msgid "ApiError raised: %s" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Unexpected error raised: %s" msgstr "" -#: nova/compute/manager.py:382 -#, python-format -msgid "instance %s: suspending" +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "instance %s: resuming" +msgid "User %s already exists" +msgstr "Користувач %s вже існує" + +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 +#, python-format +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: locking" +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:432 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: unlocking" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:442 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "instance %s: getting locked state" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:462 +#: ../nova/auth/dbdriver.py:245 +#, python-format +msgid "User \"%s\" not found" +msgstr "Користувач \"%s\" не знайдено" + +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "instance %s: attaching volume %s to %s" +msgid "Project \"%s\" not found" +msgstr "Проект \"%s\" не знайдено" + +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:478 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "instance %s: attach failed %s, removing" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:493 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Got exception: %s" msgstr "" -#: nova/compute/monitor.py:259 +#: ../nova/compute/monitor.py:259 #, python-format msgid "updating %s..." msgstr "" -#: nova/compute/monitor.py:289 +#: ../nova/compute/monitor.py:289 msgid "unexpected error during update" msgstr "" -#: nova/compute/monitor.py:355 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:377 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/monitor.py:412 +#: ../nova/compute/monitor.py:414 msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/monitor.py:427 +#: ../nova/compute/monitor.py:429 #, python-format msgid "Found instance: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" -msgstr "" - -#: nova/db/sqlalchemy/api.py:132 +#: ../nova/volume/san.py:67 #, python-format -msgid "No service for id %s" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/db/sqlalchemy/api.py:229 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "No service for %s, %s" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/db/sqlalchemy/api.py:574 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "No floating ip for address %s" +msgid "Caught error: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/console/xvp.py:116 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Re-wrote %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 -#, python-format -msgid "No network for id %s" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 -#, python-format -msgid "No network for bridge %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/console/xvp.py:141 #, python-format -msgid "No network for instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 -#, python-format -msgid "No quota for project_id %s" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/db/sqlalchemy/api.py:1401 -#, python-format -msgid "Volume %s not found" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 -#, python-format -msgid "No export device found for volume %s" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/db/sqlalchemy/api.py:1426 -#, python-format -msgid "No target id found for volume %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:1471 -#, python-format -msgid "No security group with id %s" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 -#, python-format -msgid "No security group named %s for project: %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 -#, python-format -msgid "No secuity group rule with id %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:1650 -#, python-format -msgid "No user for id %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:1666 -#, python-format -msgid "No user for access key %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 -#, python-format -msgid "No project with id %s" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/disk.py:69 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "Failed to load partition: %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/disk.py:91 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/disk.py:124 #, python-format -msgid "Image %s could not be found" +msgid "nbd device %s did not show up" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/disk.py:128 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/network/linux_net.py:176 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "Starting VLAN inteface %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/network/linux_net.py:186 -#, python-format -msgid "Starting Bridge interface for %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Starting VM %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "Killing dnsmasq threw %s" -msgstr "" - -#: nova/network/manager.py:135 -msgid "setting network host" +msgid "Started VM %s " msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "Leasing IP %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to create VM %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "IP %s released that isn't associated" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "IP %s released that was not leased" +msgid "New disk drive path is %s" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Unknown S3 value type %r" +msgid "Created disk for %s" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/virt/hyperv.py:253 +#, python-format +msgid "Creating nic for %s " msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "List keys for bucket %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Creating bucket %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Deleting bucket %s" +msgid "Created nic for %s " msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/virt/hyperv.py:325 #, python-format -msgid "Getting object: %s / %s" +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/objectstore/handler.py:274 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "Putting object: %s / %s" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/objectstore/handler.py:314 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "Deleting object: %s / %s" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/objectstore/handler.py:393 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "Not authorized to upload image: invalid directory %s" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:401 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/compute/api.py:71 #, python-format -msgid "Starting image upload: %s" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/objectstore/handler.py:420 +#: ../nova/compute/api.py:77 #, python-format -msgid "Not authorized to update attributes of image %s" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:428 +#: ../nova/compute/api.py:97 #, python-format -msgid "Toggling publicity flag of image %s %r" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:433 +#: ../nova/compute/api.py:99 #, python-format -msgid "Updating user fields on image %s" +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:447 -#, python-format -msgid "Unauthorized attempt to delete image %s" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:452 +#: ../nova/compute/api.py:160 #, python-format -msgid "Deleted image: %s" -msgstr "" - -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" +msgid "Going to run %s instances..." msgstr "" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/compute/api.py:187 +#, python-format +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/compute/api.py:292 #, python-format -msgid "Casting to %s %s for %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" +#: ../nova/compute/api.py:296 +#, python-format +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" +#: ../nova/compute/api.py:301 +#, python-format +msgid "Instance %d is already being terminated" msgstr "" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/compute/api.py:481 +#, python-format +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/rpc.py:98 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/tests/test_compute.py:104 +#: ../nova/rpc.py:103 #, python-format -msgid "Running instances: %s" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgstr "Не вдалось під'єднатися до серверу AMQP після %d спроб. Вимкнення." + +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "Оновлено з'єднання до черги" + +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" msgstr "" -#: nova/tests/test_compute.py:110 +#: ../nova/rpc.py:159 #, python-format -msgid "After terminating instances: %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/tests/test_rpc.py:89 +#: ../nova/rpc.py:178 #, python-format -msgid "Nested received %s, %s" -msgstr "" +msgid "received %s" +msgstr "отримано %s" -#: nova/tests/test_rpc.py:94 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Nested return %s" -msgstr "" +msgid "no method for message: %s" +msgstr "без порядку для повідомлень: %s" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/rpc.py:192 #, python-format -msgid "Received %s" -msgstr "" +msgid "No method for message: %s" +msgstr "Без порядку для повідомлень: %s" -#: nova/tests/test_volume.py:162 +#: ../nova/rpc.py:253 #, python-format -msgid "Target %s allocated" +msgid "Returning exception %s to caller" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../nova/rpc.py:294 +#, python-format +msgid "unpacked context: %s" msgstr "" -#: nova/virt/fake.py:210 +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "Створення асинхронного виклику..." + +#: ../nova/rpc.py:316 #, python-format -msgid "Instance %s Not Found" -msgstr "" +msgid "MSG_ID is %s" +msgstr "MSG_ID %s" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/virt/hyperv.py:131 +#: ../nova/rpc.py:364 #, python-format -msgid "Attempt to create duplicate vm %s" -msgstr "" +msgid "response %s" +msgstr "відповідь %s" -#: nova/virt/hyperv.py:148 +#: ../nova/rpc.py:373 #, python-format -msgid "Starting VM %s " -msgstr "" +msgid "topic is %s" +msgstr "заголовок %s" -#: nova/virt/hyperv.py:150 +#: ../nova/rpc.py:374 #, python-format -msgid "Started VM %s " -msgstr "" +msgid "message %s" +msgstr "повідомлення %s" -#: nova/virt/hyperv.py:152 +#: ../nova/volume/driver.py:78 #, python-format -msgid "spawn vm failed: %s" +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/volume/driver.py:87 #, python-format -msgid "Failed to create VM %s" +msgid "volume group %s doesn't exist" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Created VM %s..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/virt/hyperv.py:188 -#, python-format -msgid "Set memory for vm %s..." +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:198 -#, python-format -msgid "Set vcpus for vm %s..." +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/volume/driver.py:414 #, python-format -msgid "New disk drive path is %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/virt/hyperv.py:247 -#, python-format -msgid "Failed to add vhd file to VM %s" +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/wsgi.py:68 #, python-format -msgid "Created disk for %s" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/hyperv.py:253 -#, python-format -msgid "Creating nic for %s " +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:273 -#, python-format -msgid "Failed creating port for %s" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:275 -#, python-format -msgid "Created switch port %s on switch %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Created nic for %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/fake.py:239 #, python-format -msgid "WMI job failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/network/manager.py:153 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:358 -#, python-format -msgid "Got request to destroy vm %s" +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/network/manager.py:212 #, python-format -msgid "Failed to destroy vm %s" +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/network/manager.py:216 #, python-format -msgid "Del: disk %s vm %s" +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/network/manager.py:220 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/network/manager.py:228 #, python-format -msgid "duplicate name found: %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/network/manager.py:233 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/network/manager.py:241 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/network/manager.py:244 #, python-format -msgid "Connecting to libvirt: %s" +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "No disk at %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/libvirt_conn.py:294 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "instance %s: rebooted" +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "instance %s: rescued" +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "instance %s: is running" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "instance %s: booted" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "instance %s: failed to boot" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "virsh said: %r" -msgstr "" - -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Contents of file %s: %r" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "instance %s: Creating image" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/image.py:269 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "instance %s: starting toXML method" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:589 -#, python-format -msgid "instance %s: finished toXML method" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "Got exception: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "%s: _db_content => %s" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +#: ../nova/objectstore/handler.py:249 +#, python-format +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "Calling %s %s" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/objectstore/handler.py:296 #, python-format -msgid "Calling getter %s" +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "Found no network for bridge %s" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "Created VM %s as %s." +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "VBD not found in instance %s" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:263 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:264 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:270 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:277 #, python-format -msgid "Looking up vdi %s for PV kernel" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:279 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:287 #, python-format -msgid "VDI %s is still available" +msgid "" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:289 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 -#, python-format -msgid "VHD %s has parent %s" +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 -#, python-format -msgid "Re-scanning SR %s" +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vm_utils.py:431 +#: ../nova/auth/manager.py:414 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 +#: ../nova/auth/manager.py:416 #, python-format -msgid "No VDIs found for VM %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vm_utils.py:452 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:62 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Attempted to create non-unique name %s" +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:99 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Starting VM %s..." +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Spawning VM %s created %s." +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Instance %s: booted" +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Instance not present %s" +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Starting snapshot for VM %s" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "Deleting project %s" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/manager.py:650 #, python-format -msgid "suspend: instance not present %s" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/manager.py:659 #, python-format -msgid "resume: instance not present %s" +msgid "Deleting user %s" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/manager.py:669 #, python-format -msgid "Instance not found %s" +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/manager.py:671 #, python-format -msgid "Introducing %s..." +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/manager.py:673 #, python-format -msgid "Introduced %s as %s." +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +#: ../nova/auth/manager.py:722 +#, python-format +msgid "No vpn data for project %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/service.py:161 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 -#, python-format -msgid "Forgetting SR %s ... " +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 -#, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 -#, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +#: ../nova/service.py:207 +msgid "Recovered model server connection!" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 -#, python-format -msgid "Forgetting SR %s done." +#: ../nova/service.py:213 +msgid "model server went away" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" +msgid "LDAP user %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Unable to introduce VDI on SR %s" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "User %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "Attach_volume: %s, %s, %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Mountpoint %s attached to instance %s" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Detach_volume: %s, %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Unable to locate volume %s" +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:121 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Unable to detach volume %s" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volumeops.py:128 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Mountpoint %s detached from instance %s" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/volume/api.py:44 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" +msgid "Found no network for bridge %s" msgstr "" -#: nova/volume/api.py:46 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" +msgid "Creating new user: %s" msgstr "" -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" +#: ../nova/api/ec2/admin.py:105 +#, python-format +msgid "Deleting user: %s" msgstr "" -#: nova/volume/api.py:97 -msgid "Volume is already attached" +#: ../nova/api/ec2/admin.py:127 +#, python-format +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/volume/api.py:103 -msgid "Volume is already detached" +#: ../nova/api/ec2/admin.py:131 +#, python-format +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/volume/driver.py:76 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "Recovering from a failed execute. Try number %s" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/volume/driver.py:85 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "volume group %s doesn't exist" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/volume/driver.py:210 -#, python-format -msgid "FAKE AOE: %s" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" msgstr "" -#: nova/volume/driver.py:315 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "FAKE ISCSI: %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/volume/manager.py:85 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Re-exporting %s volumes" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:93 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "volume %s: creating" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/volume/manager.py:102 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "" +msgid "Delete project: %s" +msgstr "Вилучити проект: %s" -#: nova/volume/manager.py:106 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "volume %s: creating export" +msgid "Adding user %(user)s to project %(project)s" msgstr "" -#: nova/volume/manager.py:113 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "volume %s: created successfully" +msgid "Removing user %(user)s from project %(project)s" msgstr "" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" +#, python-format +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "AMQP сервер %s:%d недоступний. Спроба під'єднання через %d секунд." -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#, python-format +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "Не вдалось отримати IP, використовуючи 127.0.0.1 %s" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "" +#~ msgid "Removing user %s from project %s" +#~ msgstr "Вилучення користувача %s з проекту %s" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "" +#~ msgid "Adding user %s to project %s" +#~ msgstr "Долучення користувача %s до проекту %s" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "Команда: %s\n" +#~ "Код завершення: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" + +#, python-format +#~ msgid "Getting from %s: %s" +#~ msgstr "Отримання з %s: %s" diff --git a/po/zh_CN.po b/po/zh_CN.po index a39383497..9690356f5 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,2129 +7,2934 @@ msgid "" msgstr "" "Project-Id-Version: nova\n" "Report-Msgid-Bugs-To: FULL NAME \n" -"POT-Creation-Date: 2011-01-10 11:25-0800\n" -"PO-Revision-Date: 2011-02-14 02:26+0000\n" -"Last-Translator: Winston Dillon \n" +"POT-Creation-Date: 2011-02-21 10:03-0500\n" +"PO-Revision-Date: 2011-04-07 05:01+0000\n" +"Last-Translator: ben \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2011-02-15 05:12+0000\n" -"X-Generator: Launchpad (build 12351)\n" +"X-Launchpad-Export-Date: 2011-04-08 05:28+0000\n" +"X-Generator: Launchpad (build 12735)\n" -#: nova/twistd.py:268 +#: ../nova/twistd.py:266 #, python-format msgid "Starting %s" -msgstr "正在启动 %s" +msgstr "启动 %s 中" -#: nova/crypto.py:46 +#: ../nova/scheduler/chance.py:37 ../nova/scheduler/zone.py:55 +#: ../nova/scheduler/simple.py:75 ../nova/scheduler/simple.py:110 +#: ../nova/scheduler/simple.py:122 +msgid "No hosts found" +msgstr "未找到主机" + +#: ../nova/exception.py:33 +msgid "Unexpected error while running command." +msgstr "运行命令时出现错误" + +#: ../nova/exception.py:36 +#, python-format +msgid "" +"%(description)s\n" +"Command: %(cmd)s\n" +"Exit code: %(exit_code)s\n" +"Stdout: %(stdout)r\n" +"Stderr: %(stderr)r" +msgstr "" + +#: ../nova/exception.py:107 +msgid "DB exception wrapped" +msgstr "" + +#. exc_type, exc_value, exc_traceback = sys.exc_info() +#: ../nova/exception.py:120 +msgid "Uncaught exception" +msgstr "未捕获异常" + +#: ../nova/volume/api.py:45 +#, python-format +msgid "Quota exceeeded for %(pid)s, tried to create %(size)sG volume" +msgstr "" + +#: ../nova/volume/api.py:47 +#, python-format +msgid "Volume quota exceeded. You cannot create a volume of size %sG" +msgstr "卷磁盘配额已耗尽,不能创建 %sG 大小的卷" + +#: ../nova/volume/api.py:71 ../nova/volume/api.py:96 +msgid "Volume status must be available" +msgstr "卷组状态必须可获取" + +#: ../nova/volume/api.py:98 +msgid "Volume is already attached" +msgstr "卷已挂载" + +#: ../nova/volume/api.py:104 +msgid "Volume is already detached" +msgstr "卷已卸载" + +#: ../nova/api/openstack/servers.py:72 +msgid "Failed to read private ip" +msgstr "获取内网IP失败" + +#: ../nova/api/openstack/servers.py:79 +msgid "Failed to read public ip(s)" +msgstr "获取外网IP失败" + +#: ../nova/api/openstack/servers.py:152 +#, python-format +msgid "%(param)s property not found for image %(_image_id)s" +msgstr "" + +#: ../nova/api/openstack/servers.py:168 +msgid "No keypairs defined" +msgstr "未定义密钥对" + +#: ../nova/api/openstack/servers.py:238 +#, python-format +msgid "Compute.api::lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:253 +#, python-format +msgid "Compute.api::unlock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:267 +#, python-format +msgid "Compute.api::get_lock %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:281 +#, python-format +msgid "Compute.api::reset_network %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:292 +#, python-format +msgid "Compute.api::pause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:303 +#, python-format +msgid "Compute.api::unpause %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:314 +#, python-format +msgid "compute.api::suspend %s" +msgstr "" + +#: ../nova/api/openstack/servers.py:325 +#, python-format +msgid "compute.api::resume %s" +msgstr "" + +#: ../nova/twistd.py:157 +msgid "Wrong number of arguments." +msgstr "错误参数个数。" + +#: ../nova/twistd.py:209 +#, python-format +msgid "pidfile %s does not exist. Daemon not running?\n" +msgstr "pidfile %s 不存在,守护进程是否运行?\n" + +#: ../nova/twistd.py:221 +msgid "No such process" +msgstr "没有该进程" + +#: ../nova/twistd.py:230 ../nova/service.py:224 +#, python-format +msgid "Serving %s" +msgstr "正在为 %s 服务" + +#: ../nova/twistd.py:262 ../nova/service.py:225 +msgid "Full set of FLAGS:" +msgstr "FLAGS全集:" + +#: ../nova/virt/xenapi/volumeops.py:48 ../nova/virt/xenapi/volumeops.py:101 +#: ../nova/db/sqlalchemy/api.py:731 ../nova/virt/libvirt_conn.py:741 +#: ../nova/api/ec2/__init__.py:317 +#, python-format +msgid "Instance %s not found" +msgstr "" + +#. NOTE: No Resource Pool concept so far +#: ../nova/virt/xenapi/volumeops.py:51 +#, python-format +msgid "Attach_volume: %(instance_name)s, %(device_path)s, %(mountpoint)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:69 +#, python-format +msgid "Unable to create VDI on SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:80 +#, python-format +msgid "Unable to use SR %(sr_ref)s for instance %(instance_name)s" +msgstr "" + +#: ../nova/virt/xenapi/volumeops.py:91 +#, python-format +msgid "Unable to attach volume to instance %s" +msgstr "无法挂载卷到虚拟机 %s" + +#: ../nova/virt/xenapi/volumeops.py:93 +#, python-format +msgid "Mountpoint %(mountpoint)s attached to instance %(instance_name)s" +msgstr "挂载点 %(mountpoint)s 挂载到虚拟机 %(instance_name)s" + +#. Detach VBD from VM +#: ../nova/virt/xenapi/volumeops.py:104 +#, python-format +msgid "Detach_volume: %(instance_name)s, %(mountpoint)s" +msgstr "卸载_volume: %(instance_name)s, %(mountpoint)s" + +#: ../nova/virt/xenapi/volumeops.py:112 +#, python-format +msgid "Unable to locate volume %s" +msgstr "无法找到 %s 卷" + +#: ../nova/virt/xenapi/volumeops.py:120 +#, python-format +msgid "Unable to detach volume %s" +msgstr "无法卸载 %s 卷" + +#: ../nova/virt/xenapi/volumeops.py:127 +#, python-format +msgid "Mountpoint %(mountpoint)s detached from instance %(instance_name)s" +msgstr "挂载点 %(mountpoint)s 从虚拟机 %(instance_name)s 卸载" + +#: ../nova/compute/instance_types.py:41 +#, python-format +msgid "Unknown instance type: %s" +msgstr "未知的虚拟机类型:%s" + +#: ../nova/crypto.py:46 msgid "Filename of root CA" msgstr "根证书文件名" -#: nova/crypto.py:49 +#: ../nova/crypto.py:49 msgid "Filename of private key" msgstr "私钥文件名" -#: nova/crypto.py:51 +#: ../nova/crypto.py:51 msgid "Filename of root Certificate Revokation List" msgstr "" -#: nova/crypto.py:53 +#: ../nova/crypto.py:53 msgid "Where we keep our keys" msgstr "保存密钥的位置" -#: nova/crypto.py:55 +#: ../nova/crypto.py:55 msgid "Where we keep our root CA" msgstr "保存根证书的位置" -#: nova/crypto.py:57 +#: ../nova/crypto.py:57 msgid "Should we use a CA for each project?" msgstr "是否所有项目都是用证书授权(CA)?" -#: nova/crypto.py:61 +#: ../nova/crypto.py:61 #, python-format msgid "Subject for certificate for users, %s for project, user, timestamp" msgstr "用户证书的标题,%s依次分别为项目,用户,时间戳" -#: nova/crypto.py:66 +#: ../nova/crypto.py:66 #, python-format msgid "Subject for certificate for projects, %s for project, timestamp" msgstr "项目证书的标题,%s依次分别为项目,时间戳" -#: nova/crypto.py:71 +#: ../nova/crypto.py:71 #, python-format msgid "Subject for certificate for vpns, %s for project, timestamp" msgstr "VPN证书的标题,%s依次分别为项目,时间戳" -#: nova/crypto.py:258 +#: ../nova/crypto.py:258 #, python-format msgid "Flags path: %s" msgstr "Flag所在路径:%s" -#: nova/exception.py:33 -msgid "Unexpected error while running command." -msgstr "运行命令时出现了意外错误。" +#: ../nova/scheduler/manager.py:69 +#, python-format +msgid "Casting to %(topic)s %(host)s for %(method)s" +msgstr "" + +#: ../nova/compute/manager.py:78 +#, python-format +msgid "check_instance_lock: decorating: |%s|" +msgstr "" -#: nova/exception.py:36 +#: ../nova/compute/manager.py:80 #, python-format msgid "" -"%s\n" -"Command: %s\n" -"Exit code: %s\n" -"Stdout: %r\n" -"Stderr: %r" -msgstr "" -"%s\n" -"命令:%s\n" -"退出代码:%s\n" -"标准输出(stdout):%r\n" -"标准错误(stderr):%r" - -#: nova/exception.py:86 -msgid "Uncaught exception" -msgstr "未捕获异常" +"check_instance_lock: arguments: |%(self)s| |%(context)s| |%(instance_id)s|" +msgstr "" -#: nova/fakerabbit.py:48 +#: ../nova/compute/manager.py:84 #, python-format -msgid "(%s) publish (key: %s) %s" -msgstr "(%s)发布(键值:%s)%s" +msgid "check_instance_lock: locked: |%s|" +msgstr "" -#: nova/fakerabbit.py:53 +#: ../nova/compute/manager.py:86 #, python-format -msgid "Publishing to route %s" -msgstr "发布并路由到 %s" +msgid "check_instance_lock: admin: |%s|" +msgstr "" -#: nova/fakerabbit.py:83 +#: ../nova/compute/manager.py:91 #, python-format -msgid "Declaring queue %s" -msgstr "正在声明队列%s" +msgid "check_instance_lock: executing: |%s|" +msgstr "" -#: nova/fakerabbit.py:89 +#: ../nova/compute/manager.py:95 #, python-format -msgid "Declaring exchange %s" -msgstr "正在声明交换(exchange)%s" +msgid "check_instance_lock: not executing |%s|" +msgstr "" + +#: ../nova/compute/manager.py:179 +msgid "Instance has already been created" +msgstr "虚拟机已经创建" + +#: ../nova/compute/manager.py:180 +#, python-format +msgid "instance %s: starting..." +msgstr "虚拟机 %s :启动" -#: nova/fakerabbit.py:95 +#. pylint: disable=W0702 +#: ../nova/compute/manager.py:219 #, python-format -msgid "Binding %s to %s with key %s" -msgstr "将%s绑定到%s(以%s键值)" +msgid "instance %s: Failed to spawn" +msgstr "" -#: nova/fakerabbit.py:120 +#: ../nova/compute/manager.py:233 ../nova/tests/test_cloud.py:286 #, python-format -msgid "Getting from %s: %s" -msgstr "从%s获得如下内容:%s" +msgid "Terminating instance %s" +msgstr "" -#: nova/rpc.py:92 +#: ../nova/compute/manager.py:255 #, python-format -msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." -msgstr "位于%s:%d的AMQP服务器不可用。%d秒后重试。" +msgid "Deallocating address %s" +msgstr "" -#: nova/rpc.py:99 +#: ../nova/compute/manager.py:268 #, python-format -msgid "Unable to connect to AMQP server after %d tries. Shutting down." -msgstr "已尝试%d次,均无法连接到AMQP服务器。关闭中。" +msgid "trying to destroy already destroyed instance: %s" +msgstr "" -#: nova/rpc.py:118 -msgid "Reconnected to queue" -msgstr "重新与队列建立连接" +#: ../nova/compute/manager.py:282 +#, python-format +msgid "Rebooting instance %s" +msgstr "重启虚拟机 %s" -#: nova/rpc.py:125 -msgid "Failed to fetch message from queue" -msgstr "从队列获取数据失败" +#: ../nova/compute/manager.py:287 +#, python-format +msgid "" +"trying to reboot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:311 +#, python-format +msgid "instance %s: snapshotting" +msgstr "" + +#: ../nova/compute/manager.py:316 +#, python-format +msgid "" +"trying to snapshot a non-running instance: %(instance_id)s (state: %(state)s " +"expected: %(running)s)" +msgstr "" + +#: ../nova/compute/manager.py:332 +#, python-format +msgid "" +"trying to reset the password on a non-running instance: %(instance_id)s " +"(state: %(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:335 +#, python-format +msgid "instance %s: setting admin password" +msgstr "虚拟机 %s:设置管理员密码" + +#: ../nova/compute/manager.py:353 +#, python-format +msgid "" +"trying to inject a file into a non-running instance: %(instance_id)s (state: " +"%(instance_state)s expected: %(expected_state)s)" +msgstr "" + +#: ../nova/compute/manager.py:362 +#, python-format +msgid "instance %(nm)s: injecting file to %(plain_path)s" +msgstr "" + +#: ../nova/compute/manager.py:372 +#, python-format +msgid "instance %s: rescuing" +msgstr "" + +#: ../nova/compute/manager.py:387 +#, python-format +msgid "instance %s: unrescuing" +msgstr "" + +#: ../nova/compute/manager.py:406 +#, python-format +msgid "instance %s: pausing" +msgstr "" + +#: ../nova/compute/manager.py:423 +#, python-format +msgid "instance %s: unpausing" +msgstr "" + +#: ../nova/compute/manager.py:440 +#, python-format +msgid "instance %s: retrieving diagnostics" +msgstr "" + +#: ../nova/compute/manager.py:453 +#, python-format +msgid "instance %s: suspending" +msgstr "虚拟机 %s:挂起" + +#: ../nova/compute/manager.py:472 +#, python-format +msgid "instance %s: resuming" +msgstr "" + +#: ../nova/compute/manager.py:491 +#, python-format +msgid "instance %s: locking" +msgstr "" + +#: ../nova/compute/manager.py:503 +#, python-format +msgid "instance %s: unlocking" +msgstr "" + +#: ../nova/compute/manager.py:513 +#, python-format +msgid "instance %s: getting locked state" +msgstr "" + +#: ../nova/compute/manager.py:526 +#, python-format +msgid "instance %s: reset network" +msgstr "" + +#: ../nova/compute/manager.py:535 ../nova/api/ec2/cloud.py:515 +#, python-format +msgid "Get console output for instance %s" +msgstr "获取虚拟机 %s 控制台输出" + +#: ../nova/compute/manager.py:543 +#, python-format +msgid "instance %s: getting ajax console" +msgstr "虚拟机 %s :获取ajax控制台" + +#: ../nova/compute/manager.py:553 +#, python-format +msgid "" +"instance %(instance_id)s: attaching volume %(volume_id)s to %(mountpoint)s" +msgstr "" + +#. pylint: disable=W0702 +#. NOTE(vish): The inline callback eats the exception info so we +#. log the traceback here and reraise the same +#. ecxception below. +#: ../nova/compute/manager.py:569 +#, python-format +msgid "instance %(instance_id)s: attach failed %(mountpoint)s, removing" +msgstr "" + +#: ../nova/compute/manager.py:585 +#, python-format +msgid "" +"Detach volume %(volume_id)s from mountpoint %(mp)s on instance " +"%(instance_id)s" +msgstr "" + +#: ../nova/compute/manager.py:588 +#, python-format +msgid "Detaching volume from unknown instance %s" +msgstr "" + +#: ../nova/scheduler/simple.py:53 +#, python-format +msgid "Host %s is not alive" +msgstr "" + +#: ../nova/scheduler/simple.py:65 +msgid "All hosts have too many cores" +msgstr "" + +#: ../nova/scheduler/simple.py:87 +#, python-format +msgid "Host %s not available" +msgstr "" + +#: ../nova/scheduler/simple.py:99 +msgid "All hosts have too many gigabytes" +msgstr "" + +#: ../nova/scheduler/simple.py:119 +msgid "All hosts have too many networks" +msgstr "" + +#: ../nova/volume/manager.py:85 +#, python-format +msgid "Re-exporting %s volumes" +msgstr "" + +#: ../nova/volume/manager.py:90 +#, python-format +msgid "volume %s: skipping export" +msgstr "" + +#: ../nova/volume/manager.py:96 +#, python-format +msgid "volume %s: creating" +msgstr "" + +#: ../nova/volume/manager.py:108 +#, python-format +msgid "volume %(vol_name)s: creating lv of size %(vol_size)sG" +msgstr "" + +#: ../nova/volume/manager.py:112 +#, python-format +msgid "volume %s: creating export" +msgstr "" + +#: ../nova/volume/manager.py:123 +#, python-format +msgid "volume %s: created successfully" +msgstr "" + +#: ../nova/volume/manager.py:131 +msgid "Volume is still attached" +msgstr "" + +#: ../nova/volume/manager.py:133 +msgid "Volume is not local to this node" +msgstr "" + +#: ../nova/volume/manager.py:136 +#, python-format +msgid "volume %s: removing export" +msgstr "" + +#: ../nova/volume/manager.py:138 +#, python-format +msgid "volume %s: deleting" +msgstr "" + +#: ../nova/volume/manager.py:147 +#, python-format +msgid "volume %s: deleted successfully" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:74 +#, python-format +msgid "%(text)s: _db_content => %(content)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:304 ../nova/virt/xenapi/fake.py:404 +#: ../nova/virt/xenapi/fake.py:422 ../nova/virt/xenapi/fake.py:478 +msgid "Raising NotImplemented" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:306 +#, python-format +msgid "xenapi.fake does not have an implementation for %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:341 +#, python-format +msgid "Calling %(localname)s %(impl)s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:346 +#, python-format +msgid "Calling getter %s" +msgstr "" + +#: ../nova/virt/xenapi/fake.py:406 +#, 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/tests/test_cloud.py:256 +msgid "Can't test instances without a real virtual env." +msgstr "" + +#: ../nova/tests/test_cloud.py:268 +#, python-format +msgid "Need to watch instance %s until it's running..." +msgstr "" + +#: ../nova/virt/connection.py:73 +msgid "Failed to open connection to the hypervisor" +msgstr "" + +#: ../nova/network/linux_net.py:187 +#, python-format +msgid "Starting VLAN inteface %s" +msgstr "" + +#: ../nova/network/linux_net.py:208 +#, python-format +msgid "Starting Bridge interface for %s" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:314 +#, python-format +msgid "Hupping dnsmasq threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:316 +#, python-format +msgid "Pid %d is stale, relaunching dnsmasq" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:358 +#, python-format +msgid "killing radvd threw %s" +msgstr "" + +#: ../nova/network/linux_net.py:360 +#, python-format +msgid "Pid %d is stale, relaunching radvd" +msgstr "" + +#. pylint: disable=W0703 +#: ../nova/network/linux_net.py:449 +#, python-format +msgid "Killing dnsmasq threw %s" +msgstr "" + +#: ../nova/utils.py:58 +#, python-format +msgid "Inner Exception: %s" +msgstr "内层异常:%s" + +#: ../nova/utils.py:59 +#, python-format +msgid "Class %s cannot be found" +msgstr "无法找到 %s 类" + +#: ../nova/utils.py:118 +#, python-format +msgid "Fetching %s" +msgstr "正在抓取 %s" + +#: ../nova/utils.py:130 +#, python-format +msgid "Running cmd (subprocess): %s" +msgstr "正在运行(在子进程中)运行命令:%s" + +#: ../nova/utils.py:143 ../nova/utils.py:183 +#, python-format +msgid "Result was %s" +msgstr "运行结果为 %s" + +#: ../nova/utils.py:159 +#, python-format +msgid "Running cmd (SSH): %s" +msgstr "" + +#: ../nova/utils.py:217 +#, python-format +msgid "debug in callback: %s" +msgstr "回调中debug:%s" + +#: ../nova/utils.py:222 +#, python-format +msgid "Running %s" +msgstr "正在运行 %s" + +#: ../nova/utils.py:262 +#, python-format +msgid "Link Local address is not found.:%s" +msgstr "" + +#: ../nova/utils.py:265 +#, python-format +msgid "Couldn't get Link Local IP of %(interface)s :%(ex)s" +msgstr "" + +#: ../nova/utils.py:363 +#, python-format +msgid "Invalid backend: %s" +msgstr "无效的后台:%s" + +#: ../nova/utils.py:374 +#, python-format +msgid "backend %s" +msgstr "后台 %s" + +#: ../nova/fakerabbit.py:49 +#, python-format +msgid "(%(nm)s) publish (key: %(routing_key)s) %(message)s" +msgstr "" + +#: ../nova/fakerabbit.py:54 +#, python-format +msgid "Publishing to route %s" +msgstr "发布并路由到 %s" + +#: ../nova/fakerabbit.py:84 +#, python-format +msgid "Declaring queue %s" +msgstr "正在声明队列 %s" + +#: ../nova/fakerabbit.py:90 +#, python-format +msgid "Declaring exchange %s" +msgstr "正在声明交换(exchange) %s" + +#: ../nova/fakerabbit.py:96 +#, python-format +msgid "Binding %(queue)s to %(exchange)s with key %(routing_key)s" +msgstr "" + +#: ../nova/fakerabbit.py:121 +#, python-format +msgid "Getting from %(queue)s: %(message)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:135 ../nova/virt/hyperv.py:171 +#, python-format +msgid "Created VM %s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:138 +#, python-format +msgid "Created VM %(instance_name)s as %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:168 +#, python-format +msgid "Creating VBD for VM %(vm_ref)s, VDI %(vdi_ref)s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:171 +#, python-format +msgid "Created VBD %(vbd_ref)s for VM %(vm_ref)s, VDI %(vdi_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:187 +#, python-format +msgid "VBD not found in instance %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:197 +#, python-format +msgid "Unable to unplug VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:209 +#, python-format +msgid "Unable to destroy VBD %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:224 +#, python-format +msgid "Creating VIF for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:227 +#, python-format +msgid "Created VIF %(vif_ref)s for VM %(vm_ref)s, network %(network_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:246 +#, python-format +msgid "" +"Created VDI %(vdi_ref)s (%(name_label)s, %(virtual_size)s, %(read_only)s) on " +"%(sr_ref)s." +msgstr "" + +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vm_utils.py:258 +#, python-format +msgid "Snapshotting VM %(vm_ref)s with label '%(label)s'..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:272 +#, python-format +msgid "Created snapshot %(template_vm_ref)s from VM %(vm_ref)s." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:286 +#, python-format +msgid "Asking xapi to upload %(vdi_uuids)s as ID %(image_id)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:327 +#, python-format +msgid "Size for image %(image)s:%(virtual_size)d" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:332 +#, python-format +msgid "Glance image %s" +msgstr "" + +#. we need to invoke a plugin for copying VDI's +#. content into proper path +#: ../nova/virt/xenapi/vm_utils.py:342 +#, python-format +msgid "Copying VDI %s to /boot/guest on dom0" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:352 +#, python-format +msgid "Kernel/Ramdisk VDI %s destroyed" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:361 +#, python-format +msgid "Asking xapi to fetch %(url)s as %(access)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:386 ../nova/virt/xenapi/vm_utils.py:402 +#, python-format +msgid "Looking up vdi %s for PV kernel" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:397 +#, python-format +msgid "PV Kernel in VDI:%s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:405 +#, python-format +msgid "Running pygrub against %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:411 +#, python-format +msgid "Found Xen kernel %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:413 +msgid "No Xen kernel found. Booting HVM." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:425 ../nova/virt/hyperv.py:431 +#, python-format +msgid "duplicate name found: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:442 +#, python-format +msgid "VDI %s is still available" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:463 +#, python-format +msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:465 +#, python-format +msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:525 +#, python-format +msgid "VHD %(vdi_uuid)s has parent %(parent_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:542 +#, python-format +msgid "Re-scanning SR %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:567 +#, python-format +msgid "" +"VHD coalesce attempts exceeded (%(counter)d > %(max_attempts)d), giving up..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:574 +#, 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:590 +#, python-format +msgid "No VDIs found for VM %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:594 +#, python-format +msgid "Unexpected number of VDIs (%(num_vdis)s) found for VM %(vm_ref)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:653 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:188 +#, python-format +msgid "Creating VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:655 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:190 +#, python-format +msgid "Creating VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:657 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:192 +#, python-format +msgid "Plugging VBD %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:659 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:194 +#, python-format +msgid "Plugging VBD %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:661 +#, python-format +msgid "VBD %(vbd)s plugged as %(orig_dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:664 +#, python-format +msgid "VBD %(vbd)s plugged into wrong dev, remapping to %(dev)s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:668 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:197 +#, python-format +msgid "Destroying VBD for VDI %s ... " +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:671 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:200 +#, python-format +msgid "Destroying VBD for VDI %s done." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:683 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:211 +msgid "VBD.unplug successful first time." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:688 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:216 +msgid "VBD.unplug rejected: retrying..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:692 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:220 +msgid "VBD.unplug successful eventually." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:695 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:223 +#, python-format +msgid "Ignoring XenAPI.Failure in VBD.unplug: %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:704 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:66 +#, python-format +msgid "Ignoring XenAPI.Failure %s" +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:735 +#, python-format +msgid "" +"Writing partition table %(primary_first)d %(primary_last)d to %(dest)s..." +msgstr "" + +#: ../nova/virt/xenapi/vm_utils.py:747 +#, python-format +msgid "Writing partition table %s done." +msgstr "" + +#: ../nova/tests/test_rpc.py:89 +#, python-format +msgid "Nested received %(queue)s, %(value)s" +msgstr "" + +#: ../nova/tests/test_rpc.py:95 +#, python-format +msgid "Nested return %s" +msgstr "" + +#: ../nova/tests/test_rpc.py:120 ../nova/tests/test_rpc.py:126 +#, python-format +msgid "Received %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:44 +msgid "Use of empty request context is deprecated" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:133 +#, python-format +msgid "No service for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:251 +#, python-format +msgid "No service for %(host)s, %(binary)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:592 +msgid "No fixed ips defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:608 +#, python-format +msgid "No floating ip for address %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:629 +#, python-format +msgid "No address for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:961 +#, python-format +msgid "no keypair for user %(user_id)s, name %(name)s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1076 ../nova/db/sqlalchemy/api.py:1156 +#, python-format +msgid "No network for id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1086 +msgid "No networks defined" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1115 +#, python-format +msgid "No network for bridge %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1129 ../nova/db/sqlalchemy/api.py:1142 +#, python-format +msgid "No network for instance %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1277 +#, python-format +msgid "Token %s does not exist" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1302 +#, python-format +msgid "No quota for project_id %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1455 ../nova/db/sqlalchemy/api.py:1501 +#: ../nova/api/ec2/__init__.py:323 +#, python-format +msgid "Volume %s not found" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1514 +#, python-format +msgid "No export device found for volume %s" +msgstr "" + +#: ../nova/db/sqlalchemy/api.py:1527 +#, python-format +msgid "No target id found for volume %s" +msgstr "" -#: nova/rpc.py:155 +#: ../nova/db/sqlalchemy/api.py:1572 #, python-format -msgid "Initing the Adapter Consumer for %s" +msgid "No security group with id %s" msgstr "" -#: nova/rpc.py:170 +#: ../nova/db/sqlalchemy/api.py:1589 #, python-format -msgid "received %s" -msgstr "已接收 %s" +msgid "No security group named %(group_name)s for project: %(project_id)s" +msgstr "" -#: nova/rpc.py:183 +#: ../nova/db/sqlalchemy/api.py:1682 #, python-format -msgid "no method for message: %s" -msgstr "没有适用于消息%s的方法" +msgid "No secuity group rule with id %s" +msgstr "" -#: nova/rpc.py:184 +#: ../nova/db/sqlalchemy/api.py:1756 #, python-format -msgid "No method for message: %s" -msgstr "没有适用于消息%s的方法" +msgid "No user for id %s" +msgstr "" -#: nova/rpc.py:245 +#: ../nova/db/sqlalchemy/api.py:1772 #, python-format -msgid "Returning exception %s to caller" -msgstr "返回%s异常给调用者" +msgid "No user for access key %s" +msgstr "" -#: nova/rpc.py:286 +#: ../nova/db/sqlalchemy/api.py:1834 #, python-format -msgid "unpacked context: %s" +msgid "No project with id %s" msgstr "" -#: nova/rpc.py:305 -msgid "Making asynchronous call..." -msgstr "产生异步调用中……" - -#: nova/rpc.py:308 +#: ../nova/db/sqlalchemy/api.py:1979 #, python-format -msgid "MSG_ID is %s" -msgstr "消息ID(MSG_ID)是 %s" +msgid "No console pool with id %(pool_id)s" +msgstr "" -#: nova/rpc.py:356 +#: ../nova/db/sqlalchemy/api.py:1996 #, python-format -msgid "response %s" -msgstr "回复 %s" +msgid "" +"No console pool of type %(console_type)s for compute host %(compute_host)s " +"on proxy host %(host)s" +msgstr "" -#: nova/rpc.py:365 +#: ../nova/db/sqlalchemy/api.py:2035 #, python-format -msgid "topic is %s" -msgstr "话题是 %s" +msgid "No console for instance %(instance_id)s in pool %(pool_id)s" +msgstr "" -#: nova/rpc.py:366 +#: ../nova/db/sqlalchemy/api.py:2057 #, python-format -msgid "message %s" -msgstr "消息 %s" +msgid "on instance %s" +msgstr "" -#: nova/service.py:157 +#: ../nova/db/sqlalchemy/api.py:2058 #, python-format -msgid "Starting %s node" -msgstr "启动%s节点" - -#: nova/service.py:169 -msgid "Service killed that has no database entry" -msgstr "因无数据库记录,服务已被中止" - -#: nova/service.py:190 -msgid "The service database object disappeared, Recreating it." +msgid "No console with id %(console_id)s %(idesc)s" msgstr "" -#: nova/service.py:202 -msgid "Recovered model server connection!" -msgstr "与模型服务器(model server)的连接已恢复!" +#: ../nova/db/sqlalchemy/api.py:2078 ../nova/db/sqlalchemy/api.py:2097 +#, python-format +msgid "No zone with id %(zone_id)s" +msgstr "" -#: nova/service.py:208 -msgid "model server went away" -msgstr "失去与模型服务器的连接" +#: ../nova/virt/libvirt_conn.py:160 +#, python-format +msgid "Checking state of %s" +msgstr "" -#: nova/service.py:217 nova/db/sqlalchemy/__init__.py:43 +#: ../nova/virt/libvirt_conn.py:165 #, python-format -msgid "Data store %s is unreachable. Trying again in %d seconds." -msgstr "数据储存服务%s不可用。%d秒之后继续尝试。" +msgid "Current state of %(name)s was %(state)s." +msgstr "" -#: nova/service.py:232 nova/twistd.py:232 +#: ../nova/virt/libvirt_conn.py:183 #, python-format -msgid "Serving %s" -msgstr "正在为%s服务" +msgid "Connecting to libvirt: %s" +msgstr "" -#: nova/service.py:234 nova/twistd.py:264 -msgid "Full set of FLAGS:" -msgstr "FLAGS全集:" +#: ../nova/virt/libvirt_conn.py:196 +msgid "Connection to libvirt broke" +msgstr "" -#: nova/twistd.py:211 +#: ../nova/virt/libvirt_conn.py:258 #, python-format -msgid "pidfile %s does not exist. Daemon not running?\n" -msgstr "pidfile %s不存在。后台服务没有运行?\n" +msgid "instance %(instance_name)s: deleting instance files %(target)s" +msgstr "" -#: nova/utils.py:53 +#: ../nova/virt/libvirt_conn.py:283 #, python-format -msgid "Inner Exception: %s" -msgstr "内层异常:%s" +msgid "Invalid device path %s" +msgstr "" -#: nova/utils.py:54 +#: ../nova/virt/libvirt_conn.py:313 #, python-format -msgid "Class %s cannot be found" -msgstr "无法找到%s类" +msgid "No disk at %s" +msgstr "" + +#: ../nova/virt/libvirt_conn.py:320 +msgid "Instance snapshotting is not supported for libvirtat this time" +msgstr "" -#: nova/utils.py:113 +#: ../nova/virt/libvirt_conn.py:336 #, python-format -msgid "Fetching %s" -msgstr "正在抓取%s" +msgid "instance %s: rebooted" +msgstr "" -#: nova/utils.py:125 +#: ../nova/virt/libvirt_conn.py:339 #, python-format -msgid "Running cmd (subprocess): %s" -msgstr "正在运行(在子进程中)运行命令:%s" +msgid "_wait_for_reboot failed: %s" +msgstr "" -#: nova/utils.py:138 +#: ../nova/virt/libvirt_conn.py:382 #, python-format -msgid "Result was %s" -msgstr "运行结果为 %s" +msgid "instance %s: rescued" +msgstr "" -#: nova/utils.py:171 +#: ../nova/virt/libvirt_conn.py:385 #, python-format -msgid "debug in callback: %s" -msgstr "回调中debug:%s" +msgid "_wait_for_rescue failed: %s" +msgstr "" -#: nova/utils.py:176 +#: ../nova/virt/libvirt_conn.py:411 #, python-format -msgid "Running %s" -msgstr "正在运行 %s" +msgid "instance %s: is running" +msgstr "" -#: nova/utils.py:207 +#: ../nova/virt/libvirt_conn.py:422 #, python-format -msgid "Couldn't get IP, using 127.0.0.1 %s" -msgstr "不能获取IP,将使用 127.0.0.1 %s" +msgid "instance %s: booted" +msgstr "" -#: nova/utils.py:289 +#: ../nova/virt/libvirt_conn.py:425 ../nova/virt/xenapi/vmops.py:186 #, python-format -msgid "Invalid backend: %s" -msgstr "无效的后台:%s" +msgid "instance %s: failed to boot" +msgstr "" -#: nova/utils.py:300 +#: ../nova/virt/libvirt_conn.py:436 #, python-format -msgid "backend %s" -msgstr "后台 %s" +msgid "virsh said: %r" +msgstr "" -#: nova/api/ec2/__init__.py:133 -msgid "Too many failed authentications." -msgstr "较多失败的认证" +#: ../nova/virt/libvirt_conn.py:440 +msgid "cool, it's a device" +msgstr "" -#: nova/api/ec2/__init__.py:142 +#: ../nova/virt/libvirt_conn.py:448 #, python-format -msgid "" -"Access key %s has had %d failed authentications and will be locked out for " -"%d minutes." -msgstr "访问键 %s时,存在%d个失败的认证,将于%d分钟后解锁" +msgid "data: %(data)r, fpath: %(fpath)r" +msgstr "" -#: nova/api/ec2/__init__.py:179 nova/objectstore/handler.py:140 +#: ../nova/virt/libvirt_conn.py:456 #, python-format -msgid "Authentication Failure: %s" -msgstr "认证失败:%s" +msgid "Contents of file %(fpath)s: %(contents)r" +msgstr "" -#: nova/api/ec2/__init__.py:190 -#, python-format -msgid "Authenticated Request For %s:%s)" -msgstr "为%s:%s申请认证" +#: ../nova/virt/libvirt_conn.py:489 +msgid "Unable to find an open port" +msgstr "" -#: nova/api/ec2/__init__.py:227 +#: ../nova/virt/libvirt_conn.py:563 #, python-format -msgid "action: %s" -msgstr "执行: %s" +msgid "instance %s: Creating image" +msgstr "" -#: nova/api/ec2/__init__.py:229 +#: ../nova/virt/libvirt_conn.py:646 #, python-format -msgid "arg: %s\t\tval: %s" -msgstr "键为: %s\t\t值为: %s" +msgid "instance %(inst_name)s: injecting key into image %(img_id)s" +msgstr "" -#: nova/api/ec2/__init__.py:301 +#: ../nova/virt/libvirt_conn.py:649 #, python-format -msgid "Unauthorized request for controller=%s and action=%s" -msgstr "对控制器=%s及动作=%s未经授权" +msgid "instance %(inst_name)s: injecting net into image %(img_id)s" +msgstr "" -#: nova/api/ec2/__init__.py:339 +#. This could be a windows image, or a vmdk format disk +#: ../nova/virt/libvirt_conn.py:657 #, python-format -msgid "NotFound raised: %s" -msgstr "引起没有找到的错误: %s" +msgid "" +"instance %(inst_name)s: ignoring error injecting data into image %(img_id)s " +"(%(e)s)" +msgstr "" -#: nova/api/ec2/__init__.py:342 +#. TODO(termie): cache? +#: ../nova/virt/libvirt_conn.py:665 #, python-format -msgid "ApiError raised: %s" -msgstr "引发了Api错误: %s" +msgid "instance %s: starting toXML method" +msgstr "" -#: nova/api/ec2/__init__.py:349 +#: ../nova/virt/libvirt_conn.py:732 #, python-format -msgid "Unexpected error raised: %s" -msgstr "引发了意外的错误:%s" +msgid "instance %s: finished toXML method" +msgstr "" -#: nova/api/ec2/__init__.py:354 -msgid "An unknown error has occurred. Please try your request again." -msgstr "发生了一个未知的错误. 请重试你的请求." +#: ../nova/virt/libvirt_conn.py:751 +msgid "diagnostics are not supported for libvirt" +msgstr "" -#: nova/api/ec2/admin.py:84 +#: ../nova/virt/libvirt_conn.py:1225 #, python-format -msgid "Creating new user: %s" -msgstr "创建新用户: %s" +msgid "Attempted to unfilter instance %s which is not filtered" +msgstr "" -#: nova/api/ec2/admin.py:92 +#: ../nova/api/ec2/metadatarequesthandler.py:76 #, python-format -msgid "Deleting user: %s" -msgstr "删除用户: %s" +msgid "Failed to get metadata for ip: %s" +msgstr "" -#: nova/api/ec2/admin.py:114 -#, python-format -msgid "Adding role %s to user %s for project %s" -msgstr "正将%s角色赋予用户%s(在工程%s中)" +#: ../nova/auth/fakeldap.py:33 +msgid "Attempted to instantiate singleton" +msgstr "" -#: nova/api/ec2/admin.py:117 nova/auth/manager.py:415 +#: ../nova/network/api.py:39 #, python-format -msgid "Adding sitewide role %s to user %s" -msgstr "增加站点范围的 %s角色给用户 %s" +msgid "Quota exceeeded for %s, tried to allocate address" +msgstr "" -#: nova/api/ec2/admin.py:122 -#, python-format -msgid "Removing role %s from user %s for project %s" -msgstr "正将角色%s从用户%s在工程%s中移除" +#: ../nova/network/api.py:42 +msgid "Address quota exceeded. You cannot allocate any more addresses" +msgstr "" -#: nova/api/ec2/admin.py:125 nova/auth/manager.py:441 +#: ../nova/tests/test_volume.py:162 #, python-format -msgid "Removing sitewide role %s from user %s" +msgid "Target %s allocated" msgstr "" -#: nova/api/ec2/admin.py:129 nova/api/ec2/admin.py:192 -msgid "operation must be add or remove" -msgstr "操作必须为增加或删除" - -#: nova/api/ec2/admin.py:142 +#: ../nova/virt/images.py:70 #, python-format -msgid "Getting x509 for user: %s on project: %s" -msgstr "为用户 %s从工程%s中获取 x509" +msgid "Finished retreving %(url)s -- placed in %(path)s" +msgstr "" -#: nova/api/ec2/admin.py:159 -#, python-format -msgid "Create project %s managed by %s" -msgstr "创建工程%s,此工程由%s管理" +#: ../nova/scheduler/driver.py:66 +msgid "Must implement a fallback schedule" +msgstr "" -#: nova/api/ec2/admin.py:170 -#, python-format -msgid "Delete project: %s" -msgstr "删除工程%s" +#: ../nova/console/manager.py:70 +msgid "Adding console" +msgstr "" -#: nova/api/ec2/admin.py:184 nova/auth/manager.py:533 +#: ../nova/console/manager.py:90 #, python-format -msgid "Adding user %s to project %s" -msgstr "增加用户%s到%s工程" +msgid "Tried to remove non-existant console %(console_id)s." +msgstr "" -#: nova/api/ec2/admin.py:188 -#, python-format -msgid "Removing user %s from project %s" -msgstr "正将用户%s从工程%s中移除" +#: ../nova/api/direct.py:149 +msgid "not available" +msgstr "" -#: nova/api/ec2/apirequest.py:95 +#: ../nova/api/ec2/cloud.py:62 #, python-format -msgid "Unsupported API request: controller = %s,action = %s" -msgstr "不支持的API请求: 控制器 = %s,执行 = %s" +msgid "The key_pair %s already exists" +msgstr "" -#: nova/api/ec2/cloud.py:117 +#. TODO(vish): Do this with M2Crypto instead +#: ../nova/api/ec2/cloud.py:118 #, python-format msgid "Generating root CA: %s" msgstr "生成根证书: %s" -#: nova/api/ec2/cloud.py:277 +#: ../nova/api/ec2/cloud.py:303 #, python-format msgid "Create key pair %s" msgstr "创建键值对 %s" -#: nova/api/ec2/cloud.py:285 +#: ../nova/api/ec2/cloud.py:311 #, python-format msgid "Delete key pair %s" msgstr "删除键值对 %s" -#: nova/api/ec2/cloud.py:357 +#: ../nova/api/ec2/cloud.py:386 #, python-format msgid "%s is not a valid ipProtocol" -msgstr "%s是无效的IP协议" +msgstr "%s 是无效的IP协议" -#: nova/api/ec2/cloud.py:361 +#: ../nova/api/ec2/cloud.py:390 msgid "Invalid port range" msgstr "端口范围无效" -#: nova/api/ec2/cloud.py:392 +#: ../nova/api/ec2/cloud.py:421 #, python-format msgid "Revoke security group ingress %s" msgstr "撤销输入安全组 %s" -#: nova/api/ec2/cloud.py:401 nova/api/ec2/cloud.py:414 +#: ../nova/api/ec2/cloud.py:430 ../nova/api/ec2/cloud.py:459 +msgid "Not enough parameters to build a valid rule." +msgstr "" + +#: ../nova/api/ec2/cloud.py:443 msgid "No rule for the specified parameters." msgstr "对给定的参数无特定规则。" -#: nova/api/ec2/cloud.py:421 +#: ../nova/api/ec2/cloud.py:450 #, python-format msgid "Authorize security group ingress %s" msgstr "验证输入安全组 %s" -#: nova/api/ec2/cloud.py:432 +#: ../nova/api/ec2/cloud.py:464 #, python-format msgid "This rule already exists in group %s" -msgstr "这条规则已经存在安全组%s中。" +msgstr "这条规则已经存在安全组 %s 中。" -#: nova/api/ec2/cloud.py:460 +#: ../nova/api/ec2/cloud.py:492 #, python-format msgid "Create Security Group %s" -msgstr "创建安全组%s" +msgstr "创建安全组 %s" -#: nova/api/ec2/cloud.py:463 +#: ../nova/api/ec2/cloud.py:495 #, python-format msgid "group %s already exists" -msgstr "安全组%s已经存在" +msgstr "安全组 %s 已经存在" -#: nova/api/ec2/cloud.py:475 +#: ../nova/api/ec2/cloud.py:507 #, python-format msgid "Delete security group %s" msgstr "删除安全组 %s" -#: nova/api/ec2/cloud.py:483 nova/compute/manager.py:452 -#, python-format -msgid "Get console output for instance %s" -msgstr "" - -#: nova/api/ec2/cloud.py:543 +#: ../nova/api/ec2/cloud.py:584 #, python-format msgid "Create volume of %s GB" msgstr "" -#: nova/api/ec2/cloud.py:567 +#: ../nova/api/ec2/cloud.py:612 #, python-format -msgid "Attach volume %s to instacne %s at %s" +msgid "Attach volume %(volume_id)s to instance %(instance_id)s at %(device)s" msgstr "" -#: nova/api/ec2/cloud.py:579 +#: ../nova/api/ec2/cloud.py:629 #, python-format msgid "Detach volume %s" msgstr "" -#: nova/api/ec2/cloud.py:686 +#: ../nova/api/ec2/cloud.py:761 msgid "Allocate address" msgstr "" -#: nova/api/ec2/cloud.py:691 +#: ../nova/api/ec2/cloud.py:766 #, python-format msgid "Release address %s" msgstr "" -#: nova/api/ec2/cloud.py:696 +#: ../nova/api/ec2/cloud.py:771 #, python-format -msgid "Associate address %s to instance %s" +msgid "Associate address %(public_ip)s to instance %(instance_id)s" msgstr "" -#: nova/api/ec2/cloud.py:703 +#: ../nova/api/ec2/cloud.py:780 #, python-format msgid "Disassociate address %s" msgstr "" -#: nova/api/ec2/cloud.py:730 +#: ../nova/api/ec2/cloud.py:807 msgid "Going to start terminating instances" msgstr "" -#: nova/api/ec2/cloud.py:738 +#: ../nova/api/ec2/cloud.py:815 #, python-format msgid "Reboot instance %r" msgstr "" -#: nova/api/ec2/cloud.py:775 +#: ../nova/api/ec2/cloud.py:867 #, python-format msgid "De-registering image %s" msgstr "" -#: nova/api/ec2/cloud.py:783 +#: ../nova/api/ec2/cloud.py:875 #, python-format -msgid "Registered image %s with id %s" +msgid "Registered image %(image_location)s with id %(image_id)s" msgstr "" -#: nova/api/ec2/cloud.py:789 nova/api/ec2/cloud.py:804 +#: ../nova/api/ec2/cloud.py:882 ../nova/api/ec2/cloud.py:900 #, python-format msgid "attribute not supported: %s" msgstr "" -#: nova/api/ec2/cloud.py:794 +#: ../nova/api/ec2/cloud.py:890 #, python-format msgid "invalid id: %s" msgstr "" -#: nova/api/ec2/cloud.py:807 +#: ../nova/api/ec2/cloud.py:903 msgid "user or group not specified" msgstr "" -#: nova/api/ec2/cloud.py:809 +#: ../nova/api/ec2/cloud.py:905 msgid "only group \"all\" is supported" msgstr "" -#: nova/api/ec2/cloud.py:811 +#: ../nova/api/ec2/cloud.py:907 msgid "operation_type must be add or remove" msgstr "" -#: nova/api/ec2/cloud.py:812 +#: ../nova/api/ec2/cloud.py:908 #, python-format msgid "Updating image %s publicity" msgstr "" -#: nova/api/ec2/metadatarequesthandler.py:75 -#, python-format -msgid "Failed to get metadata for ip: %s" -msgstr "" - -#: nova/api/openstack/__init__.py:70 -#, python-format -msgid "Caught error: %s" -msgstr "" - -#: nova/api/openstack/__init__.py:86 -msgid "Including admin operations in API." -msgstr "" - -#: nova/api/openstack/servers.py:184 -#, python-format -msgid "Compute.api::lock %s" -msgstr "" - -#: nova/api/openstack/servers.py:199 -#, python-format -msgid "Compute.api::unlock %s" -msgstr "" - -#: nova/api/openstack/servers.py:213 -#, python-format -msgid "Compute.api::get_lock %s" -msgstr "" - -#: nova/api/openstack/servers.py:224 -#, python-format -msgid "Compute.api::pause %s" -msgstr "" - -#: nova/api/openstack/servers.py:235 -#, python-format -msgid "Compute.api::unpause %s" -msgstr "" - -#: nova/api/openstack/servers.py:246 -#, python-format -msgid "compute.api::suspend %s" -msgstr "" - -#: nova/api/openstack/servers.py:257 -#, python-format -msgid "compute.api::resume %s" -msgstr "" - -#: nova/auth/dbdriver.py:84 -#, python-format -msgid "User %s already exists" -msgstr "" - -#: nova/auth/dbdriver.py:106 nova/auth/ldapdriver.py:207 -#, python-format -msgid "Project can't be created because manager %s doesn't exist" -msgstr "" - -#: nova/auth/dbdriver.py:135 nova/auth/ldapdriver.py:204 -#, python-format -msgid "Project can't be created because project %s already exists" -msgstr "" - -#: nova/auth/dbdriver.py:157 nova/auth/ldapdriver.py:241 -#, python-format -msgid "Project can't be modified because manager %s doesn't exist" -msgstr "" - -#: nova/auth/dbdriver.py:245 -#, python-format -msgid "User \"%s\" not found" -msgstr "" - -#: nova/auth/dbdriver.py:248 -#, python-format -msgid "Project \"%s\" not found" -msgstr "" - -#: nova/auth/fakeldap.py:33 -msgid "Attempted to instantiate singleton" -msgstr "" - -#: nova/auth/ldapdriver.py:181 -#, python-format -msgid "LDAP object for %s doesn't exist" -msgstr "" - -#: nova/auth/ldapdriver.py:218 +#: ../bin/nova-api.py:52 #, python-format -msgid "Project can't be created because user %s doesn't exist" +msgid "Using paste.deploy config at: %s" msgstr "" -#: nova/auth/ldapdriver.py:478 +#: ../bin/nova-api.py:57 #, python-format -msgid "User %s is already a member of the group %s" +msgid "No paste configuration for app: %s" msgstr "" -#: nova/auth/ldapdriver.py:507 +#: ../bin/nova-api.py:59 #, python-format msgid "" -"Attempted to remove the last member of a group. Deleting the group at %s " -"instead." -msgstr "" - -#: nova/auth/ldapdriver.py:528 -#, python-format -msgid "Group at dn %s doesn't exist" -msgstr "" - -#: nova/auth/manager.py:259 -#, python-format -msgid "Looking up user: %r" -msgstr "" - -#: nova/auth/manager.py:263 -#, python-format -msgid "Failed authorization for access key %s" +"App Config: %(api)s\n" +"%(config)r" msgstr "" -#: nova/auth/manager.py:264 +#: ../bin/nova-api.py:64 #, python-format -msgid "No user found for access key %s" +msgid "Running %s API" msgstr "" -#: nova/auth/manager.py:270 +#: ../bin/nova-api.py:69 #, python-format -msgid "Using project name = user name (%s)" +msgid "No known API applications configured in %s." msgstr "" -#: nova/auth/manager.py:275 +#: ../bin/nova-api.py:83 #, python-format -msgid "failed authorization: no project named %s (user=%s)" +msgid "Starting nova-api node (version %s)" msgstr "" -#: nova/auth/manager.py:277 +#: ../bin/nova-api.py:89 #, python-format -msgid "No project called %s could be found" +msgid "No paste configuration found for: %s" msgstr "" -#: nova/auth/manager.py:281 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:84 #, python-format -msgid "Failed authorization: user %s not admin and not member of project %s" +msgid "Argument %(key)s value %(value)s is too short." msgstr "" -#: nova/auth/manager.py:283 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:89 #, python-format -msgid "User %s is not a member of project %s" +msgid "Argument %(key)s value %(value)s contains invalid characters." msgstr "" -#: nova/auth/manager.py:292 nova/auth/manager.py:303 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:94 #, python-format -msgid "Invalid signature for user %s" -msgstr "" - -#: nova/auth/manager.py:293 nova/auth/manager.py:304 -msgid "Signature does not match" +msgid "Argument %(key)s value %(value)s starts with a hyphen." msgstr "" -#: nova/auth/manager.py:374 -msgid "Must specify project" -msgstr "" - -#: nova/auth/manager.py:408 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:102 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:130 #, python-format -msgid "The %s role can not be found" +msgid "Argument %s is required." msgstr "" -#: nova/auth/manager.py:410 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:117 #, python-format -msgid "The %s role is global only" +msgid "" +"Argument %(key)s may not take value %(value)s. Valid values are ['true', " +"'false']." msgstr "" -#: nova/auth/manager.py:412 +#: ../plugins/xenserver/xenapi/etc/xapi.d/plugins/pluginlib_nova.py:163 #, python-format -msgid "Adding role %s to user %s in project %s" +msgid "" +"Created VDI %(vdi_ref)s (%(label)s, %(size)s, %(read_only)s) on %(sr_ref)s." msgstr "" -#: nova/auth/manager.py:438 +#: ../nova/virt/xenapi/vmops.py:67 #, python-format -msgid "Removing role %s from user %s on project %s" +msgid "Attempted to create non-unique name %s" msgstr "" -#: nova/auth/manager.py:505 +#: ../nova/virt/xenapi/vmops.py:73 #, python-format -msgid "Created project %s with manager %s" +msgid "instance %(name)s: not enough free memory" msgstr "" -#: nova/auth/manager.py:523 +#: ../nova/virt/xenapi/vmops.py:148 #, python-format -msgid "modifying project %s" +msgid "Starting VM %s..." msgstr "" -#: nova/auth/manager.py:553 +#: ../nova/virt/xenapi/vmops.py:151 #, python-format -msgid "Remove user %s from project %s" +msgid "Spawning VM %(instance_name)s created %(vm_ref)s." msgstr "" -#: nova/auth/manager.py:581 +#: ../nova/virt/xenapi/vmops.py:162 #, python-format -msgid "Deleting project %s" +msgid "Invalid value for onset_files: '%s'" msgstr "" -#: nova/auth/manager.py:637 +#: ../nova/virt/xenapi/vmops.py:167 #, python-format -msgid "Created user %s (admin: %r)" +msgid "Injecting file path: '%s'" msgstr "" -#: nova/auth/manager.py:645 +#: ../nova/virt/xenapi/vmops.py:180 #, python-format -msgid "Deleting user %s" +msgid "Instance %s: booted" msgstr "" -#: nova/auth/manager.py:655 +#: ../nova/virt/xenapi/vmops.py:232 #, python-format -msgid "Access Key change for user %s" +msgid "Instance not present %s" msgstr "" -#: nova/auth/manager.py:657 +#. TODO(sirp): Add quiesce and VSS locking support when Windows support +#. is added +#: ../nova/virt/xenapi/vmops.py:261 #, python-format -msgid "Secret Key change for user %s" +msgid "Starting snapshot for VM %s" msgstr "" -#: nova/auth/manager.py:659 +#: ../nova/virt/xenapi/vmops.py:269 #, python-format -msgid "Admin status set to %r for user %s" +msgid "Unable to Snapshot %(vm_ref)s: %(exc)s" msgstr "" -#: nova/auth/manager.py:708 +#: ../nova/virt/xenapi/vmops.py:280 #, python-format -msgid "No vpn data for project %s" +msgid "Finished snapshot and upload for VM %s" msgstr "" -#: nova/cloudpipe/pipelib.py:45 -msgid "Template for script to run on cloudpipe instance boot" +#: ../nova/virt/xenapi/vmops.py:356 +#, python-format +msgid "VM %(vm)s already halted, skipping shutdown..." msgstr "" -#: nova/cloudpipe/pipelib.py:48 -msgid "Network to push into openvpn config" +#: ../nova/virt/xenapi/vmops.py:389 +msgid "Removing kernel/ramdisk files" msgstr "" -#: nova/cloudpipe/pipelib.py:51 -msgid "Netmask to push into openvpn config" +#: ../nova/virt/xenapi/vmops.py:399 +msgid "kernel/ramdisk files removed" msgstr "" -#: nova/cloudpipe/pipelib.py:97 +#: ../nova/virt/xenapi/vmops.py:561 #, python-format -msgid "Launching VPN for %s" +msgid "" +"TIMEOUT: The call to %(method)s timed out. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:67 +#: ../nova/virt/xenapi/vmops.py:564 #, python-format -msgid "Instance %d was not found in get_network_topic" +msgid "" +"NOT IMPLEMENTED: The call to %(method)s is not supported by the agent. VM " +"id=%(instance_id)s; args=%(strargs)s" msgstr "" -#: nova/compute/api.py:73 +#: ../nova/virt/xenapi/vmops.py:569 #, python-format -msgid "Instance %d has no host" +msgid "" +"The call to %(method)s returned an error: %(e)s. VM id=%(instance_id)s; " +"args=%(strargs)s" msgstr "" -#: nova/compute/api.py:92 +#: ../nova/virt/xenapi/vmops.py:760 #, python-format -msgid "Quota exceeeded for %s, tried to run %s instances" +msgid "OpenSSL error: %s" msgstr "" -#: nova/compute/api.py:94 +#: ../nova/tests/test_compute.py:148 #, python-format -msgid "" -"Instance quota exceeded. You can only run %s more instances of this type." +msgid "Running instances: %s" msgstr "" -#: nova/compute/api.py:109 -msgid "Creating a raw instance" +#: ../nova/tests/test_compute.py:154 +#, python-format +msgid "After terminating instances: %s" msgstr "" -#: nova/compute/api.py:156 -#, python-format -msgid "Going to run %s instances..." +#: ../nova/cloudpipe/pipelib.py:45 +msgid "Template for script to run on cloudpipe instance boot" msgstr "" -#: nova/compute/api.py:180 -#, python-format -msgid "Casting to scheduler for %s/%s's instance %s" +#: ../nova/cloudpipe/pipelib.py:48 +msgid "Network to push into openvpn config" msgstr "" -#: nova/compute/api.py:279 -#, python-format -msgid "Going to try and terminate %s" +#: ../nova/cloudpipe/pipelib.py:51 +msgid "Netmask to push into openvpn config" msgstr "" -#: nova/compute/api.py:283 +#: ../nova/cloudpipe/pipelib.py:97 #, python-format -msgid "Instance %d was not found during terminate" +msgid "Launching VPN for %s" msgstr "" -#: nova/compute/api.py:288 -#, python-format -msgid "Instance %d is already being terminated" +#: ../nova/db/sqlalchemy/migration.py:35 +msgid "python-migrate is not installed. Exiting." msgstr "" -#: nova/compute/api.py:450 +#: ../nova/image/s3.py:99 #, python-format -msgid "Invalid device specified: %s. Example device: /dev/vdb" +msgid "Image %s could not be found" msgstr "" -#: nova/compute/api.py:465 -msgid "Volume isn't attached to anything!" -msgstr "" +#: ../nova/api/ec2/__init__.py:121 +msgid "Too many failed authentications." +msgstr "认证失败过多" -#: nova/compute/disk.py:71 +#: ../nova/api/ec2/__init__.py:131 #, python-format -msgid "Input partition size not evenly divisible by sector size: %d / %d" +msgid "" +"Access key %(access_key)s has had %(failures)d failed authentications and " +"will be locked out for %(lock_mins)d minutes." msgstr "" -#: nova/compute/disk.py:75 +#: ../nova/api/ec2/__init__.py:169 ../nova/objectstore/handler.py:140 #, python-format -msgid "Bytes for local storage not evenly divisible by sector size: %d / %d" -msgstr "" +msgid "Authentication Failure: %s" +msgstr "认证失败:%s" -#: nova/compute/disk.py:128 +#: ../nova/api/ec2/__init__.py:182 #, python-format -msgid "Could not attach image to loopback: %s" +msgid "Authenticated Request For %(uname)s:%(pname)s)" msgstr "" -#: nova/compute/disk.py:136 +#: ../nova/api/ec2/__init__.py:207 #, python-format -msgid "Failed to load partition: %s" -msgstr "" +msgid "action: %s" +msgstr "执行: %s" -#: nova/compute/disk.py:158 +#: ../nova/api/ec2/__init__.py:209 #, python-format -msgid "Failed to mount filesystem: %s" +msgid "arg: %(key)s\t\tval: %(value)s" msgstr "" -#: nova/compute/instance_types.py:41 +#: ../nova/api/ec2/__init__.py:281 #, python-format -msgid "Unknown instance type: %s" +msgid "" +"Unauthorized request for controller=%(controller)s and action=%(action)s" msgstr "" -#: nova/compute/manager.py:69 +#: ../nova/api/ec2/__init__.py:314 #, python-format -msgid "check_instance_lock: decorating: |%s|" +msgid "InstanceNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:71 +#: ../nova/api/ec2/__init__.py:320 #, python-format -msgid "check_instance_lock: arguments: |%s| |%s| |%s|" +msgid "VolumeNotFound raised: %s" msgstr "" -#: nova/compute/manager.py:75 +#: ../nova/api/ec2/__init__.py:326 #, python-format -msgid "check_instance_lock: locked: |%s|" -msgstr "" +msgid "NotFound raised: %s" +msgstr "引起没有找到的错误: %s" -#: nova/compute/manager.py:77 +#: ../nova/api/ec2/__init__.py:329 #, python-format -msgid "check_instance_lock: admin: |%s|" -msgstr "" +msgid "ApiError raised: %s" +msgstr "引发了Api错误: %s" -#: nova/compute/manager.py:82 +#: ../nova/api/ec2/__init__.py:338 #, python-format -msgid "check_instance_lock: executing: |%s|" -msgstr "" +msgid "Unexpected error raised: %s" +msgstr "引发了意外的错误:%s" -#: nova/compute/manager.py:86 +#: ../nova/api/ec2/__init__.py:343 +msgid "An unknown error has occurred. Please try your request again." +msgstr "发生了一个未知的错误. 请重试你的请求." + +#: ../nova/auth/dbdriver.py:84 #, python-format -msgid "check_instance_lock: not executing |%s|" +msgid "User %s already exists" msgstr "" -#: nova/compute/manager.py:157 -msgid "Instance has already been created" +#: ../nova/auth/dbdriver.py:106 ../nova/auth/ldapdriver.py:232 +#, python-format +msgid "Project can't be created because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:158 +#: ../nova/auth/dbdriver.py:122 ../nova/auth/ldapdriver.py:243 #, python-format -msgid "instance %s: starting..." +msgid "Project can't be created because user %s doesn't exist" msgstr "" -#: nova/compute/manager.py:197 +#: ../nova/auth/dbdriver.py:135 ../nova/auth/ldapdriver.py:229 #, python-format -msgid "instance %s: Failed to spawn" +msgid "Project can't be created because project %s already exists" msgstr "" -#: nova/compute/manager.py:211 nova/tests/test_cloud.py:228 +#: ../nova/auth/dbdriver.py:157 ../nova/auth/ldapdriver.py:268 #, python-format -msgid "Terminating instance %s" +msgid "Project can't be modified because manager %s doesn't exist" msgstr "" -#: nova/compute/manager.py:217 +#: ../nova/auth/dbdriver.py:245 #, python-format -msgid "Disassociating address %s" +msgid "User \"%s\" not found" msgstr "" -#: nova/compute/manager.py:230 +#: ../nova/auth/dbdriver.py:248 #, python-format -msgid "Deallocating address %s" +msgid "Project \"%s\" not found" msgstr "" -#: nova/compute/manager.py:243 -#, python-format -msgid "trying to destroy already destroyed instance: %s" +#: ../nova/virt/xenapi_conn.py:129 +msgid "" +"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " +"and xenapi_connection_password to use connection_type=xenapi" msgstr "" -#: nova/compute/manager.py:257 +#: ../nova/virt/xenapi_conn.py:311 #, python-format -msgid "Rebooting instance %s" +msgid "Task [%(name)s] %(task)s status: success %(result)s" msgstr "" -#: nova/compute/manager.py:260 +#: ../nova/virt/xenapi_conn.py:317 #, python-format -msgid "trying to reboot a non-running instance: %s (state: %s excepted: %s)" +msgid "Task [%(name)s] %(task)s status: %(status)s %(error_info)s" msgstr "" -#: nova/compute/manager.py:286 +#: ../nova/virt/xenapi_conn.py:331 ../nova/virt/xenapi_conn.py:344 #, python-format -msgid "instance %s: snapshotting" +msgid "Got exception: %s" msgstr "" -#: nova/compute/manager.py:289 +#: ../nova/compute/monitor.py:259 #, python-format -msgid "" -"trying to snapshot a non-running instance: %s (state: %s excepted: %s)" +msgid "updating %s..." msgstr "" -#: nova/compute/manager.py:301 -#, python-format -msgid "instance %s: rescuing" +#: ../nova/compute/monitor.py:289 +msgid "unexpected error during update" msgstr "" -#: nova/compute/manager.py:316 +#: ../nova/compute/monitor.py:356 #, python-format -msgid "instance %s: unrescuing" +msgid "Cannot get blockstats for \"%(disk)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:335 +#: ../nova/compute/monitor.py:379 #, python-format -msgid "instance %s: pausing" +msgid "Cannot get ifstats for \"%(interface)s\" on \"%(iid)s\"" msgstr "" -#: nova/compute/manager.py:352 -#, python-format -msgid "instance %s: unpausing" +#: ../nova/compute/monitor.py:414 +msgid "unexpected exception getting connection" msgstr "" -#: nova/compute/manager.py:369 +#: ../nova/compute/monitor.py:429 #, python-format -msgid "instance %s: retrieving diagnostics" +msgid "Found instance: %s" msgstr "" -#: nova/compute/manager.py:382 +#: ../nova/volume/san.py:67 #, python-format -msgid "instance %s: suspending" +msgid "Could not find iSCSI export for volume %s" msgstr "" -#: nova/compute/manager.py:401 +#: ../nova/api/ec2/apirequest.py:100 #, python-format -msgid "instance %s: resuming" +msgid "" +"Unsupported API request: controller = %(controller)s, action = %(action)s" msgstr "" -#: nova/compute/manager.py:420 +#: ../nova/api/openstack/__init__.py:55 #, python-format -msgid "instance %s: locking" +msgid "Caught error: %s" msgstr "" -#: nova/compute/manager.py:432 -#, python-format -msgid "instance %s: unlocking" +#: ../nova/api/openstack/__init__.py:76 +msgid "Including admin operations in API." msgstr "" -#: nova/compute/manager.py:442 -#, python-format -msgid "instance %s: getting locked state" +#: ../nova/console/xvp.py:99 +msgid "Rebuilding xvp conf" msgstr "" -#: nova/compute/manager.py:462 +#: ../nova/console/xvp.py:116 #, python-format -msgid "instance %s: attaching volume %s to %s" +msgid "Re-wrote %s" msgstr "" -#: nova/compute/manager.py:478 -#, python-format -msgid "instance %s: attach failed %s, removing" +#: ../nova/console/xvp.py:121 +msgid "Stopping xvp" msgstr "" -#: nova/compute/manager.py:493 -#, python-format -msgid "Detach volume %s from mountpoint %s on instance %s" +#: ../nova/console/xvp.py:134 +msgid "Starting xvp" msgstr "" -#: nova/compute/manager.py:497 +#: ../nova/console/xvp.py:141 #, python-format -msgid "Detaching volume from unknown instance %s" +msgid "Error starting xvp: %s" msgstr "" -#: nova/compute/monitor.py:259 -#, python-format -msgid "updating %s..." +#: ../nova/console/xvp.py:144 +msgid "Restarting xvp" msgstr "" -#: nova/compute/monitor.py:289 -msgid "unexpected error during update" +#: ../nova/console/xvp.py:146 +msgid "xvp not running..." msgstr "" -#: nova/compute/monitor.py:355 -#, python-format -msgid "Cannot get blockstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:272 +msgid "" +"The above error may show that the database has not been created.\n" +"Please create a database using nova-manage sync db before running this " +"command." msgstr "" -#: nova/compute/monitor.py:377 -#, python-format -msgid "Cannot get ifstats for \"%s\" on \"%s\"" +#: ../bin/nova-manage.py:426 +msgid "" +"No more networks available. If this is a new installation, you need\n" +"to call something like this:\n" +"\n" +" nova-manage network create 10.0.0.0/8 10 64\n" +"\n" msgstr "" -#: nova/compute/monitor.py:412 -msgid "unexpected exception getting connection" +#: ../bin/nova-manage.py:431 +msgid "" +"The above error may show that the certificate db has not been created.\n" +"Please create a database by running a nova-api server on this host." msgstr "" -#: nova/compute/monitor.py:427 -#, python-format -msgid "Found instance: %s" +#: ../bin/nova-manage.py:447 ../bin/nova-manage.py:536 +msgid "network" msgstr "" -#: nova/db/sqlalchemy/api.py:43 -msgid "Use of empty request context is deprecated" +#: ../bin/nova-manage.py:448 +msgid "IP address" msgstr "" -#: nova/db/sqlalchemy/api.py:132 -#, python-format -msgid "No service for id %s" +#: ../bin/nova-manage.py:449 +msgid "MAC address" msgstr "" -#: nova/db/sqlalchemy/api.py:229 -#, python-format -msgid "No service for %s, %s" +#: ../bin/nova-manage.py:450 +msgid "hostname" msgstr "" -#: nova/db/sqlalchemy/api.py:574 -#, python-format -msgid "No floating ip for address %s" +#: ../bin/nova-manage.py:451 +msgid "host" msgstr "" -#: nova/db/sqlalchemy/api.py:668 -#, python-format -msgid "No instance for id %s" +#: ../bin/nova-manage.py:537 +msgid "netmask" msgstr "" -#: nova/db/sqlalchemy/api.py:758 nova/virt/libvirt_conn.py:598 -#: nova/virt/xenapi/volumeops.py:48 nova/virt/xenapi/volumeops.py:103 -#, python-format -msgid "Instance %s not found" +#: ../bin/nova-manage.py:538 +msgid "start address" msgstr "" -#: nova/db/sqlalchemy/api.py:891 +#: ../nova/virt/disk.py:69 #, python-format -msgid "no keypair for user %s, name %s" +msgid "Failed to load partition: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1006 nova/db/sqlalchemy/api.py:1064 +#: ../nova/virt/disk.py:91 #, python-format -msgid "No network for id %s" +msgid "Failed to mount filesystem: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1036 +#: ../nova/virt/disk.py:124 #, python-format -msgid "No network for bridge %s" +msgid "nbd device %s did not show up" msgstr "" -#: nova/db/sqlalchemy/api.py:1050 +#: ../nova/virt/disk.py:128 #, python-format -msgid "No network for instance %s" +msgid "Could not attach image to loopback: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1180 -#, python-format -msgid "Token %s does not exist" +#: ../nova/virt/disk.py:151 +msgid "No free nbd devices" msgstr "" -#: nova/db/sqlalchemy/api.py:1205 +#: ../doc/ext/nova_todo.py:46 #, python-format -msgid "No quota for project_id %s" +msgid "%(filename)s, line %(line_info)d" msgstr "" -#: nova/db/sqlalchemy/api.py:1356 -#, python-format -msgid "No volume for id %s" +#. FIXME(chiradeep): implement this +#: ../nova/virt/hyperv.py:118 +msgid "In init host" msgstr "" -#: nova/db/sqlalchemy/api.py:1401 +#: ../nova/virt/hyperv.py:131 #, python-format -msgid "Volume %s not found" +msgid "Attempt to create duplicate vm %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1413 +#: ../nova/virt/hyperv.py:148 #, python-format -msgid "No export device found for volume %s" +msgid "Starting VM %s " msgstr "" -#: nova/db/sqlalchemy/api.py:1426 +#: ../nova/virt/hyperv.py:150 #, python-format -msgid "No target id found for volume %s" +msgid "Started VM %s " msgstr "" -#: nova/db/sqlalchemy/api.py:1471 +#: ../nova/virt/hyperv.py:152 #, python-format -msgid "No security group with id %s" +msgid "spawn vm failed: %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1488 +#: ../nova/virt/hyperv.py:169 #, python-format -msgid "No security group named %s for project: %s" +msgid "Failed to create VM %s" msgstr "" -#: nova/db/sqlalchemy/api.py:1576 +#: ../nova/virt/hyperv.py:188 #, python-format -msgid "No secuity group rule with id %s" +msgid "Set memory for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1650 +#: ../nova/virt/hyperv.py:198 #, python-format -msgid "No user for id %s" +msgid "Set vcpus for vm %s..." msgstr "" -#: nova/db/sqlalchemy/api.py:1666 +#: ../nova/virt/hyperv.py:202 #, python-format -msgid "No user for access key %s" +msgid "Creating disk for %(vm_name)s by attaching disk file %(vhdfile)s" msgstr "" -#: nova/db/sqlalchemy/api.py:1728 +#: ../nova/virt/hyperv.py:227 #, python-format -msgid "No project with id %s" +msgid "Failed to add diskdrive to VM %s" msgstr "" -#: nova/image/glance.py:78 +#: ../nova/virt/hyperv.py:230 #, python-format -msgid "Parallax returned HTTP error %d from request for /images" +msgid "New disk drive path is %s" msgstr "" -#: nova/image/glance.py:97 +#: ../nova/virt/hyperv.py:247 #, python-format -msgid "Parallax returned HTTP error %d from request for /images/detail" +msgid "Failed to add vhd file to VM %s" msgstr "" -#: nova/image/s3.py:82 +#: ../nova/virt/hyperv.py:249 #, python-format -msgid "Image %s could not be found" +msgid "Created disk for %s" msgstr "" -#: nova/network/api.py:39 +#: ../nova/virt/hyperv.py:253 #, python-format -msgid "Quota exceeeded for %s, tried to allocate address" +msgid "Creating nic for %s " msgstr "" -#: nova/network/api.py:42 -msgid "Address quota exceeded. You cannot allocate any more addresses" +#: ../nova/virt/hyperv.py:272 +msgid "Failed creating a port on the external vswitch" msgstr "" -#: nova/network/linux_net.py:176 +#: ../nova/virt/hyperv.py:273 #, python-format -msgid "Starting VLAN inteface %s" +msgid "Failed creating port for %s" msgstr "" -#: nova/network/linux_net.py:186 +#: ../nova/virt/hyperv.py:276 #, python-format -msgid "Starting Bridge interface for %s" +msgid "Created switch port %(vm_name)s on switch %(ext_path)s" msgstr "" -#: nova/network/linux_net.py:254 +#: ../nova/virt/hyperv.py:286 #, python-format -msgid "Hupping dnsmasq threw %s" +msgid "Failed to add nic to VM %s" msgstr "" -#: nova/network/linux_net.py:256 +#: ../nova/virt/hyperv.py:288 #, python-format -msgid "Pid %d is stale, relaunching dnsmasq" +msgid "Created nic for %s " msgstr "" -#: nova/network/linux_net.py:334 +#: ../nova/virt/hyperv.py:321 #, python-format -msgid "Killing dnsmasq threw %s" +msgid "WMI job failed: %s" msgstr "" -#: nova/network/manager.py:135 -msgid "setting network host" +#: ../nova/virt/hyperv.py:325 +#, python-format +msgid "WMI job succeeded: %(desc)s, Elapsed=%(elap)s " msgstr "" -#: nova/network/manager.py:190 +#: ../nova/virt/hyperv.py:361 #, python-format -msgid "Leasing IP %s" +msgid "Got request to destroy vm %s" msgstr "" -#: nova/network/manager.py:194 +#: ../nova/virt/hyperv.py:386 #, python-format -msgid "IP %s leased that isn't associated" +msgid "Failed to destroy vm %s" msgstr "" -#: nova/network/manager.py:197 +#: ../nova/virt/hyperv.py:393 #, python-format -msgid "IP %s leased to bad mac %s vs %s" +msgid "Del: disk %(vhdfile)s vm %(instance_name)s" msgstr "" -#: nova/network/manager.py:205 +#: ../nova/virt/hyperv.py:415 #, python-format -msgid "IP %s leased that was already deallocated" +msgid "" +"Got Info for vm %(instance_id)s: state=%(state)s, mem=%(memusage)s, " +"num_cpu=%(numprocs)s, cpu_time=%(uptime)s" msgstr "" -#: nova/network/manager.py:214 +#: ../nova/virt/hyperv.py:451 #, python-format -msgid "IP %s released that isn't associated" +msgid "Successfully changed vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:217 +#: ../nova/virt/hyperv.py:454 #, python-format -msgid "IP %s released from bad mac %s vs %s" +msgid "Failed to change vm state of %(vm_name)s to %(req_state)s" msgstr "" -#: nova/network/manager.py:220 +#: ../nova/compute/api.py:71 #, python-format -msgid "IP %s released that was not leased" +msgid "Instance %d was not found in get_network_topic" msgstr "" -#: nova/network/manager.py:442 +#: ../nova/compute/api.py:77 #, python-format -msgid "Dissassociated %s stale fixed ip(s)" +msgid "Instance %d has no host" msgstr "" -#: nova/objectstore/handler.py:106 +#: ../nova/compute/api.py:97 #, python-format -msgid "Unknown S3 value type %r" +msgid "Quota exceeeded for %(pid)s, tried to run %(min_count)s instances" msgstr "" -#: nova/objectstore/handler.py:137 -msgid "Authenticated request" +#: ../nova/compute/api.py:99 +#, python-format +msgid "" +"Instance quota exceeded. You can only run %s more instances of this type." msgstr "" -#: nova/objectstore/handler.py:182 -msgid "List of buckets requested" +#: ../nova/compute/api.py:112 +msgid "Creating a raw instance" msgstr "" -#: nova/objectstore/handler.py:209 +#: ../nova/compute/api.py:160 #, python-format -msgid "List keys for bucket %s" +msgid "Going to run %s instances..." msgstr "" -#: nova/objectstore/handler.py:217 +#: ../nova/compute/api.py:187 #, python-format -msgid "Unauthorized attempt to access bucket %s" +msgid "Casting to scheduler for %(pid)s/%(uid)s's instance %(instance_id)s" msgstr "" -#: nova/objectstore/handler.py:235 +#: ../nova/compute/api.py:292 #, python-format -msgid "Creating bucket %s" +msgid "Going to try to terminate %s" msgstr "" -#: nova/objectstore/handler.py:245 +#: ../nova/compute/api.py:296 #, python-format -msgid "Deleting bucket %s" +msgid "Instance %d was not found during terminate" msgstr "" -#: nova/objectstore/handler.py:249 +#: ../nova/compute/api.py:301 #, python-format -msgid "Unauthorized attempt to delete bucket %s" +msgid "Instance %d is already being terminated" msgstr "" -#: nova/objectstore/handler.py:271 +#: ../nova/compute/api.py:481 #, python-format -msgid "Getting object: %s / %s" +msgid "Invalid device specified: %s. Example device: /dev/vdb" msgstr "" -#: nova/objectstore/handler.py:274 -#, python-format -msgid "Unauthorized attempt to get object %s from bucket %s" +#: ../nova/compute/api.py:496 +msgid "Volume isn't attached to anything!" msgstr "" -#: nova/objectstore/handler.py:292 +#: ../nova/rpc.py:98 #, python-format -msgid "Putting object: %s / %s" +msgid "" +"AMQP server on %(fl_host)s:%(fl_port)d is unreachable. Trying again in " +"%(fl_intv)d seconds." msgstr "" -#: nova/objectstore/handler.py:295 +#: ../nova/rpc.py:103 #, python-format -msgid "Unauthorized attempt to upload object %s to bucket %s" -msgstr "" +msgid "Unable to connect to AMQP server after %d tries. Shutting down." +msgstr "已尝试 %d 次,均无法连接到AMQP服务器。关闭中。" -#: nova/objectstore/handler.py:314 -#, python-format -msgid "Deleting object: %s / %s" -msgstr "" +#: ../nova/rpc.py:122 +msgid "Reconnected to queue" +msgstr "重新与队列建立连接" -#: nova/objectstore/handler.py:393 -#, python-format -msgid "Not authorized to upload image: invalid directory %s" -msgstr "" +#: ../nova/rpc.py:129 +msgid "Failed to fetch message from queue" +msgstr "从队列获取数据失败" -#: nova/objectstore/handler.py:401 +#: ../nova/rpc.py:159 #, python-format -msgid "Not authorized to upload image: unauthorized bucket %s" +msgid "Initing the Adapter Consumer for %s" msgstr "" -#: nova/objectstore/handler.py:406 +#: ../nova/rpc.py:178 #, python-format -msgid "Starting image upload: %s" -msgstr "" +msgid "received %s" +msgstr "已接收 %s" -#: nova/objectstore/handler.py:420 +#. NOTE(vish): we may not want to ack here, but that means that bad +#. messages stay in the queue indefinitely, so for now +#. we just log the message and send an error string +#. back to the caller +#: ../nova/rpc.py:191 #, python-format -msgid "Not authorized to update attributes of image %s" -msgstr "" +msgid "no method for message: %s" +msgstr "没有适用于消息 %s 的方法" -#: nova/objectstore/handler.py:428 +#: ../nova/rpc.py:192 #, python-format -msgid "Toggling publicity flag of image %s %r" -msgstr "" +msgid "No method for message: %s" +msgstr "没有适用于消息 %s 的方法" -#: nova/objectstore/handler.py:433 +#: ../nova/rpc.py:253 #, python-format -msgid "Updating user fields on image %s" -msgstr "" +msgid "Returning exception %s to caller" +msgstr "返回 %s 异常给调用者" -#: nova/objectstore/handler.py:447 +#: ../nova/rpc.py:294 #, python-format -msgid "Unauthorized attempt to delete image %s" +msgid "unpacked context: %s" msgstr "" -#: nova/objectstore/handler.py:452 -#, python-format -msgid "Deleted image: %s" -msgstr "" +#: ../nova/rpc.py:313 +msgid "Making asynchronous call..." +msgstr "产生异步调用中……" -#: nova/scheduler/chance.py:37 nova/scheduler/simple.py:73 -#: nova/scheduler/simple.py:106 nova/scheduler/simple.py:118 -msgid "No hosts found" -msgstr "" +#: ../nova/rpc.py:316 +#, python-format +msgid "MSG_ID is %s" +msgstr "消息ID(MSG_ID)是 %s" -#: nova/scheduler/driver.py:66 -msgid "Must implement a fallback schedule" +#: ../nova/rpc.py:354 +msgid "Making asynchronous cast..." msgstr "" -#: nova/scheduler/manager.py:69 +#: ../nova/rpc.py:364 #, python-format -msgid "Casting to %s %s for %s" -msgstr "" +msgid "response %s" +msgstr "回复 %s" -#: nova/scheduler/simple.py:63 -msgid "All hosts have too many cores" -msgstr "" +#: ../nova/rpc.py:373 +#, python-format +msgid "topic is %s" +msgstr "话题是 %s" -#: nova/scheduler/simple.py:95 -msgid "All hosts have too many gigabytes" -msgstr "" +#: ../nova/rpc.py:374 +#, python-format +msgid "message %s" +msgstr "消息 %s" -#: nova/scheduler/simple.py:115 -msgid "All hosts have too many networks" +#: ../nova/volume/driver.py:78 +#, python-format +msgid "Recovering from a failed execute. Try number %s" msgstr "" -#: nova/tests/test_cloud.py:198 -msgid "Can't test instances without a real virtual env." +#: ../nova/volume/driver.py:87 +#, python-format +msgid "volume group %s doesn't exist" msgstr "" -#: nova/tests/test_cloud.py:210 +#: ../nova/volume/driver.py:220 #, python-format -msgid "Need to watch instance %s until it's running..." +msgid "FAKE AOE: %s" msgstr "" -#: nova/tests/test_compute.py:104 -#, python-format -msgid "Running instances: %s" +#: ../nova/volume/driver.py:233 +msgid "Skipping ensure_export. No iscsi_target " msgstr "" -#: nova/tests/test_compute.py:110 -#, python-format -msgid "After terminating instances: %s" +#: ../nova/volume/driver.py:279 ../nova/volume/driver.py:288 +msgid "Skipping remove_export. No iscsi_target " msgstr "" -#: nova/tests/test_rpc.py:89 +#: ../nova/volume/driver.py:347 #, python-format -msgid "Nested received %s, %s" +msgid "FAKE ISCSI: %s" msgstr "" -#: nova/tests/test_rpc.py:94 +#: ../nova/volume/driver.py:359 #, python-format -msgid "Nested return %s" +msgid "rbd has no pool %s" msgstr "" -#: nova/tests/test_rpc.py:119 nova/tests/test_rpc.py:125 +#: ../nova/volume/driver.py:414 #, python-format -msgid "Received %s" +msgid "Sheepdog is not working: %s" msgstr "" -#: nova/tests/test_volume.py:162 +#: ../nova/volume/driver.py:416 +msgid "Sheepdog is not working" +msgstr "" + +#: ../nova/wsgi.py:68 #, python-format -msgid "Target %s allocated" +msgid "Starting %(arg0)s on %(host)s:%(port)s" msgstr "" -#: nova/virt/connection.py:73 -msgid "Failed to open connection to the hypervisor" +#: ../nova/wsgi.py:147 +msgid "You must implement __call__" msgstr "" -#: nova/virt/fake.py:210 -#, python-format -msgid "Instance %s Not Found" +#: ../bin/nova-instancemonitor.py:55 +msgid "Starting instance monitor" msgstr "" -#: nova/virt/hyperv.py:118 -msgid "In init host" +#: ../bin/nova-dhcpbridge.py:58 +msgid "leasing ip" msgstr "" -#: nova/virt/hyperv.py:131 -#, python-format -msgid "Attempt to create duplicate vm %s" +#: ../bin/nova-dhcpbridge.py:73 +msgid "Adopted old lease or got a change of mac/hostname" msgstr "" -#: nova/virt/hyperv.py:148 -#, python-format -msgid "Starting VM %s " +#: ../bin/nova-dhcpbridge.py:80 +msgid "releasing ip" msgstr "" -#: nova/virt/hyperv.py:150 +#: ../bin/nova-dhcpbridge.py:123 #, python-format -msgid "Started VM %s " +msgid "" +"Called %(action)s for mac %(mac)s with ip %(ip)s and hostname %(hostname)s " +"on interface %(interface)s" msgstr "" -#: nova/virt/hyperv.py:152 +#: ../nova/virt/fake.py:239 #, python-format -msgid "spawn vm failed: %s" +msgid "Instance %s Not Found" msgstr "" -#: nova/virt/hyperv.py:169 +#: ../nova/network/manager.py:153 #, python-format -msgid "Failed to create VM %s" +msgid "Dissassociated %s stale fixed ip(s)" msgstr "" -#: nova/virt/hyperv.py:171 nova/virt/xenapi/vm_utils.py:125 -#, python-format -msgid "Created VM %s..." +#: ../nova/network/manager.py:157 +msgid "setting network host" msgstr "" -#: nova/virt/hyperv.py:188 +#: ../nova/network/manager.py:212 #, python-format -msgid "Set memory for vm %s..." +msgid "Leasing IP %s" msgstr "" -#: nova/virt/hyperv.py:198 +#: ../nova/network/manager.py:216 #, python-format -msgid "Set vcpus for vm %s..." +msgid "IP %s leased that isn't associated" msgstr "" -#: nova/virt/hyperv.py:202 +#: ../nova/network/manager.py:220 #, python-format -msgid "Creating disk for %s by attaching disk file %s" +msgid "IP %(address)s leased to bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:227 +#: ../nova/network/manager.py:228 #, python-format -msgid "Failed to add diskdrive to VM %s" +msgid "IP %s leased that was already deallocated" msgstr "" -#: nova/virt/hyperv.py:230 +#: ../nova/network/manager.py:233 #, python-format -msgid "New disk drive path is %s" +msgid "Releasing IP %s" msgstr "" -#: nova/virt/hyperv.py:247 +#: ../nova/network/manager.py:237 #, python-format -msgid "Failed to add vhd file to VM %s" +msgid "IP %s released that isn't associated" msgstr "" -#: nova/virt/hyperv.py:249 +#: ../nova/network/manager.py:241 #, python-format -msgid "Created disk for %s" +msgid "IP %(address)s released from bad mac %(inst_addr)s vs %(mac)s" msgstr "" -#: nova/virt/hyperv.py:253 +#: ../nova/network/manager.py:244 #, python-format -msgid "Creating nic for %s " +msgid "IP %s released that was not leased" msgstr "" -#: nova/virt/hyperv.py:272 -msgid "Failed creating a port on the external vswitch" +#: ../nova/network/manager.py:519 +msgid "" +"The sum between the number of networks and the vlan start cannot be greater " +"than 4094" msgstr "" -#: nova/virt/hyperv.py:273 +#: ../nova/virt/xenapi/volume_utils.py:57 #, python-format -msgid "Failed creating port for %s" +msgid "Introducing %s..." msgstr "" -#: nova/virt/hyperv.py:275 +#: ../nova/virt/xenapi/volume_utils.py:74 #, python-format -msgid "Created switch port %s on switch %s" +msgid "Introduced %(label)s as %(sr_ref)s." msgstr "" -#: nova/virt/hyperv.py:285 -#, python-format -msgid "Failed to add nic to VM %s" +#: ../nova/virt/xenapi/volume_utils.py:78 +msgid "Unable to create Storage Repository" msgstr "" -#: nova/virt/hyperv.py:287 +#: ../nova/virt/xenapi/volume_utils.py:90 #, python-format -msgid "Created nic for %s " +msgid "Unable to find SR from VBD %s" msgstr "" -#: nova/virt/hyperv.py:320 +#: ../nova/virt/xenapi/volume_utils.py:96 #, python-format -msgid "WMI job failed: %s" +msgid "Forgetting SR %s ... " msgstr "" -#: nova/virt/hyperv.py:322 +#: ../nova/virt/xenapi/volume_utils.py:101 #, python-format -msgid "WMI job succeeded: %s, Elapsed=%s " +msgid "Ignoring exception %(exc)s when getting PBDs for %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:358 +#: ../nova/virt/xenapi/volume_utils.py:107 #, python-format -msgid "Got request to destroy vm %s" +msgid "Ignoring exception %(exc)s when unplugging PBD %(pbd)s" msgstr "" -#: nova/virt/hyperv.py:383 +#: ../nova/virt/xenapi/volume_utils.py:111 #, python-format -msgid "Failed to destroy vm %s" +msgid "Forgetting SR %s done." msgstr "" -#: nova/virt/hyperv.py:389 +#: ../nova/virt/xenapi/volume_utils.py:113 #, python-format -msgid "Del: disk %s vm %s" +msgid "Ignoring exception %(exc)s when forgetting SR %(sr_ref)s" msgstr "" -#: nova/virt/hyperv.py:405 +#: ../nova/virt/xenapi/volume_utils.py:123 #, python-format -msgid "" -"Got Info for vm %s: state=%s, mem=%s, num_cpu=%s, " -"cpu_time=%s" +msgid "Unable to introduce VDI on SR %s" msgstr "" -#: nova/virt/hyperv.py:424 nova/virt/xenapi/vm_utils.py:301 +#: ../nova/virt/xenapi/volume_utils.py:128 #, python-format -msgid "duplicate name found: %s" +msgid "Unable to get record of VDI %s on" msgstr "" -#: nova/virt/hyperv.py:444 +#: ../nova/virt/xenapi/volume_utils.py:146 #, python-format -msgid "Successfully changed vm state of %s to %s" +msgid "Unable to introduce VDI for SR %s" msgstr "" -#: nova/virt/hyperv.py:447 nova/virt/hyperv.py:449 +#: ../nova/virt/xenapi/volume_utils.py:175 #, python-format -msgid "Failed to change vm state of %s to %s" +msgid "Unable to obtain target information %(device_path)s, %(mountpoint)s" msgstr "" -#: nova/virt/images.py:70 +#: ../nova/virt/xenapi/volume_utils.py:197 #, python-format -msgid "Finished retreving %s -- placed in %s" +msgid "Mountpoint cannot be translated: %s" msgstr "" -#: nova/virt/libvirt_conn.py:144 +#: ../nova/objectstore/image.py:262 #, python-format -msgid "Connecting to libvirt: %s" +msgid "Failed to decrypt private key: %s" msgstr "" -#: nova/virt/libvirt_conn.py:157 -msgid "Connection to libvirt broke" +#: ../nova/objectstore/image.py:269 +#, python-format +msgid "Failed to decrypt initialization vector: %s" msgstr "" -#: nova/virt/libvirt_conn.py:229 +#: ../nova/objectstore/image.py:277 #, python-format -msgid "instance %s: deleting instance files %s" +msgid "Failed to decrypt image file %(image_file)s: %(err)s" msgstr "" -#: nova/virt/libvirt_conn.py:271 +#: ../nova/objectstore/handler.py:106 #, python-format -msgid "No disk at %s" +msgid "Unknown S3 value type %r" msgstr "" -#: nova/virt/libvirt_conn.py:278 -msgid "Instance snapshotting is not supported for libvirtat this time" +#: ../nova/objectstore/handler.py:137 +msgid "Authenticated request" msgstr "" -#: nova/virt/libvirt_conn.py:294 -#, python-format -msgid "instance %s: rebooted" +#: ../nova/objectstore/handler.py:182 +msgid "List of buckets requested" msgstr "" -#: nova/virt/libvirt_conn.py:297 +#: ../nova/objectstore/handler.py:209 #, python-format -msgid "_wait_for_reboot failed: %s" +msgid "List keys for bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:340 +#: ../nova/objectstore/handler.py:217 #, python-format -msgid "instance %s: rescued" +msgid "Unauthorized attempt to access bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:343 +#: ../nova/objectstore/handler.py:235 #, python-format -msgid "_wait_for_rescue failed: %s" +msgid "Creating bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:370 +#: ../nova/objectstore/handler.py:245 #, python-format -msgid "instance %s: is running" +msgid "Deleting bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:381 +#: ../nova/objectstore/handler.py:249 #, python-format -msgid "instance %s: booted" +msgid "Unauthorized attempt to delete bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:384 nova/virt/xenapi/vmops.py:116 +#: ../nova/objectstore/handler.py:273 #, python-format -msgid "instance %s: failed to boot" +msgid "Getting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:395 +#: ../nova/objectstore/handler.py:276 #, python-format -msgid "virsh said: %r" +msgid "Unauthorized attempt to get object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:399 -msgid "cool, it's a device" +#: ../nova/objectstore/handler.py:296 +#, python-format +msgid "Putting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:407 +#: ../nova/objectstore/handler.py:299 #, python-format -msgid "data: %r, fpath: %r" +msgid "Unauthorized attempt to upload object %(nm)s to bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:415 +#: ../nova/objectstore/handler.py:318 #, python-format -msgid "Contents of file %s: %r" +msgid "Deleting object: %(bname)s / %(nm)s" msgstr "" -#: nova/virt/libvirt_conn.py:449 +#: ../nova/objectstore/handler.py:322 #, python-format -msgid "instance %s: Creating image" +msgid "Unauthorized attempt to delete object %(nm)s from bucket %(bname)s" msgstr "" -#: nova/virt/libvirt_conn.py:505 +#: ../nova/objectstore/handler.py:396 #, python-format -msgid "instance %s: injecting key into image %s" +msgid "Not authorized to upload image: invalid directory %s" msgstr "" -#: nova/virt/libvirt_conn.py:508 +#: ../nova/objectstore/handler.py:404 #, python-format -msgid "instance %s: injecting net into image %s" +msgid "Not authorized to upload image: unauthorized bucket %s" msgstr "" -#: nova/virt/libvirt_conn.py:516 +#: ../nova/objectstore/handler.py:409 #, python-format -msgid "instance %s: ignoring error injecting data into image %s (%s)" +msgid "Starting image upload: %s" msgstr "" -#: nova/virt/libvirt_conn.py:544 nova/virt/libvirt_conn.py:547 +#: ../nova/objectstore/handler.py:423 #, python-format -msgid "instance %s: starting toXML method" +msgid "Not authorized to update attributes of image %s" msgstr "" -#: nova/virt/libvirt_conn.py:589 +#: ../nova/objectstore/handler.py:431 #, python-format -msgid "instance %s: finished toXML method" +msgid "Toggling publicity flag of image %(image_id)s %(newstatus)r" msgstr "" -#: nova/virt/xenapi_conn.py:113 -msgid "" -"Must specify xenapi_connection_url, xenapi_connection_username (optionally), " -"and xenapi_connection_password to use connection_type=xenapi" +#. other attributes imply update +#: ../nova/objectstore/handler.py:436 +#, python-format +msgid "Updating user fields on image %s" msgstr "" -#: nova/virt/xenapi_conn.py:263 +#: ../nova/objectstore/handler.py:450 #, python-format -msgid "Task [%s] %s status: success %s" +msgid "Unauthorized attempt to delete image %s" msgstr "" -#: nova/virt/xenapi_conn.py:271 +#: ../nova/objectstore/handler.py:455 #, python-format -msgid "Task [%s] %s status: %s %s" +msgid "Deleted image: %s" msgstr "" -#: nova/virt/xenapi_conn.py:287 nova/virt/xenapi_conn.py:300 +#: ../nova/auth/manager.py:259 #, python-format -msgid "Got exception: %s" +msgid "Looking up user: %r" msgstr "" -#: nova/virt/xenapi/fake.py:72 +#: ../nova/auth/manager.py:263 #, python-format -msgid "%s: _db_content => %s" +msgid "Failed authorization for access key %s" msgstr "" -#: nova/virt/xenapi/fake.py:247 nova/virt/xenapi/fake.py:338 -#: nova/virt/xenapi/fake.py:356 nova/virt/xenapi/fake.py:404 -msgid "Raising NotImplemented" +#: ../nova/auth/manager.py:264 +#, python-format +msgid "No user found for access key %s" msgstr "" -#: nova/virt/xenapi/fake.py:249 +#: ../nova/auth/manager.py:270 #, python-format -msgid "xenapi.fake does not have an implementation for %s" +msgid "Using project name = user name (%s)" msgstr "" -#: nova/virt/xenapi/fake.py:283 +#: ../nova/auth/manager.py:277 #, python-format -msgid "Calling %s %s" +msgid "failed authorization: no project named %(pjid)s (user=%(uname)s)" msgstr "" -#: nova/virt/xenapi/fake.py:288 +#: ../nova/auth/manager.py:279 #, python-format -msgid "Calling getter %s" +msgid "No project called %s could be found" msgstr "" -#: nova/virt/xenapi/fake.py:340 +#: ../nova/auth/manager.py:287 #, python-format msgid "" -"xenapi.fake does not have an implementation for %s or it has been called " -"with the wrong number of arguments" +"Failed authorization: user %(uname)s not admin and not member of project " +"%(pjname)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:40 +#: ../nova/auth/manager.py:289 #, python-format -msgid "Found non-unique network for bridge %s" +msgid "User %(uid)s is not a member of project %(pjid)s" msgstr "" -#: nova/virt/xenapi/network_utils.py:43 +#: ../nova/auth/manager.py:298 ../nova/auth/manager.py:309 #, python-format -msgid "Found no network for bridge %s" +msgid "Invalid signature for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:127 -#, python-format -msgid "Created VM %s as %s." +#: ../nova/auth/manager.py:299 ../nova/auth/manager.py:310 +msgid "Signature does not match" msgstr "" -#: nova/virt/xenapi/vm_utils.py:147 -#, python-format -msgid "Creating VBD for VM %s, VDI %s ... " +#: ../nova/auth/manager.py:380 +msgid "Must specify project" msgstr "" -#: nova/virt/xenapi/vm_utils.py:149 +#: ../nova/auth/manager.py:414 #, python-format -msgid "Created VBD %s for VM %s, VDI %s." +msgid "The %s role can not be found" msgstr "" -#: nova/virt/xenapi/vm_utils.py:165 +#: ../nova/auth/manager.py:416 #, python-format -msgid "VBD not found in instance %s" +msgid "The %s role is global only" msgstr "" -#: nova/virt/xenapi/vm_utils.py:175 +#: ../nova/auth/manager.py:420 #, python-format -msgid "Unable to unplug VBD %s" +msgid "Adding role %(role)s to user %(uid)s in project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:187 +#: ../nova/auth/manager.py:423 #, python-format -msgid "Unable to destroy VBD %s" +msgid "Adding sitewide role %(role)s to user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:202 +#: ../nova/auth/manager.py:448 #, python-format -msgid "Creating VIF for VM %s, network %s." +msgid "Removing role %(role)s from user %(uid)s on project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:205 +#: ../nova/auth/manager.py:451 #, python-format -msgid "Created VIF %s for VM %s, network %s." +msgid "Removing sitewide role %(role)s from user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:216 +#: ../nova/auth/manager.py:515 #, python-format -msgid "Snapshotting VM %s with label '%s'..." +msgid "Created project %(name)s with manager %(manager_user)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:229 +#: ../nova/auth/manager.py:533 #, python-format -msgid "Created snapshot %s from VM %s." +msgid "modifying project %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:243 +#: ../nova/auth/manager.py:545 #, python-format -msgid "Asking xapi to upload %s as '%s'" +msgid "Adding user %(uid)s to project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:261 +#: ../nova/auth/manager.py:566 #, python-format -msgid "Asking xapi to fetch %s as %s" +msgid "Remove user %(uid)s from project %(pid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:279 +#: ../nova/auth/manager.py:592 #, python-format -msgid "Looking up vdi %s for PV kernel" -msgstr "" +msgid "Deleting project %s" +msgstr "删除项目 %s" -#: nova/virt/xenapi/vm_utils.py:290 +#: ../nova/auth/manager.py:650 #, python-format -msgid "PV Kernel in VDI:%d" +msgid "Created user %(rvname)s (admin: %(rvadmin)r)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:318 +#: ../nova/auth/manager.py:659 #, python-format -msgid "VDI %s is still available" -msgstr "" +msgid "Deleting user %s" +msgstr "删除用户 %s" -#: nova/virt/xenapi/vm_utils.py:331 +#: ../nova/auth/manager.py:669 #, python-format -msgid "(VM_UTILS) xenserver vm state -> |%s|" +msgid "Access Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:333 +#: ../nova/auth/manager.py:671 #, python-format -msgid "(VM_UTILS) xenapi power_state -> |%s|" +msgid "Secret Key change for user %s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:390 +#: ../nova/auth/manager.py:673 #, python-format -msgid "VHD %s has parent %s" +msgid "Admin status set to %(admin)r for user %(uid)s" msgstr "" -#: nova/virt/xenapi/vm_utils.py:407 +#: ../nova/auth/manager.py:722 #, python-format -msgid "Re-scanning SR %s" -msgstr "" +msgid "No vpn data for project %s" +msgstr "没有 %s 项目的vpn数据" -#: nova/virt/xenapi/vm_utils.py:431 +#: ../nova/service.py:161 #, python-format -msgid "Parent %s doesn't match original parent %s, waiting for coalesce..." +msgid "Starting %(topic)s node (version %(vcs_string)s)" msgstr "" -#: nova/virt/xenapi/vm_utils.py:448 -#, python-format -msgid "No VDIs found for VM %s" -msgstr "" +#: ../nova/service.py:174 +msgid "Service killed that has no database entry" +msgstr "因无数据库记录,服务已被中止" -#: nova/virt/xenapi/vm_utils.py:452 -#, python-format -msgid "Unexpected number of VDIs (%s) found for VM %s" +#: ../nova/service.py:195 +msgid "The service database object disappeared, Recreating it." msgstr "" -#: nova/virt/xenapi/vmops.py:62 -#, python-format -msgid "Attempted to create non-unique name %s" -msgstr "" +#: ../nova/service.py:207 +msgid "Recovered model server connection!" +msgstr "与模型服务器(model server)的连接已恢复!" -#: nova/virt/xenapi/vmops.py:99 -#, python-format -msgid "Starting VM %s..." -msgstr "" +#: ../nova/service.py:213 +msgid "model server went away" +msgstr "失去与模型服务器的连接" -#: nova/virt/xenapi/vmops.py:101 +#: ../nova/auth/ldapdriver.py:174 #, python-format -msgid "Spawning VM %s created %s." -msgstr "" +msgid "LDAP user %s already exists" +msgstr "LDAP 用户 %s 已存在" -#: nova/virt/xenapi/vmops.py:112 +#: ../nova/auth/ldapdriver.py:205 #, python-format -msgid "Instance %s: booted" +msgid "LDAP object for %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:137 +#: ../nova/auth/ldapdriver.py:348 #, python-format -msgid "Instance not present %s" -msgstr "" +msgid "User %s doesn't exist" +msgstr "用户 %s 不存在" -#: nova/virt/xenapi/vmops.py:166 +#: ../nova/auth/ldapdriver.py:472 #, python-format -msgid "Starting snapshot for VM %s" +msgid "Group can't be created because group %s already exists" msgstr "" -#: nova/virt/xenapi/vmops.py:174 +#: ../nova/auth/ldapdriver.py:478 #, python-format -msgid "Unable to Snapshot %s: %s" +msgid "Group can't be created because user %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:184 +#: ../nova/auth/ldapdriver.py:495 #, python-format -msgid "Finished snapshot and upload for VM %s" +msgid "User %s can't be searched in group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:252 +#: ../nova/auth/ldapdriver.py:507 #, python-format -msgid "suspend: instance not present %s" +msgid "User %s can't be added to the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:262 +#: ../nova/auth/ldapdriver.py:510 ../nova/auth/ldapdriver.py:521 #, python-format -msgid "resume: instance not present %s" +msgid "The group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/vmops.py:271 +#: ../nova/auth/ldapdriver.py:513 #, python-format -msgid "Instance not found %s" +msgid "User %(uid)s is already a member of the group %(group_dn)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:57 +#: ../nova/auth/ldapdriver.py:524 #, python-format -msgid "Introducing %s..." +msgid "" +"User %s can't be removed from the group because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:74 +#: ../nova/auth/ldapdriver.py:528 #, python-format -msgid "Introduced %s as %s." -msgstr "" - -#: nova/virt/xenapi/volume_utils.py:78 -msgid "Unable to create Storage Repository" +msgid "User %s is not a member of the group" msgstr "" -#: nova/virt/xenapi/volume_utils.py:90 +#: ../nova/auth/ldapdriver.py:542 #, python-format -msgid "Unable to find SR from VBD %s" +msgid "" +"Attempted to remove the last member of a group. Deleting the group at %s " +"instead." msgstr "" -#: nova/virt/xenapi/volume_utils.py:96 +#: ../nova/auth/ldapdriver.py:549 #, python-format -msgid "Forgetting SR %s ... " +msgid "User %s can't be removed from all because the user doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:101 +#: ../nova/auth/ldapdriver.py:564 #, python-format -msgid "Ignoring exception %s when getting PBDs for %s" +msgid "Group at dn %s doesn't exist" msgstr "" -#: nova/virt/xenapi/volume_utils.py:107 +#: ../nova/virt/xenapi/network_utils.py:40 #, python-format -msgid "Ignoring exception %s when unplugging PBD %s" +msgid "Found non-unique network for bridge %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:111 +#: ../nova/virt/xenapi/network_utils.py:43 #, python-format -msgid "Forgetting SR %s done." +msgid "Found no network for bridge %s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:113 +#: ../nova/api/ec2/admin.py:97 #, python-format -msgid "Ignoring exception %s when forgetting SR %s" -msgstr "" +msgid "Creating new user: %s" +msgstr "创建新用户: %s" -#: nova/virt/xenapi/volume_utils.py:123 +#: ../nova/api/ec2/admin.py:105 #, python-format -msgid "Unable to introduce VDI on SR %s" -msgstr "" +msgid "Deleting user: %s" +msgstr "删除用户: %s" -#: nova/virt/xenapi/volume_utils.py:128 +#: ../nova/api/ec2/admin.py:127 #, python-format -msgid "Unable to get record of VDI %s on" +msgid "Adding role %(role)s to user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:146 +#: ../nova/api/ec2/admin.py:131 #, python-format -msgid "Unable to introduce VDI for SR %s" +msgid "Adding sitewide role %(role)s to user %(user)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:175 +#: ../nova/api/ec2/admin.py:137 #, python-format -msgid "Unable to obtain target information %s, %s" +msgid "Removing role %(role)s from user %(user)s for project %(project)s" msgstr "" -#: nova/virt/xenapi/volume_utils.py:197 +#: ../nova/api/ec2/admin.py:141 #, python-format -msgid "Mountpoint cannot be translated: %s" +msgid "Removing sitewide role %(role)s from user %(user)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:51 -#, python-format -msgid "Attach_volume: %s, %s, %s" -msgstr "" +#: ../nova/api/ec2/admin.py:146 ../nova/api/ec2/admin.py:223 +msgid "operation must be add or remove" +msgstr "操作必须为添加或删除" -#: nova/virt/xenapi/volumeops.py:69 +#: ../nova/api/ec2/admin.py:159 #, python-format -msgid "Unable to create VDI on SR %s for instance %s" +msgid "Getting x509 for user: %(name)s on project: %(project)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:81 +#: ../nova/api/ec2/admin.py:177 #, python-format -msgid "Unable to use SR %s for instance %s" +msgid "Create project %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:93 +#: ../nova/api/ec2/admin.py:190 #, python-format -msgid "Unable to attach volume to instance %s" +msgid "Modify project: %(name)s managed by %(manager_user)s" msgstr "" -#: nova/virt/xenapi/volumeops.py:95 +#: ../nova/api/ec2/admin.py:200 #, python-format -msgid "Mountpoint %s attached to instance %s" -msgstr "" +msgid "Delete project: %s" +msgstr "删除工程 %s" -#: nova/virt/xenapi/volumeops.py:106 +#: ../nova/api/ec2/admin.py:214 #, python-format -msgid "Detach_volume: %s, %s" -msgstr "" +msgid "Adding user %(user)s to project %(project)s" +msgstr "添加用户 %(user)s 到项目 %(project)s 中" -#: nova/virt/xenapi/volumeops.py:113 +#: ../nova/api/ec2/admin.py:218 #, python-format -msgid "Unable to locate volume %s" -msgstr "" +msgid "Removing user %(user)s from project %(project)s" +msgstr "从项目 %(project)s 中移除用户 %(user)s" -#: nova/virt/xenapi/volumeops.py:121 #, python-format -msgid "Unable to detach volume %s" -msgstr "" +#~ msgid "" +#~ "%s\n" +#~ "Command: %s\n" +#~ "Exit code: %s\n" +#~ "Stdout: %r\n" +#~ "Stderr: %r" +#~ msgstr "" +#~ "%s\n" +#~ "命令:%s\n" +#~ "退出代码:%s\n" +#~ "标准输出(stdout):%r\n" +#~ "标准错误(stderr):%r" -#: nova/virt/xenapi/volumeops.py:128 #, python-format -msgid "Mountpoint %s detached from instance %s" -msgstr "" +#~ msgid "Binding %s to %s with key %s" +#~ msgstr "将%s绑定到%s(以%s键值)" -#: nova/volume/api.py:44 #, python-format -msgid "Quota exceeeded for %s, tried to create %sG volume" -msgstr "" +#~ msgid "AMQP server on %s:%d is unreachable. Trying again in %d seconds." +#~ msgstr "位于%s:%d的AMQP服务器不可用。%d秒后重试。" -#: nova/volume/api.py:46 #, python-format -msgid "Volume quota exceeded. You cannot create a volume of size %s" -msgstr "" - -#: nova/volume/api.py:70 nova/volume/api.py:95 -msgid "Volume status must be available" -msgstr "" +#~ msgid "Getting from %s: %s" +#~ msgstr "从%s获得如下内容:%s" -#: nova/volume/api.py:97 -msgid "Volume is already attached" -msgstr "" +#, python-format +#~ msgid "Starting %s node" +#~ msgstr "启动%s节点" -#: nova/volume/api.py:103 -msgid "Volume is already detached" -msgstr "" +#, python-format +#~ msgid "Data store %s is unreachable. Trying again in %d seconds." +#~ msgstr "数据储存服务%s不可用。%d秒之后继续尝试。" -#: nova/volume/driver.py:76 #, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "" +#~ msgid "(%s) publish (key: %s) %s" +#~ msgstr "(%s)发布(键值:%s)%s" -#: nova/volume/driver.py:85 #, python-format -msgid "volume group %s doesn't exist" -msgstr "" +#~ msgid "Couldn't get IP, using 127.0.0.1 %s" +#~ msgstr "不能获取IP,将使用 127.0.0.1 %s" -#: nova/volume/driver.py:210 #, python-format -msgid "FAKE AOE: %s" -msgstr "" +#~ msgid "" +#~ "Access key %s has had %d failed authentications and will be locked out for " +#~ "%d minutes." +#~ msgstr "访问键 %s时,存在%d个失败的认证,将于%d分钟后解锁" -#: nova/volume/driver.py:315 #, python-format -msgid "FAKE ISCSI: %s" -msgstr "" +#~ msgid "Authenticated Request For %s:%s)" +#~ msgstr "为%s:%s申请认证" -#: nova/volume/manager.py:85 #, python-format -msgid "Re-exporting %s volumes" -msgstr "" +#~ msgid "arg: %s\t\tval: %s" +#~ msgstr "键为: %s\t\t值为: %s" -#: nova/volume/manager.py:93 #, python-format -msgid "volume %s: creating" -msgstr "" +#~ msgid "Getting x509 for user: %s on project: %s" +#~ msgstr "为用户 %s从工程%s中获取 x509" -#: nova/volume/manager.py:102 #, python-format -msgid "volume %s: creating lv of size %sG" -msgstr "" +#~ msgid "Create project %s managed by %s" +#~ msgstr "创建工程%s,此工程由%s管理" -#: nova/volume/manager.py:106 #, python-format -msgid "volume %s: creating export" -msgstr "" +#~ msgid "Unsupported API request: controller = %s,action = %s" +#~ msgstr "不支持的API请求: 控制器 = %s,执行 = %s" -#: nova/volume/manager.py:113 #, python-format -msgid "volume %s: created successfully" -msgstr "" +#~ msgid "Adding sitewide role %s to user %s" +#~ msgstr "增加站点范围的 %s角色给用户 %s" -#: nova/volume/manager.py:121 -msgid "Volume is still attached" -msgstr "" +#, python-format +#~ msgid "Adding user %s to project %s" +#~ msgstr "增加用户%s到%s工程" -#: nova/volume/manager.py:123 -msgid "Volume is not local to this node" -msgstr "" +#, python-format +#~ msgid "Unauthorized request for controller=%s and action=%s" +#~ msgstr "对控制器=%s及动作=%s未经授权" -#: nova/volume/manager.py:124 #, python-format -msgid "volume %s: removing export" -msgstr "" +#~ msgid "Removing user %s from project %s" +#~ msgstr "正将用户%s从工程%s中移除" -#: nova/volume/manager.py:126 #, python-format -msgid "volume %s: deleting" -msgstr "" +#~ msgid "Adding role %s to user %s for project %s" +#~ msgstr "正将%s角色赋予用户%s(在工程%s中)" -#: nova/volume/manager.py:129 #, python-format -msgid "volume %s: deleted successfully" -msgstr "" +#~ msgid "Removing role %s from user %s for project %s" +#~ msgstr "正将角色%s从用户%s在工程%s中移除" -- cgit From d7f0c23b0a398b35442be7e053539d7d7e230122 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Fri, 8 Apr 2011 08:50:45 -0300 Subject: added Zones doc --- doc/source/devref/zone.rst | 128 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 doc/source/devref/zone.rst diff --git a/doc/source/devref/zone.rst b/doc/source/devref/zone.rst new file mode 100644 index 000000000..c3d04a405 --- /dev/null +++ b/doc/source/devref/zone.rst @@ -0,0 +1,128 @@ +.. + Copyright 2010-2011 OpenStack LLC + All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"); you may + not use this file except in compliance with the License. You may obtain + a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + License for the specific language governing permissions and limitations + under the License. + +Zones +===== + +A Nova deployment is called a Zone. At the very least a Zone requires an API node, a Scheduler node, a database and RabbitMQ. Pushed further a Zone may contain many API nodes, many Scheduler, Volume, Network and Compute nodes as well as a cluster of databases and RabbitMQ servers. A Zone allows you partition your deployments into logical groups for load balancing and instance distribution. + +The idea behind Zones is, if a particular deployment is not capable of servicing a particular request, the request may be forwarded to (child) Zones for possible processing. Zones may be nested in a tree fashion. + +Zones only know about their immediate children, they do not know about their parent Zones and may in fact have more than one parent. Likewise, a Zone's children may themselves have child Zones. + +Zones share nothing. They communicate via the public OpenStack API only. No database, queue, user or project definition is shared between Zones. + + +Capabilities +------------ +Routing between Zones is based on the Capabilities of that Zone. Capabilities are nothing more than key/value pairs. When expressed as a string they take the form: + +:: + + key=value;value;value, key=value;value;value + +Zones have Capabilities which are general to the Zone and are set via `--zone-capabilities` flag. Zones also have dynamic per-service Capabilities. Services derived from `nova.manager.SchedulerDependentManager` (such as Compute, Volume and Network) can set these capabilities by calling the `update_service_capabilities()` method on their `Manager` base class. These capabilities will be periodically sent to the Scheduler service automatically. The rate at which these updates are sent is controlled by the `--periodic_interval` flag. + +Flow within a Zone +------------------ +The brunt of the work within a Zone is done in the Scheduler Service. The Scheduler is responsible for: +- collecting capability messages from the Compute, Volume and Network nodes, +- polling the child Zones for their status and +- providing data to the Distributed Scheduler for performing load balancing calculations + +Inter-service communication within a Zone is done with RabbitMQ. Each class of Service (Compute, Volume and Network) has both a named message exchange (particular to that host) and a general message exchange (particular to that class of service). Messages sent to these exchanges are picked off in round-robin fashion. Zones introduce a new fan-out exchange per service. Messages sent to the fan-out exchange are picked up by all services of a particular class. This fan-out exchange is used by the Scheduler services to receive capability messages from the Compute, Volume and Network nodes. + +These capability messages are received by the Scheduler services and stored in the `ZoneManager` object. The SchedulerManager object has a reference to the `ZoneManager` it can use for load balancing. + +The `ZoneManager` also polls the child Zones periodically to gather their capabilities to aid in decision making. This is done via the OpenStack API `/v1.0/zones/info` REST call. This also captures the name of each child Zone. The Zone name is set via the `--zone-name` flag (and defaults to "nova"). + +Zone administrative functions +----------------------------- +Zone administrative operations are usually done using python-novaclient_ + +.. _python-novaclient: https://github.com/rackspace/python-novaclient + +In order to use the Zone operations, be sure to enable administrator operations in OpenStack API by setting the `--allow_admin_api=true` flag. + + +Find out about this Zone +------------------------ +In any Zone you can find the Zone's name and capabilities with the ``nova zone-info`` command. + +:: + + alice@novadev:~$ nova zone-info + +-----------------+---------------+ + | Property | Value | + +-----------------+---------------+ + | compute_cpu | 0.7,0.7 | + | compute_disk | 123000,123000 | + | compute_network | 800,800 | + | hypervisor | xenserver | + | name | nova | + | network_cpu | 0.7,0.7 | + | network_disk | 123000,123000 | + | network_network | 800,800 | + | os | linux | + +-----------------+---------------+ + +This equates to a GET operation on `.../zones/info`. If you have no child Zones defined you'll usually only get back the default `name`, `hypervisor` and `os` capabilities. Otherwise you'll get back a tuple of min, max values for each capabilities of all the hosts of all the services running in the child zone. These take the `_ = ,` format. + +Adding a child Zone +------------------- +From a parent zone you can add a child zone with the following command: + +:: + + nova zone-add + +You can get the `child zone api url`, `nova api key` and `username` from the `novarc` file in the child zone. For example: + +:: + + export NOVA_API_KEY="3bd1af06-6435-4e23-a827-413b2eb86934" + export NOVA_USERNAME="alice" + export NOVA_URL="http://192.168.2.120:8774/v1.0/" + + +This equates to a POST operation to `.../zones/` to add a new zone. No connection attempt to the child zone is done when this command. It only puts an entry in the db at this point. After about 30 seconds the `ZoneManager` in the Scheduler services will attempt to talk to the child zone and get its information. + +Getting a list of child Zones +----------------------------- + +:: + + nova zone-list + + alice@novadev:~$ nova zone-list + +----+-------+-----------+--------------------------------------------+---------------------------------+ + | ID | Name | Is Active | Capabilities | API URL | + +----+-------+-----------+--------------------------------------------+---------------------------------+ + | 2 | zone1 | True | hypervisor=xenserver;kvm, os=linux;windows | http://192.168.2.108:8774/v1.0/ | + | 3 | zone2 | True | hypervisor=xenserver;kvm, os=linux;windows | http://192.168.2.115:8774/v1.0/ | + +----+-------+-----------+--------------------------------------------+---------------------------------+ + +This equates to a GET operation to `.../zones`. + +Removing a child Zone +--------------------- +:: + + nova zone-delete + +This equates to a DELETE call to `.../zones/N`. The Zone with ID=N will be removed. + + -- cgit From 845d32660eb18b8a402519d382392232f79f2990 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Fri, 8 Apr 2011 10:04:38 -0300 Subject: merge prop tweaks --- doc/source/devref/zone.rst | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/source/devref/zone.rst b/doc/source/devref/zone.rst index c3d04a405..acc7398bf 100644 --- a/doc/source/devref/zone.rst +++ b/doc/source/devref/zone.rst @@ -28,7 +28,7 @@ Zones share nothing. They communicate via the public OpenStack API only. No data Capabilities ------------ -Routing between Zones is based on the Capabilities of that Zone. Capabilities are nothing more than key/value pairs. When expressed as a string they take the form: +Routing between Zones is based on the Capabilities of that Zone. Capabilities are nothing more than key/value pairs. Values are multi-value, with each value separated with a semicolon (`;`). When expressed as a string they take the form: :: @@ -123,6 +123,4 @@ Removing a child Zone nova zone-delete -This equates to a DELETE call to `.../zones/N`. The Zone with ID=N will be removed. - - +This equates to a DELETE call to `.../zones/N`. The Zone with ID=N will be removed. This will only remove the zone entry from the current (parent) Zone, no child Zones are affected. -- cgit From 0d4fe0ddf20b36042cb73bdd8f1f40fa9832bd28 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Fri, 8 Apr 2011 09:50:16 -0400 Subject: bzr ignore the CA dir. --- .bzrignore | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/.bzrignore b/.bzrignore index b751ad825..14d8028f7 100644 --- a/.bzrignore +++ b/.bzrignore @@ -5,13 +5,7 @@ _trial_temp keys networks nova.sqlite -CA/cacert.pem -CA/crl.pem -CA/index.txt* -CA/openssl.cnf -CA/serial* -CA/newcerts/*.pem -CA/private/cakey.pem +CA nova/vcsversion.py *.DS_Store .project -- cgit From decdaa30acb15e088eb6a0ca3ebc8ea6f377cbfe Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Fri, 8 Apr 2011 12:22:09 -0400 Subject: Set default stateOrProvice to 'supplied' in openssl.cnf.tmpl. This resolves a stateOrProvince printable string UTF8 mismatch on RHEL 6 and Fedora 14 (using openssl-1.0.0-4.el6.x86_64 or openssl-1.0.0d-1.fc14.x86_64). Fixes x509 certificate generation on Fedora 14 and Redhat 6. --- nova/CA/openssl.cnf.tmpl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nova/CA/openssl.cnf.tmpl b/nova/CA/openssl.cnf.tmpl index dd81f1c2b..b80fadf40 100644 --- a/nova/CA/openssl.cnf.tmpl +++ b/nova/CA/openssl.cnf.tmpl @@ -41,9 +41,13 @@ nameopt = default_ca certopt = default_ca policy = policy_match +# NOTE(dprince): stateOrProvinceName must be 'supplied' or 'optional' to +# work around a stateOrProvince printable string UTF8 mismatch on +# RHEL 6 and Fedora 14 (using openssl-1.0.0-4.el6.x86_64 or +# openssl-1.0.0d-1.fc14.x86_64) [ policy_match ] countryName = match -stateOrProvinceName = match +stateOrProvinceName = supplied organizationName = optional organizationalUnitName = optional commonName = supplied -- cgit From 9da9d9c8d5f763ec18c1286bf10f33ae67c84ced Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Fri, 8 Apr 2011 13:45:19 -0300 Subject: merge prop tweaks 2 --- doc/source/devref/zone.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/source/devref/zone.rst b/doc/source/devref/zone.rst index acc7398bf..234a96916 100644 --- a/doc/source/devref/zone.rst +++ b/doc/source/devref/zone.rst @@ -57,6 +57,7 @@ Zone administrative operations are usually done using python-novaclient_ In order to use the Zone operations, be sure to enable administrator operations in OpenStack API by setting the `--allow_admin_api=true` flag. +Finally you need to enable Zone Forwarding. This will be used by the Distributed Scheduler initiative currently underway. Set `--enable_zone_routing=true` to enable this feature. Find out about this Zone ------------------------ @@ -83,7 +84,7 @@ This equates to a GET operation on `.../zones/info`. If you have no child Zones Adding a child Zone ------------------- -From a parent zone you can add a child zone with the following command: +Any Zone can be a parent Zone. Children are associated to a Zone. The Zone where this command originates from is known as the Parent Zone. Routing is only ever conducted from a Zone to its children, never the other direction. From a parent zone you can add a child zone with the following command: :: @@ -123,4 +124,4 @@ Removing a child Zone nova zone-delete -This equates to a DELETE call to `.../zones/N`. The Zone with ID=N will be removed. This will only remove the zone entry from the current (parent) Zone, no child Zones are affected. +This equates to a DELETE call to `.../zones/N`. The Zone with ID=N will be removed. This will only remove the zone entry from the current (parent) Zone, no child Zones are affected. Removing a Child Zone doesn't affect any other part of the hierarchy. -- cgit From 0cf2a52218fbb801a35e5dd73e146c6c37e218e2 Mon Sep 17 00:00:00 2001 From: Kei Masumoto Date: Sat, 9 Apr 2011 02:39:18 +0900 Subject: fixed LOG level and log message phrase --- nova/compute/manager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nova/compute/manager.py b/nova/compute/manager.py index 847c3655a..c7d86e27b 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -1094,9 +1094,8 @@ class ComputeManager(manager.SchedulerDependentManager): # A situation which db record exists, but no instance" # sometimes occurs while live-migration at src compute, # this case should be ignored. - LOG.info(_("the instance '%(name)s' is not found in hypervisor" - ", while db record is found. But not synchronize " - "since it is migrating.") % locals()) + LOG.debug(_("Ignoring %(name)s, as it's currently being " + "migrated.") % locals()) continue if vm_state != db_state: -- cgit From 5deb4796bc26d98eeea94065c5098f7ce30ac2af Mon Sep 17 00:00:00 2001 From: Johannes Erdfelt Date: Fri, 8 Apr 2011 11:21:36 -0700 Subject: Short circuit non-existant device during unit tests. It won't ever be created because of the stubs used during the unit tests --- nova/virt/xenapi/vm_utils.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py index 73a1e2a3a..d2045a557 100644 --- a/nova/virt/xenapi/vm_utils.py +++ b/nova/virt/xenapi/vm_utils.py @@ -936,7 +936,11 @@ def with_vdi_attached_here(session, vdi_ref, read_only, f): if dev != orig_dev: LOG.debug(_('VBD %(vbd_ref)s plugged into wrong dev, ' 'remapping to %(dev)s') % locals()) - _wait_for_device(dev) + if dev != 'autodetect': + # NOTE(johannes): Unit tests will end up with a device called + # 'autodetect' which obviously won't exist. It's not ideal, + # but the alternatives were much messier + _wait_for_device(dev) return f(dev) finally: LOG.debug(_('Destroying VBD for VDI %s ... '), vdi_ref) -- cgit From dd212c8d1c2155582e819d00055c297e00291bd0 Mon Sep 17 00:00:00 2001 From: Sandy Walsh Date: Fri, 8 Apr 2011 15:45:42 -0300 Subject: missing 'to' --- doc/source/devref/zone.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/devref/zone.rst b/doc/source/devref/zone.rst index 234a96916..3dd9d37d3 100644 --- a/doc/source/devref/zone.rst +++ b/doc/source/devref/zone.rst @@ -17,7 +17,7 @@ Zones ===== -A Nova deployment is called a Zone. At the very least a Zone requires an API node, a Scheduler node, a database and RabbitMQ. Pushed further a Zone may contain many API nodes, many Scheduler, Volume, Network and Compute nodes as well as a cluster of databases and RabbitMQ servers. A Zone allows you partition your deployments into logical groups for load balancing and instance distribution. +A Nova deployment is called a Zone. At the very least a Zone requires an API node, a Scheduler node, a database and RabbitMQ. Pushed further a Zone may contain many API nodes, many Scheduler, Volume, Network and Compute nodes as well as a cluster of databases and RabbitMQ servers. A Zone allows you to partition your deployments into logical groups for load balancing and instance distribution. The idea behind Zones is, if a particular deployment is not capable of servicing a particular request, the request may be forwarded to (child) Zones for possible processing. Zones may be nested in a tree fashion. -- cgit From 5ea0991db9526969f100f3361661731aaf4d24d5 Mon Sep 17 00:00:00 2001 From: Brian Lamar Date: Fri, 8 Apr 2011 15:22:15 -0400 Subject: Fixes bug which hangs nova-compute when terminating an instance when using libvirt backend. --- nova/virt/libvirt_conn.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index b949e6c92..51a0a3380 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -325,12 +325,13 @@ class LibvirtConnection(driver.ComputeDriver): state = self.get_info(instance['name'])['state'] db.instance_set_state(context.get_admin_context(), instance['id'], state) - if state == power_state.SHUTDOWN: + if state == power_state.SHUTOFF: break - except Exception: + except Exception as ex: + LOG.debug(ex) db.instance_set_state(context.get_admin_context(), instance['id'], - power_state.SHUTDOWN) + power_state.SHUTOFF) break self.firewall_driver.unfilter_instance(instance) -- cgit From a1c40feb0cd592829b63df1cf19109bc322f81a7 Mon Sep 17 00:00:00 2001 From: Brian Lamar Date: Fri, 8 Apr 2011 15:54:17 -0400 Subject: Added error message to exception logging. --- nova/virt/libvirt_conn.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 51a0a3380..bfa9ff688 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -328,7 +328,9 @@ class LibvirtConnection(driver.ComputeDriver): if state == power_state.SHUTOFF: break except Exception as ex: - LOG.debug(ex) + msg = _("Error encountered when destroying instance '%(id)s': " + "%(ex)s") % locals().update({"id": instance["id"]}) + LOG.debug(msg) db.instance_set_state(context.get_admin_context(), instance['id'], power_state.SHUTOFF) -- cgit From 5632baa79da2164457f75a240c5c497027c49fca Mon Sep 17 00:00:00 2001 From: Ken Pepple Date: Fri, 8 Apr 2011 14:36:27 -0700 Subject: pep8 --- bin/nova-manage | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/nova-manage b/bin/nova-manage index ab35e2c74..adc631318 100755 --- a/bin/nova-manage +++ b/bin/nova-manage @@ -572,7 +572,7 @@ class VmCommands(object): def list(self, host=None): """Show a list of all instances - + :param host: show all instance on specified host. :param instance: show specificed instance. """ -- cgit From 79ebe165f255037b0d5eaad7afe81b51cf85ed63 Mon Sep 17 00:00:00 2001 From: Brian Lamar Date: Sat, 9 Apr 2011 11:08:47 -0400 Subject: Fixed log message gaffe. --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index bfa9ff688..9c665ab15 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -329,7 +329,7 @@ class LibvirtConnection(driver.ComputeDriver): break except Exception as ex: msg = _("Error encountered when destroying instance '%(id)s': " - "%(ex)s") % locals().update({"id": instance["id"]}) + "%(ex)s") % {"id": instance["id"], "ex": ex} LOG.debug(msg) db.instance_set_state(context.get_admin_context(), instance['id'], -- cgit From a572b49e376cd6da4265c2807eaed8f0a2daf954 Mon Sep 17 00:00:00 2001 From: Justin SB Date: Sat, 9 Apr 2011 11:57:14 -0700 Subject: Remove the XML definition when we destroy a machine --- nova/virt/libvirt_conn.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index b949e6c92..1ad6f8b32 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -309,10 +309,18 @@ class LibvirtConnection(driver.ComputeDriver): return infos def destroy(self, instance, cleanup=True): + name = instance['name'] try: - virt_dom = self._conn.lookupByName(instance['name']) + virt_dom = self._conn.lookupByName(name) virt_dom.destroy() - except Exception as _err: + # NOTE(justinsb): We remove the domain definition. We probably + # would do better to keep it if cleanup=False (e.g. volumes?) + # (e.g. #2 - not losing machines on failure) + virt_dom.undefine() + except Exception as e: + # TODO(justinsb): We really should check the error is 'not found' + LOG.warn(_("Ignoring error destroying domain %(name)s: %(e)s") % + locals()) pass # If the instance is already terminated, we're still happy -- cgit From be386ee614777212da2a14ebd8211f4b3d90ce66 Mon Sep 17 00:00:00 2001 From: Justin SB Date: Sat, 9 Apr 2011 12:33:24 -0700 Subject: Split logic on shutdown and undefine, so that even if the machine is already shutdown we will be able to proceed --- nova/virt/libvirt_conn.py | 53 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 13 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 1ad6f8b32..47eb17abb 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -309,20 +309,47 @@ class LibvirtConnection(driver.ComputeDriver): return infos def destroy(self, instance, cleanup=True): - name = instance['name'] + instance_name = instance['name'] + + # TODO(justinsb): Refactor all lookupByName calls for error-handling try: - virt_dom = self._conn.lookupByName(name) - virt_dom.destroy() - # NOTE(justinsb): We remove the domain definition. We probably - # would do better to keep it if cleanup=False (e.g. volumes?) - # (e.g. #2 - not losing machines on failure) - virt_dom.undefine() - except Exception as e: - # TODO(justinsb): We really should check the error is 'not found' - LOG.warn(_("Ignoring error destroying domain %(name)s: %(e)s") % - locals()) - pass - # If the instance is already terminated, we're still happy + virt_dom = self._conn.lookupByName(instance_name) + except libvirt.libvirtError as e: + errcode = e.get_error_code() + if errcode == libvirt.VIR_ERR_NO_DOMAIN: + virt_dom = None + else: + LOG.warning(_("Error from libvirt during lookup of " + "%(instance_name)s. Code=%(errcode)s " + "Error=%(e)s") % + locals()) + raise + + # If the instance is already terminated, we're still happy + # Otherwise, destroy it + if virt_dom is not None: + try: + virt_dom.destroy() + except libvirt.libvirtError as e: + errcode = e.get_error_code() + LOG.warning(_("Error from libvirt during destroy of " + "%(instance_name)s. Code=%(errcode)s " + "Error=%(e)s") % + locals()) + raise + + try: + # NOTE(justinsb): We remove the domain definition. We probably + # would do better to keep it if cleanup=False (e.g. volumes?) + # (e.g. #2 - not losing machines on failure) + virt_dom.undefine() + except libvirt.libvirtError as e: + errcode = e.get_error_code() + LOG.warning(_("Error from libvirt during undefine of " + "%(instance_name)s. Code=%(errcode)s " + "Error=%(e)s") % + locals()) + raise # We'll save this for when we do shutdown, # instead of destroy - but destroy returns immediately -- cgit From c6923ec603288e1d46fdb80e874c8e71361442f5 Mon Sep 17 00:00:00 2001 From: Justin SB Date: Sat, 9 Apr 2011 12:41:30 -0700 Subject: Handle the case when the machine is already SHUTOFF --- nova/virt/libvirt_conn.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 47eb17abb..7771aad7a 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -331,12 +331,22 @@ class LibvirtConnection(driver.ComputeDriver): try: virt_dom.destroy() except libvirt.libvirtError as e: + is_okay = False errcode = e.get_error_code() - LOG.warning(_("Error from libvirt during destroy of " - "%(instance_name)s. Code=%(errcode)s " - "Error=%(e)s") % - locals()) - raise + if errcode == libvirt.VIR_ERR_OPERATION_INVALID: + # If the instance if already shut off, we get this: + # Code=55 Error=Requested operation is not valid: + # domain is not running + (state, _, _, _, _) = virt_dom.info() + if state == power_state.SHUTOFF: + is_okay = True + + if not is_okay: + LOG.warning(_("Error from libvirt during destroy of " + "%(instance_name)s. Code=%(errcode)s " + "Error=%(e)s") % + locals()) + raise try: # NOTE(justinsb): We remove the domain definition. We probably -- cgit From f59f8e8fcbde6f0d8d4c19b00bfc5f4141287772 Mon Sep 17 00:00:00 2001 From: Justin SB Date: Sat, 9 Apr 2011 12:57:32 -0700 Subject: Ooops - redefining the _ variable seems like a _really_ bad idea --- nova/virt/libvirt_conn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/virt/libvirt_conn.py b/nova/virt/libvirt_conn.py index 7771aad7a..22b0e1103 100644 --- a/nova/virt/libvirt_conn.py +++ b/nova/virt/libvirt_conn.py @@ -337,7 +337,7 @@ class LibvirtConnection(driver.ComputeDriver): # If the instance if already shut off, we get this: # Code=55 Error=Requested operation is not valid: # domain is not running - (state, _, _, _, _) = virt_dom.info() + (state, _max_mem, _mem, _cpus, _t) = virt_dom.info() if state == power_state.SHUTOFF: is_okay = True -- cgit From 5752838917237e7b86a64117f46c71d1c2a356f3 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Mon, 11 Apr 2011 16:18:18 +0200 Subject: Replace instance ref from compute.api.get_all with one from instance_get. This should ensure it gets fully populated with all the relevant attributes. --- nova/api/ec2/cloud.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 651ec47f9..83c894bea 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -142,6 +142,11 @@ class CloudController(object): instance_ref = self.compute_api.get_all(ctxt, fixed_ip=address) if instance_ref is None: return None + + # This ensures that all attributes of the instance + # are populated. + instance_ref = db.instance_get(ctxt, instance_ref['id']) + mpi = self._get_mpi_data(ctxt, instance_ref['project_id']) if instance_ref['key_name']: keys = {'0': {'_name': instance_ref['key_name'], -- cgit From 21fd04c34487b97f7d1ed199773cf80e9ab60839 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Mon, 11 Apr 2011 15:56:36 +0000 Subject: fix reference to genvpn to point to the right shell script --- nova/crypto.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/crypto.py b/nova/crypto.py index 9b1897926..605be2a32 100644 --- a/nova/crypto.py +++ b/nova/crypto.py @@ -232,7 +232,7 @@ def generate_vpn_files(project_id): genvpn_sh_path = os.path.join(os.path.dirname(__file__), 'CA', - 'geninter.sh') + 'genvpn.sh') if os.path.exists(crt_fn): return _ensure_project_folder(project_id) -- cgit From 07c1f30225fb27cbc8e7cfeebc6a73ec67a7f2e5 Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 12 Apr 2011 09:41:42 +0200 Subject: pep8 --- nova/api/ec2/cloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 83c894bea..5e81878c4 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -144,7 +144,7 @@ class CloudController(object): return None # This ensures that all attributes of the instance - # are populated. + # are populated. instance_ref = db.instance_get(ctxt, instance_ref['id']) mpi = self._get_mpi_data(ctxt, instance_ref['project_id']) -- cgit