diff -Nru cinder-8.0.0/AUTHORS cinder-8.1.0/AUTHORS --- cinder-8.0.0/AUTHORS 2016-04-07 07:33:54.000000000 +0000 +++ cinder-8.1.0/AUTHORS 2016-08-09 15:34:50.000000000 +0000 @@ -3,6 +3,7 @@ Abhilash Divakaran Abhinav Srivastava Abhiram Moturi +Abhishek Kekane Abhishek Lekshmanan Abhishek Shrivastava Accela Zhao @@ -56,6 +57,7 @@ Anthony Young Anton Arefiev Anton Frolov +Arata Notsu ArkadyKanevsky Arne Wiebalck Aswad Rangnekar @@ -85,6 +87,7 @@ Brianna Poulos Bridget McGinnis Bryan D. Payne +Cao ShuFeng Carlos Goncalves Cedric Zhuang Cedric Zhuang @@ -211,6 +214,7 @@ Gorka Eguileor Goutham Pacha Ravi Guan Qiang +Gyorgy Szombathelyi Hahyun Hai-Xu Cheng Haiwei Xu @@ -235,12 +239,15 @@ Jacob M. Jacob James Carey James E. Blair +Jamie Lennox Jamie Lennox Jasakov Artem Jason Ni Javeme +Jay Conroy Jay Lau Jay Lee +Jay Mehta Jay Payne Jay S Bryant Jay S. Bryant @@ -318,6 +325,7 @@ Liu Xinguo <295988511@qq.com> LiuNanke LiuSheng +Liucheng Jiang Lucas Alvares Gomes Lucian Petrut Lucian Petrut @@ -332,6 +340,7 @@ Marc Koderer Marc Koderer Marian Horban +Mark McDonagh Mark McLoughlin Mark Sturdevant Martin Kletzander @@ -346,6 +355,7 @@ Matthew Treinish Matthew Treinish Mehdi Abaakouk +Mehdi Abaakouk Mehdi Abaakouk Meir Kriheli Michael Basnight @@ -459,6 +469,7 @@ Sascha Peilicke Sascha Peilicke Sasikanth +Saverio Proto Scott DAngelo Scott Devoid Sean Chen @@ -622,6 +633,7 @@ apoorvad appsdesh april +bhagyashris caoyue chadlung chaochin @@ -665,6 +677,7 @@ liudong liuke2 liuqing +liusu liuxinguo liyingjun liyingjun @@ -720,11 +733,13 @@ xiaolei hu xiaoxi_chen xiexs +xing-yang xqli-openstack yatin karel yehia-beyh yoan desbordes yogeshprasad +yuriy_n zhangchao010 zhangchunlong1@huawei.com zhangguoqing diff -Nru cinder-8.0.0/ChangeLog cinder-8.1.0/ChangeLog --- cinder-8.0.0/ChangeLog 2016-04-07 07:33:53.000000000 +0000 +++ cinder-8.1.0/ChangeLog 2016-08-09 15:34:50.000000000 +0000 @@ -1,6 +1,80 @@ CHANGES ======= +8.1.0 +----- + +* Add proxy config option to google backup driver +* 3par driver handles concurrent host create conflict +* Add lock decorator to SolidFire clone_image method +* volume upload-to-image fails for iso disk-format +* Imported Translations from Zanata +* Dell SC: Do not set High Availability in async mode +* Dell SC: Specify High Availability for create replication +* Allow admin project to operate on all quotas +* Set QoS on cloned volumes +* Handle SSL termination proxies for version list +* update min tox version to 2.0 +* Fix failure with "None" volume type in Pure drivers +* Don't apply config fixture to auth_token.CONF +* Imported Translations from Zanata +* Log terminate_connection exception with traceback +* VMware: Fix create vol from streamOptimized image +* VMware:Persist storage policy ID in vmdk meta-data +* Fix backup using temp snapshot code path +* Call _init_volume_driver in backup manager +* 3PAR: Fix delete volume when online clone +* Use manifest to backport OVOs during upgrades +* remove extra quota commit of manage snapshot +* 3PAR driver failure SR License missing in array +* Updated from global requirements +* VMware: Support for paraVirtual image adapter type +* Return BadRequest for invalid 4byte unicode character +* Huawei: Raise if no FC port found +* Switch to using correct TaskFlow Failure class +* gpfs: Add changed options for 'find' command in rootwrap filters +* Coho Data: Reconnect to cluster on broken pipe +* Fix typo in function call manager.py +* Fix Brcd lookup service to use defined southbound protocol +* Brocade FCZM: Fix LOGOUT_PAGE reference +* use stable/mitaka upper-constraints +* Don't disallow quota deletion if allocated < 0 +* Fix retype from non-repl to repl type in Pure drivers +* Fix image-volume cache to use volume object when evicting +* Fix AttributeError when obtaining 'name' attribute from 'snap' +* gpfs: remove a race in deleting volumes +* 3PAR Clean up VLUN deletion on detach +* model_update for temp volume or snapshot in backup +* Remove object to dictionary translation logic +* NetApp: Use Local Cache to Copy an Available Image +* Manage existing volume with invalid host +* Fix taskflow parameters for manage_existing +* Support https keystone CA checking in volume quotas +* Updated from global requirements +* Add provider_location to cloned volume +* image: don't use is_public with glance V2 API +* Imported Translations from Zanata +* Huawei: Do not do split if replication pair abnormal +* Imported Translations from Zanata +* Fix RPC and Object version pinning on API +* Updated from global requirements +* Imported Translations from Zanata +* Cleanup volume_attachment in case of reset-state attach_status +* Fix service version pinning on start +* Updated from global requirements +* RBD: delete snapshots if missing in the backend +* VMware: Support for non-default port +* Remove "patch mock to raise for invalid assert calls" +* Fix volume retype failure with on-demand policy +* Imported Translations from Zanata +* rtstool surrounds IPv6 addresses by brackets +* Imported Translations from Zanata +* Dont query image metadata for empty volume list +* Dell SC: Error results moved to json +* VNX: Add 'None' check in parsing provider location +* Imported Translations from Zanata +* Imported Translations from Zanata + 8.0.0 ----- @@ -848,7 +922,7 @@ * Updated from global requirements * Fix broken format string in vol mgr log * Detach volume on device validation failure -* Convert Retry-After header parameter value to string +* Convert Retry-After header parameter value to string * Fix capacity report error in Huawei driver * emc vmax driver: use integer division for Python 3 * VMAX Target iSCSI IP Address @@ -1898,7 +1972,7 @@ * Fix Cinder logs to show authentication error in RBD driver * Update hacking check for oslo_log * Add is_ready method to scheduler driver -* Fix for inconsistent cinder-services state change +* Fix for inconsistent cinder-services state change * Fix HNAS iSCSI driver error on LUN creation * Datera driver looks for lun-0 instead lun-1 now * Use oslo.log instead of oslo-incubator @@ -3140,7 +3214,7 @@ * Sync request_id, request_utils for cinder * IBM XIV and DS8000 Driver reorganizing (IBM dir) * Sync oslo imageutils, strutils to cinder -* GPFS: Implement volume backup and restore +* GPFS: Implement volume backup and restore * Fix missing package dependency for requests * test_volume unittest fails if ran only this module * Fix invalid facilities documented in rootwrap.conf @@ -3994,7 +4068,7 @@ * Add tests for cinder/api/urlmap.py * remove improper assert usage * Enable setting blocksize on volumes -* cinder.api: Replace 'locals()' with explicit values +* cinder.api: Replace 'locals()' with explicit values * Update upper bound of keystoneclient version * Fix missing volume_name_template flag * Change check-detach to reject more states @@ -4049,7 +4123,7 @@ * Register used CONF entries in cinder.api.common.py * Fix and enable gating on H401 * Do not raise NEW exceptions -* cinder.[brick,db,image] Replace 'locals()' +* cinder.[brick,db,image] Replace 'locals()' * Update kombu requirement * Remove usage of locals() for formatting from cinder.tests.* * Adds create_from_volume test cases @@ -4379,10 +4453,6 @@ * Fixed cinder-backup start errors seen with devstack * Cinder devref doc cleanups * Fix various exception paths - -2013.1.g3 ---------- - * Implement metadata options for snapshots * Skip timestamp check if 'capabilities' is none * Fix stale volume list for NetApp 7-mode ISCSI driver @@ -4398,7 +4468,7 @@ * rbd: implement get_volume_stats() * Handle maxclonepervolume/node limits in SF driver * Use oslo-config-2013.1b3 -* Fix syntax error in cinder-volume-usage-audit +* Fix syntax error in cinder-volume-usage-audit * HP 3PAR Fibre Channel Driver and iSCSI Updates * Fibre Channel base class for Cinder drivers * Update cinder-manage to use FLAGS.log_dir @@ -4496,10 +4566,6 @@ * Implement filter scheduler * Revert "Implement filter scheduler" * Update SolidFire Volume driver - -grizzly-2 ---------- - * Provide HP 3PAR array iSCSI driver * Fix CinderClient exception name in EMCISCSIDriver * Enable cinder exception format checking in tests @@ -4556,10 +4622,6 @@ * use O_DIRECT when copying from /dev/zero too * Add CONTRIBUTING file * Add the persistency to the volume created by iscsi IET - -grizzly-1 ---------- - * adding copy of v1 as v2 * Moving contrib to cinder.api * Moving api v1 implementation into v1 directory @@ -4698,7 +4760,7 @@ * Fix bug where image size is incorrectly rejected * Several hacking compliance fixes * Remove Cheetah from pip-requires -* Update dev docs * Quick pass at implementing the basics for cinder dev docs * Remove the N/A compute related stuff * Clean up the architecture a bit to only show cinder related * Remove various modules form TOC's that aren't applicable +* Update dev docs * Quick pass at implementing the basics for cinder dev docs * Remove the N/A compute related stuff * Clean up the architecture a bit to only show cinder related * Remove various modules form TOC's that aren't applicable * Typo fix: nova => cinder * Move newly created NFS exceptions to standard location in exception.py Addresses bug 1037619 * Add admin actions extension @@ -4725,10 +4787,6 @@ * Call driver for attach/detach_volume * Fix spelling typos * Remove unused function - -folsom-3 --------- - * blueprint zadara-volume-driver * Adding the volume notifications to cinder * add ability to clone images @@ -4815,11 +4873,7 @@ * Remove unused db api methods * Create single initial Cinder DB migration file * Updated HpSanISCSIDriver to use initialize/terminate methods - -folsom-2 --------- - -* Pruned Authors file to active contributors (from nova-volumes +* Pruned Authors file to active contributors (from nova-volumes) * Move nova-manage.rst to cinder-manage.rst * Add action extensions to support nova integration * Revert "Add action extensions to support nova integration." diff -Nru cinder-8.0.0/cinder/api/contrib/admin_actions.py cinder-8.1.0/cinder/api/contrib/admin_actions.py --- cinder-8.0.0/cinder/api/contrib/admin_actions.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/api/contrib/admin_actions.py 2016-08-09 15:32:57.000000000 +0000 @@ -80,6 +80,15 @@ @wsgi.action('os-reset_status') def _reset_status(self, req, id, body): """Reset status on the resource.""" + + def _clean_volume_attachment(context, id): + attachments = ( + db.volume_attachment_get_used_by_volume_id(context, id)) + for attachment in attachments: + db.volume_detached(context, id, attachment.id) + db.volume_admin_metadata_delete(context, id, + 'attached_mode') + context = req.environ['cinder.context'] self.authorize(context, 'reset_status') update = self.validate_update(body['os-reset_status']) @@ -94,6 +103,8 @@ try: self._update(context, id, update) + if update.get('attach_status') == 'detached': + _clean_volume_attachment(context, id) except exception.VolumeNotFound as e: raise exc.HTTPNotFound(explanation=e.msg) diff -Nru cinder-8.0.0/cinder/api/contrib/quotas.py cinder-8.1.0/cinder/api/contrib/quotas.py --- cinder-8.0.0/cinder/api/contrib/quotas.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/api/contrib/quotas.py 2016-08-09 15:32:57.000000000 +0000 @@ -98,6 +98,10 @@ :param parent_id: The parent id of the project in which the user want to perform an update or delete operation. """ + if context_project.is_admin_project: + # The calling project has admin privileges and should be able + # to operate on all quotas. + return if context_project.parent_id and parent_id != context_project.id: msg = _("Update and delete quota operations can only be made " "by an admin of immediate parent or by the CLOUD admin.") @@ -118,15 +122,20 @@ def _authorize_show(self, context_project, target_project): """Checks if show is allowed in the current hierarchy. - With hierarchical projects, are allowed to perform quota show operation - users with admin role in, at least, one of the following projects: the - current project; the immediate parent project; or the root project. + With hierarchical projects, users are allowed to perform a quota show + operation if they have the cloud admin role or if they belong to at + least one of the following projects: the target project, its immediate + parent project, or the root project of its hierarchy. :param context_project: The project in which the user is scoped to. :param target_project: The project in which the user wants to perform a show operation. """ + if context_project.is_admin_project: + # The calling project has admin privileges and should be able + # to view all quotas. + return if target_project.parent_id: if target_project.id != context_project.id: if not self._is_descendant(target_project.id, @@ -184,7 +193,8 @@ target_project = quota_utils.get_project_hierarchy( context, target_project_id) context_project = quota_utils.get_project_hierarchy( - context, context.project_id, subtree_as_ids=True) + context, context.project_id, subtree_as_ids=True, + is_admin_project=context.is_admin) self._authorize_show(context_project, target_project) @@ -253,7 +263,8 @@ # Get the children of the project which the token is scoped to # in order to know if the target_project is in its hierarchy. context_project = quota_utils.get_project_hierarchy( - context, context.project_id, subtree_as_ids=True) + context, context.project_id, subtree_as_ids=True, + is_admin_project=context.is_admin) self._authorize_update_or_delete(context_project, target_project.id, parent_id) @@ -395,7 +406,7 @@ # deleted first. for res, value in project_quotas.items(): if 'allocated' in project_quotas[res].keys(): - if project_quotas[res]['allocated'] != 0: + if project_quotas[res]['allocated'] > 0: msg = _("About to delete child projects having " "non-zero quota. This should not be performed") raise webob.exc.HTTPBadRequest(explanation=msg) diff -Nru cinder-8.0.0/cinder/api/contrib/volume_actions.py cinder-8.1.0/cinder/api/contrib/volume_actions.py --- cinder-8.0.0/cinder/api/contrib/volume_actions.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/api/contrib/volume_actions.py 2016-08-09 15:32:57.000000000 +0000 @@ -25,6 +25,7 @@ from cinder.api import xmlutil from cinder import exception from cinder.i18n import _ +from cinder.image import image_utils from cinder import utils from cinder import volume @@ -272,10 +273,22 @@ raise webob.exc.HTTPNotFound(explanation=error.msg) authorize(context, "upload_image") - image_metadata = {"container_format": params.get("container_format", - "bare"), - "disk_format": params.get("disk_format", "raw"), - "name": params["image_name"]} + # check for valid disk-format + disk_format = params.get("disk_format", "raw") + if not image_utils.validate_disk_format(disk_format): + msg = _("Invalid disk-format '%(disk_format)s' is specified. " + "Allowed disk-formats are %(allowed_disk_formats)s.") % { + "disk_format": disk_format, + "allowed_disk_formats": ", ".join( + image_utils.VALID_DISK_FORMATS) + } + raise webob.exc.HTTPBadRequest(explanation=msg) + + image_metadata = {"container_format": params.get( + "container_format", "bare"), + "disk_format": disk_format, + "name": params["image_name"]} + try: response = self.volume_api.copy_volume_to_image(context, volume, diff -Nru cinder-8.0.0/cinder/api/contrib/volume_image_metadata.py cinder-8.1.0/cinder/api/contrib/volume_image_metadata.py --- cinder-8.0.0/cinder/api/contrib/volume_image_metadata.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/api/contrib/volume_image_metadata.py 2016-08-09 15:32:57.000000000 +0000 @@ -13,7 +13,6 @@ # under the License. """The Volume Image Metadata API extension.""" -import six import webob from oslo_log import log as logging @@ -47,16 +46,6 @@ raise webob.exc.HTTPNotFound(explanation=msg) return (volume, meta) - def _get_all_images_metadata(self, context): - """Returns the image metadata for all volumes.""" - try: - all_metadata = self.volume_api.get_volumes_image_metadata(context) - except Exception as e: - LOG.debug('Problem retrieving volume image metadata. ' - 'It will be skipped. Error: %s', six.text_type(e)) - all_metadata = {} - return all_metadata - def _add_image_metadata(self, context, resp_volume_list, image_metas=None): """Appends the image metadata to each of the given volume. @@ -95,8 +84,9 @@ if authorize(context): resp_obj.attach(xml=VolumesImageMetadataTemplate()) # Just get the image metadata of those volumes in response. - self._add_image_metadata(context, - list(resp_obj.obj.get('volumes', []))) + volumes = list(resp_obj.obj.get('volumes', [])) + if volumes: + self._add_image_metadata(context, volumes) @wsgi.action("os-set_image_metadata") @wsgi.serializers(xml=common.MetadataTemplate) diff -Nru cinder-8.0.0/cinder/api/contrib/volume_manage.py cinder-8.1.0/cinder/api/contrib/volume_manage.py --- cinder-8.0.0/cinder/api/contrib/volume_manage.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/api/contrib/volume_manage.py 2016-08-09 15:32:57.000000000 +0000 @@ -137,9 +137,8 @@ volume['host'], volume['ref'], **kwargs) - except exception.ServiceNotFound: - msg = _("Service not found.") - raise exc.HTTPNotFound(explanation=msg) + except exception.ServiceNotFound as error: + raise exc.HTTPNotFound(explanation=error.msg) utils.add_visible_admin_metadata(new_volume) diff -Nru cinder-8.0.0/cinder/backup/drivers/google.py cinder-8.1.0/cinder/backup/drivers/google.py --- cinder-8.0.0/cinder/backup/drivers/google.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/backup/drivers/google.py 2016-08-09 15:32:57.000000000 +0000 @@ -90,6 +90,10 @@ 'progress notifications to Ceilometer when backing ' 'up the volume to the GCS backend storage. The ' 'default value is True to enable the timer.'), + cfg.StrOpt('backup_gcs_proxy_url', + help='URL for http proxy access.', + secret=True), + ] CONF = cfg.CONF @@ -132,14 +136,21 @@ self.bucket_location = CONF.backup_gcs_bucket_location self.storage_class = CONF.backup_gcs_storage_class self.num_retries = CONF.backup_gcs_num_retries - http_user_agent = http.set_user_agent(httplib2.Http(), - CONF.backup_gcs_user_agent) + http_user_agent = http.set_user_agent( + httplib2.Http(proxy_info=self.get_gcs_proxy_info()), + CONF.backup_gcs_user_agent) self.conn = discovery.build('storage', 'v1', http=http_user_agent, credentials=credentials) self.resumable = self.writer_chunk_size != -1 + def get_gcs_proxy_info(self): + if CONF.backup_gcs_proxy_url: + return httplib2.proxy_info_from_url(CONF.backup_gcs_proxy_url) + else: + return httplib2.proxy_info_from_environment() + def check_gcs_options(self): required_options = ('backup_gcs_bucket', 'backup_gcs_credential_file', 'backup_gcs_project_id') diff -Nru cinder-8.0.0/cinder/backup/manager.py cinder-8.1.0/cinder/backup/manager.py --- cinder-8.0.0/cinder/backup/manager.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/backup/manager.py 2016-08-09 15:32:57.000000000 +0000 @@ -89,12 +89,103 @@ self.service = importutils.import_module(self.driver_name) self.az = CONF.storage_availability_zone self.volume_managers = {} + # TODO(xyang): If backup_use_same_host is True, we'll find + # the volume backend on the backup node. This allows us + # to use a temp snapshot to backup an in-use volume if the + # driver supports it. This code should go away when we add + # support for backing up in-use volume using a temp snapshot + # on a remote node. + if CONF.backup_use_same_host: + self._setup_volume_drivers() self.backup_rpcapi = backup_rpcapi.BackupAPI() self.volume_rpcapi = volume_rpcapi.VolumeAPI() super(BackupManager, self).__init__(service_name='backup', *args, **kwargs) self.additional_endpoints.append(_BackupV1Proxy(self)) + def _init_volume_driver(self, ctxt, driver): + LOG.info(_LI("Starting volume driver %(driver_name)s (%(version)s)."), + {'driver_name': driver.__class__.__name__, + 'version': driver.get_version()}) + try: + driver.do_setup(ctxt) + driver.check_for_setup_error() + except Exception: + LOG.exception(_LE("Error encountered during initialization of " + "driver: %(name)s."), + {'name': driver.__class__.__name__}) + # we don't want to continue since we failed + # to initialize the driver correctly. + return + + driver.set_initialized() + + def _get_volume_backend(self, host=None, allow_null_host=False): + if host is None: + if not allow_null_host: + msg = _("NULL host not allowed for volume backend lookup.") + raise exception.BackupFailedToGetVolumeBackend(msg) + else: + LOG.debug("Checking hostname '%s' for backend info.", host) + # NOTE(xyang): If host='myhost@lvmdriver', backend='lvmdriver' + # by the logic below. This is different from extract_host. + # vol_utils.extract_host(host, 'backend')='myhost@lvmdriver'. + part = host.partition('@') + if (part[1] == '@') and (part[2] != ''): + backend = part[2] + LOG.debug("Got backend '%s'.", backend) + return backend + + LOG.info(_LI("Backend not found in hostname (%s) so using default."), + host) + + if 'default' not in self.volume_managers: + # For multi-backend we just pick the top of the list. + return self.volume_managers.keys()[0] + + return 'default' + + def _get_manager(self, backend): + LOG.debug("Manager requested for volume_backend '%s'.", + backend) + if backend is None: + LOG.debug("Fetching default backend.") + backend = self._get_volume_backend(allow_null_host=True) + if backend not in self.volume_managers: + msg = (_("Volume manager for backend '%s' does not exist.") % + (backend)) + raise exception.BackupFailedToGetVolumeBackend(msg) + return self.volume_managers[backend] + + def _get_driver(self, backend=None): + LOG.debug("Driver requested for volume_backend '%s'.", + backend) + if backend is None: + LOG.debug("Fetching default backend.") + backend = self._get_volume_backend(allow_null_host=True) + mgr = self._get_manager(backend) + mgr.driver.db = self.db + return mgr.driver + + def _setup_volume_drivers(self): + if CONF.enabled_backends: + for backend in CONF.enabled_backends: + host = "%s@%s" % (CONF.host, backend) + mgr = importutils.import_object(CONF.volume_manager, + host=host, + service_name=backend) + config = mgr.configuration + backend_name = config.safe_get('volume_backend_name') + LOG.debug("Registering backend %(backend)s (host=%(host)s " + "backend_name=%(backend_name)s).", + {'backend': backend, 'host': host, + 'backend_name': backend_name}) + self.volume_managers[backend] = mgr + else: + default = importutils.import_object(CONF.volume_manager) + LOG.debug("Registering default backend %s.", default) + self.volume_managers['default'] = default + @property def driver_name(self): """This function maps old backup services to backup drivers.""" @@ -117,6 +208,9 @@ """Run initialization needed for a standalone service.""" ctxt = context.get_admin_context() + for mgr in self.volume_managers.values(): + self._init_volume_driver(ctxt, mgr.driver) + try: self._cleanup_incomplete_backup_operations(ctxt) except Exception: @@ -809,8 +903,12 @@ if not is_snapshot: return self._attach_volume(context, backup_device, properties) else: - msg = _("Can't attach snapshot.") - raise NotImplementedError(msg) + volume = self.db.volume_get(context, backup_device.volume_id) + host = volume_utils.extract_host(volume['host'], 'backend') + backend = self._get_volume_backend(host=host) + rc = self._get_driver(backend)._attach_snapshot( + context, backup_device, properties) + return rc def _attach_volume(self, context, volume, properties): """Attach a volume.""" @@ -846,16 +944,24 @@ return {'conn': conn, 'device': vol_handle, 'connector': connector} - def _detach_device(self, context, attach_info, volume, + def _detach_device(self, context, attach_info, device, properties, is_snapshot=False, force=False): - """Disconnect the volume from the host. """ + """Disconnect the volume or snapshot from the host. """ connector = attach_info['connector'] connector.disconnect_volume(attach_info['conn']['data'], attach_info['device']) rpcapi = self.volume_rpcapi - rpcapi.terminate_connection(context, volume, properties, force=force) - rpcapi.remove_export(context, volume) + if not is_snapshot: + rpcapi.terminate_connection(context, device, properties, + force=force) + rpcapi.remove_export(context, device) + else: + volume = self.db.volume_get(context, device.volume_id) + host = volume_utils.extract_host(volume['host'], 'backend') + backend = self._get_volume_backend(host=host) + self._get_driver(backend)._detach_snapshot( + context, attach_info, device, properties, force) # TODO(dulek): This goes away immediately in Newton and is just present in diff -Nru cinder-8.0.0/cinder/cmd/rtstool.py cinder-8.1.0/cinder/cmd/rtstool.py --- cinder-8.0.0/cinder/cmd/rtstool.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/cmd/rtstool.py 2016-08-09 15:32:54.000000000 +0000 @@ -82,14 +82,15 @@ # If no ips are given we'll bind to all IPv4 and v6 if not portals_ips: - portals_ips = ('0.0.0.0', '::0') + portals_ips = ('0.0.0.0', '[::0]') # TODO(emh): Binding to IPv6 fails sometimes -- let pass for now. - ips_allow_fail = ('::0',) + ips_allow_fail = ('[::0]',) for ip in portals_ips: try: - portal = rtslib_fb.NetworkPortal(tpg_new, ip, portals_port, - mode='any') + # rtslib expects IPv6 addresses to be surrounded by brackets + portal = rtslib_fb.NetworkPortal(tpg_new, _canonicalize_ip(ip), + portals_port, mode='any') except rtslib_fb.utils.RTSLibError: raise_exc = ip not in ips_allow_fail msg_type = 'Error' if raise_exc else 'Warning' @@ -258,6 +259,12 @@ return optional_args +def _canonicalize_ip(ip): + if ip.startswith('[') or "." in ip: + return ip + return "[" + ip + "]" + + def main(argv=None): if argv is None: argv = sys.argv diff -Nru cinder-8.0.0/cinder/db/sqlalchemy/api.py cinder-8.1.0/cinder/db/sqlalchemy/api.py --- cinder-8.0.0/cinder/db/sqlalchemy/api.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/db/sqlalchemy/api.py 2016-08-09 15:32:57.000000000 +0000 @@ -2060,6 +2060,7 @@ @require_context @require_volume_exists +@handle_db_data_error @_retry_on_deadlock def volume_metadata_update(context, volume_id, metadata, delete, meta_type): if meta_type == common.METADATA_TYPES.user: @@ -2432,6 +2433,7 @@ @require_context @require_snapshot_exists +@handle_db_data_error @_retry_on_deadlock def snapshot_metadata_update(context, snapshot_id, metadata, delete): session = get_session() @@ -3858,6 +3860,7 @@ @require_context +@handle_db_data_error def transfer_create(context, values): if not values.get('id'): values['id'] = str(uuid.uuid4()) diff -Nru cinder-8.0.0/cinder/exception.py cinder-8.1.0/cinder/exception.py --- cinder-8.0.0/cinder/exception.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/exception.py 2016-08-09 15:32:57.000000000 +0000 @@ -758,6 +758,11 @@ ObjectFieldInvalid = obj_exc.ObjectFieldInvalid +class CappedVersionUnknown(CinderException): + message = _('Unrecoverable Error: Versioned Objects in DB are capped to ' + 'unknown version %(version)s.') + + class VolumeGroupNotFound(CinderException): message = _('Unable to find Volume Group: %(vg_name)s') diff -Nru cinder-8.0.0/cinder/image/cache.py cinder-8.1.0/cinder/image/cache.py --- cinder-8.0.0/cinder/image/cache.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/image/cache.py 2016-08-09 15:32:57.000000000 +0000 @@ -20,6 +20,7 @@ from oslo_utils import timeutils from cinder.i18n import _LW +from cinder import objects from cinder import rpc CONF = cfg.CONF @@ -191,10 +192,10 @@ def _delete_image_volume(self, context, cache_entry): """Delete a volume and remove cache entry.""" - volume_ref = self.db.volume_get(context, cache_entry['volume_id']) + volume = objects.Volume.get_by_id(context, cache_entry['volume_id']) # Delete will evict the cache entry. - self.volume_api.delete(context, volume_ref) + self.volume_api.delete(context, volume) def _get_image_volume_name(self, image_id): return 'image-volume-' + image_id diff -Nru cinder-8.0.0/cinder/image/glance.py cinder-8.1.0/cinder/image/glance.py --- cinder-8.0.0/cinder/image/glance.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/image/glance.py 2016-08-09 15:32:57.000000000 +0000 @@ -225,10 +225,15 @@ if param in params: _params[param] = params.get(param) - # ensure filters is a dict - _params.setdefault('filters', {}) - # NOTE(vish): don't filter out private images - _params['filters'].setdefault('is_public', 'none') + # NOTE(geguileo): We set is_public default value for v1 because we want + # to retrieve all images by default. We don't need to send v2 + # equivalent - "visible" - because its default value when omited is + # "public, private, shared", which will return all. + if CONF.glance_api_version <= 1: + # ensure filters is a dict + _params.setdefault('filters', {}) + # NOTE(vish): don't filter out private images + _params['filters'].setdefault('is_public', 'none') return _params diff -Nru cinder-8.0.0/cinder/image/image_utils.py cinder-8.1.0/cinder/image/image_utils.py --- cinder-8.0.0/cinder/image/image_utils.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/image/image_utils.py 2016-08-09 15:32:57.000000000 +0000 @@ -55,6 +55,17 @@ CONF.register_opts(image_helper_opts) +# NOTE(abhishekk): qemu-img convert command supports raw, qcow2, qed, +# vdi, vmdk and vhd disk-formats but glance doesn't support qed and +# vhd(vpc) disk-formats. +# Ref: http://docs.openstack.org/image-guide/convert-images.html +VALID_DISK_FORMATS = ('raw', 'vmdk', 'vdi', 'qcow2') + + +def validate_disk_format(disk_format): + return disk_format in VALID_DISK_FORMATS + + def qemu_img_info(path, run_as_root=True): """Return an object containing the parsed output from qemu-img info.""" cmd = ('env', 'LC_ALL=C', 'qemu-img', 'info', path) diff -Nru cinder-8.0.0/cinder/locale/cinder-log-error.pot cinder-8.1.0/cinder/locale/cinder-log-error.pot --- cinder-8.0.0/cinder/locale/cinder-log-error.pot 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cinder-log-error.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,4055 +0,0 @@ -# Translations template for cinder. -# Copyright (C) 2016 ORGANIZATION -# This file is distributed under the same license as the cinder project. -# FIRST AUTHOR , 2016. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev6\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-18 06:32+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.2.0\n" - -#: cinder/coordination.py:95 -msgid "Error starting coordination backend." -msgstr "" - -#: cinder/coordination.py:152 -msgid "Connection error while sending a heartbeat to coordination backend." -msgstr "" - -#: cinder/coordination.py:156 -msgid "Error sending a heartbeat to coordination backend." -msgstr "" - -#: cinder/exception.py:111 -msgid "Exception in string format operation" -msgstr "" - -#: cinder/exception.py:113 -#, python-format -msgid "%(name)s: %(value)s" -msgstr "" - -#: cinder/quota.py:1041 -#, python-format -msgid "Failed to commit reservations %s" -msgstr "" - -#: cinder/quota.py:1062 -#, python-format -msgid "Failed to roll back reservations %s" -msgstr "" - -#: cinder/service.py:305 -#, python-format -msgid "" -"Manager for service %(binary)s %(host)s is reporting problems, not " -"sending heartbeat. Service will appear \"down\"." -msgstr "" - -#: cinder/service.py:332 -msgid "Recovered model server connection!" -msgstr "" - -#: cinder/service.py:337 -msgid "model server went away" -msgstr "" - -#: cinder/service.py:344 -msgid "DBError encountered: " -msgstr "" - -#: cinder/service.py:349 -msgid "Exception encountered: " -msgstr "" - -#: cinder/utils.py:487 -#, python-format -msgid "Failed to write persistence file: %(path)s." -msgstr "" - -#: cinder/utils.py:596 -#, python-format -msgid "Volume driver %s not initialized" -msgstr "" - -#: cinder/api/extensions.py:244 -msgid "Exception loading extension." -msgstr "" - -#: cinder/api/middleware/fault.py:47 -#, python-format -msgid "Caught error: %(type)s %(error)s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:820 -#, python-format -msgid "Exception handling resource: %s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1199 -msgid "Get method error." -msgstr "" - -#: cinder/backup/chunkeddriver.py:577 -#, python-format -msgid "Backup volume metadata failed: %s." -msgstr "" - -#: cinder/backup/manager.py:124 -msgid "Problem cleaning incomplete backup operations." -msgstr "" - -#: cinder/backup/manager.py:142 -#, python-format -msgid "Problem cleaning up backup %(bkup)s." -msgstr "" - -#: cinder/backup/manager.py:148 cinder/backup/manager.py:788 -#, python-format -msgid "Problem cleaning temp volumes and snapshots for backup %(bkup)s." -msgstr "" - -#: cinder/backup/manager.py:207 -#, python-format -msgid "Detach attachment %(attach_id)s failed." -msgstr "" - -#: cinder/backup/manager.py:513 -msgid "Failed to update usages deleting backup" -msgstr "" - -#: cinder/backup/manager.py:763 -#, python-format -msgid "Backup id %s is not invalid. Skipping reset." -msgstr "" - -#: cinder/backup/manager.py:767 -#, python-format -msgid "" -"Backup service %(configured_service)s does not support verify. Backup id " -"%(id)s is not verified. Skipping verify." -msgstr "" - -#: cinder/backup/drivers/ceph.py:458 -#, python-format -msgid "" -"Max retries reached deleting backup %(basename)s image of volume " -"%(volume)s." -msgstr "" - -#: cinder/backup/drivers/ceph.py:494 -#, python-format -msgid "Pipe1 failed - %s " -msgstr "" - -#: cinder/backup/drivers/ceph.py:508 -#, python-format -msgid "Pipe2 failed - %s " -msgstr "" - -#: cinder/backup/drivers/ceph.py:969 -msgid "Differential restore failed, trying full restore" -msgstr "" - -#: cinder/backup/drivers/ceph.py:1159 -#, python-format -msgid "Restore to volume %(volume)s finished with error - %(error)s." -msgstr "" - -#: cinder/backup/drivers/swift.py:203 -#, python-format -msgid "single_user auth mode enabled, but %(param)s not set" -msgstr "" - -#: cinder/backup/drivers/tsm.py:252 -#, python-format -msgid "" -"backup: %(vol_id)s failed to remove backup hardlink from %(vpath)s to " -"%(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s." -msgstr "" - -#: cinder/backup/drivers/tsm.py:524 -#, python-format -msgid "" -"delete: %(vol_id)s failed with stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:89 -msgid "Error creating Volume Group" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:90 cinder/brick/local_dev/lvm.py:184 -#: cinder/brick/local_dev/lvm.py:558 cinder/brick/local_dev/lvm.py:589 -#: cinder/brick/local_dev/lvm.py:611 cinder/brick/local_dev/lvm.py:653 -#: cinder/brick/local_dev/lvm.py:742 cinder/brick/local_dev/lvm.py:780 -#, python-format -msgid "Cmd :%s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:91 cinder/brick/local_dev/lvm.py:185 -#: cinder/brick/local_dev/lvm.py:559 cinder/brick/local_dev/lvm.py:590 -#: cinder/brick/local_dev/lvm.py:612 cinder/brick/local_dev/lvm.py:654 -#: cinder/brick/local_dev/lvm.py:743 cinder/brick/local_dev/lvm.py:781 -#, python-format -msgid "StdOut :%s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:92 cinder/brick/local_dev/lvm.py:186 -#: cinder/brick/local_dev/lvm.py:560 cinder/brick/local_dev/lvm.py:591 -#: cinder/brick/local_dev/lvm.py:613 cinder/brick/local_dev/lvm.py:655 -#: cinder/brick/local_dev/lvm.py:744 cinder/brick/local_dev/lvm.py:782 -#, python-format -msgid "StdErr :%s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:96 -#, python-format -msgid "Unable to locate Volume Group %s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:183 -msgid "Error querying thin pool about data_percent" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:410 -#, python-format -msgid "Unable to find VG: %s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:497 -msgid "" -"Requested to setup thin provisioning, however current LVM version does " -"not support it." -msgstr "" - -#: cinder/brick/local_dev/lvm.py:557 -msgid "Error creating Volume" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:574 -#, python-format -msgid "Trying to create snapshot by non-existent LV: %s" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:588 -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:205 -msgid "Error creating snapshot" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:610 -msgid "Error deactivating LV" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:652 -msgid "Error activating LV" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:741 -msgid "Error extending Volume" -msgstr "" - -#: cinder/brick/local_dev/lvm.py:779 -msgid "Error renaming logical volume" -msgstr "" - -#: cinder/cmd/all.py:78 -msgid "Failed to load osapi_volume" -msgstr "" - -#: cinder/cmd/all.py:84 -#, python-format -msgid "Failed to load %s" -msgstr "" - -#: cinder/cmd/all.py:106 -msgid "Failed to load conder-volume" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:120 -#, python-format -msgid "Exists volume notification failed: %s" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:146 -#, python-format -msgid "Create volume notification failed: %s" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:172 -#, python-format -msgid "Delete volume notification failed: %s" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:190 -#, python-format -msgid "Exists snapshot notification failed: %s" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:216 -#, python-format -msgid "Create snapshot notification failed: %s" -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:242 -#, python-format -msgid "Delete snapshot notification failed: %s" -msgstr "" - -#: cinder/consistencygroup/api.py:151 -#, python-format -msgid "Error occurred when creating consistency group %s." -msgstr "" - -#: cinder/consistencygroup/api.py:183 -#, python-format -msgid "" -"CG snapshot %(cgsnap)s not found when creating consistency group %(cg)s " -"from source." -msgstr "" - -#: cinder/consistencygroup/api.py:197 -#, python-format -msgid "" -"Source CG %(source_cg)s not found when creating consistency group %(cg)s " -"from source." -msgstr "" - -#: cinder/consistencygroup/api.py:228 -#, python-format -msgid "" -"Error occurred when creating consistency group %(cg)s from cgsnapshot " -"%(cgsnap)s." -msgstr "" - -#: cinder/consistencygroup/api.py:281 -#, python-format -msgid "" -"Error occurred when creating volume entry from snapshot in the process of" -" creating consistency group %(group)s from cgsnapshot %(cgsnap)s." -msgstr "" - -#: cinder/consistencygroup/api.py:292 -#, python-format -msgid "" -"Error occurred when creating consistency group %(group)s from cgsnapshot " -"%(cgsnap)s." -msgstr "" - -#: cinder/consistencygroup/api.py:342 -#, python-format -msgid "" -"Error occurred when creating cloned volume in the process of creating " -"consistency group %(group)s from source CG %(source_cg)s." -msgstr "" - -#: cinder/consistencygroup/api.py:353 -#, python-format -msgid "" -"Error occurred when creating consistency group %(group)s from source CG " -"%(source_cg)s." -msgstr "" - -#: cinder/consistencygroup/api.py:411 -#, python-format -msgid "Error occurred when building request spec list for consistency group %s." -msgstr "" - -#: cinder/consistencygroup/api.py:437 -#, python-format -msgid "Failed to update quota for consistency group %s." -msgstr "" - -#: cinder/consistencygroup/api.py:756 -#, python-format -msgid "Error occurred when creating cgsnapshot %s." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:2874 -#, python-format -msgid "VolumeType %s deletion failed, VolumeType in use." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:3896 -#, python-format -msgid "Volume in unexpected state %s, expected awaiting-transfer" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4269 -#, python-format -msgid "DBError detected when purging from table=%(table)s" -msgstr "" - -#: cinder/image/glance.py:181 -#, python-format -msgid "Error contacting glance server '%(netloc)s' for '%(method)s', %(extra)s." -msgstr "" - -#: cinder/keymgr/barbican.py:115 -msgid "Error creating Barbican client." -msgstr "" - -#: cinder/keymgr/barbican.py:152 -msgid "Error creating key." -msgstr "" - -#: cinder/keymgr/barbican.py:208 -msgid "Error storing key." -msgstr "" - -#: cinder/keymgr/barbican.py:236 -msgid "Error copying key." -msgstr "" - -#: cinder/keymgr/barbican.py:273 -msgid "Error getting secret data." -msgstr "" - -#: cinder/keymgr/barbican.py:292 -msgid "Error getting secret metadata." -msgstr "" - -#: cinder/keymgr/barbican.py:321 -msgid "Error getting key." -msgstr "" - -#: cinder/keymgr/barbican.py:338 -msgid "Error deleting key." -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:214 -#, python-format -msgid "" -"Error scheduling %(volume_id)s from last vol-service: %(last_host)s : " -"%(exc)s" -msgstr "" - -#: cinder/scheduler/manager.py:110 -#, python-format -msgid "Could not find a host for consistency group %(group_id)s." -msgstr "" - -#: cinder/scheduler/manager.py:117 -#, python-format -msgid "Failed to create consistency group %(group_id)s." -msgstr "" - -#: cinder/scheduler/manager.py:297 -#, python-format -msgid "Failed to schedule_%(method)s: %(ex)s" -msgstr "" - -#: cinder/scheduler/scheduler_options.py:69 -#, python-format -msgid "Could not stat scheduler options file %(filename)s." -msgstr "" - -#: cinder/scheduler/scheduler_options.py:79 -msgid "Could not decode scheduler options." -msgstr "" - -#: cinder/scheduler/filters/capacity_filter.py:46 -msgid "Free capacity not set: volume node info collection broken." -msgstr "" - -#: cinder/scheduler/flows/create_volume.py:98 -#, python-format -msgid "Failed to run task %(name)s: %(cause)s" -msgstr "" - -#: cinder/scheduler/flows/create_volume.py:115 -#, python-format -msgid "Failed notifying on %(topic)s payload %(payload)s" -msgstr "" - -#: cinder/transfer/api.py:72 -msgid "Volume in unexpected state" -msgstr "" - -#: cinder/transfer/api.py:137 -#, python-format -msgid "Failed to create transfer record for %s" -msgstr "" - -#: cinder/transfer/api.py:220 -#, python-format -msgid "Failed to update quota donating volume transfer id %s" -msgstr "" - -#: cinder/volume/api.py:357 -msgid "Failed to update quota while deleting volume." -msgstr "" - -#: cinder/volume/api.py:1225 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to extend volume by %(s_size)sG, " -"(%(d_consumed)dG of %(d_quota)dG already consumed)." -msgstr "" - -#: cinder/volume/api.py:1531 cinder/volume/api.py:1583 -#, python-format -msgid "Unable to find service: %(service)s for given host: %(host)s." -msgstr "" - -#: cinder/volume/api.py:1535 -msgid "Unable to manage_existing volume on a disabled service." -msgstr "" - -#: cinder/volume/api.py:1587 -msgid "Unable to manage_existing snapshot on a disabled service." -msgstr "" - -#: cinder/volume/driver.py:367 cinder/volume/drivers/hitachi/hnas_nfs.py:379 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:279 -#, python-format -msgid "Recovering from a failed execute. Try number %s" -msgstr "" - -#: cinder/volume/driver.py:401 -#, python-format -msgid "Error detaching volume %(volume)s, due to remove export failure." -msgstr "" - -#: cinder/volume/driver.py:423 -msgid "Detaching snapshot from a remote node is not supported." -msgstr "" - -#: cinder/volume/driver.py:444 -#, python-format -msgid "Error detaching snapshot %(snapshot)s, due to remove export failure." -msgstr "" - -#: cinder/volume/driver.py:881 -#, python-format -msgid "" -"Failed updating model of volume %(volume_id)s with driver provided model " -"%(model)s" -msgstr "" - -#: cinder/volume/driver.py:920 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2347 -#, python-format -msgid "Error detaching volume %s" -msgstr "" - -#: cinder/volume/driver.py:936 -msgid "Attaching snapshot from a remote node is not supported." -msgstr "" - -#: cinder/volume/driver.py:957 -#, python-format -msgid "" -"Failed updating model of snapshot %(snapshot_id)s with driver provided " -"model %(model)s." -msgstr "" - -#: cinder/volume/driver.py:1006 -#, python-format -msgid "Could not validate device %s" -msgstr "" - -#: cinder/volume/driver.py:2342 cinder/volume/targets/iscsi.py:167 -#, python-format -msgid "ISCSI discovery attempt failed for:%s" -msgstr "" - -#: cinder/volume/driver.py:2531 -#, python-format -msgid "The volume driver requires %(data)s in the connector." -msgstr "" - -#: cinder/volume/driver.py:2803 -#, python-format -msgid "" -"FibreChannelDriver validate_connector failed. No '%(setting)s'. Make sure" -" HBA state is Online." -msgstr "" - -#: cinder/volume/manager.py:295 -#, python-format -msgid "Invalid JSON: %s" -msgstr "" - -#: cinder/volume/manager.py:332 -msgid "Fetch volume pool name failed." -msgstr "" - -#: cinder/volume/manager.py:428 -msgid "Failed to initialize driver." -msgstr "" - -#: cinder/volume/manager.py:456 -msgid "Failed to re-export volume, setting to ERROR." -msgstr "" - -#: cinder/volume/manager.py:486 -msgid "Error during re-export on driver init." -msgstr "" - -#: cinder/volume/manager.py:532 -msgid "Service not found for updating replication_status." -msgstr "" - -#: cinder/volume/manager.py:747 -msgid "Unable to delete busy volume." -msgstr "" - -#: cinder/volume/manager.py:776 -msgid "Failed to update usages deleting volume." -msgstr "" - -#: cinder/volume/manager.py:817 -msgid "" -"Unable to delete the destination volume during volume migration, (NOTE: " -"database record needs to be deleted)." -msgstr "" - -#: cinder/volume/manager.py:862 -#, python-format -msgid "" -"Failed updating snapshot metadata using the provided volumes " -"%(volume_id)s metadata" -msgstr "" - -#: cinder/volume/manager.py:905 -msgid "Delete snapshot failed, due to snapshot busy." -msgstr "" - -#: cinder/volume/manager.py:933 -msgid "Update snapshot usages failed." -msgstr "" - -#: cinder/volume/manager.py:1121 -msgid "Detach volume failed, due to uninitialized driver." -msgstr "" - -#: cinder/volume/manager.py:1125 -msgid "Detach volume failed, due to remove-export failure." -msgstr "" - -#: cinder/volume/manager.py:1193 -#, python-format -msgid "" -"Create clone_image_volume: %(volume_id)sfor image %(image_id)s, failed " -"(Exception: %(except)s)" -msgstr "" - -#: cinder/volume/manager.py:1218 -#, python-format -msgid "Failed to clone volume %(volume_id)s for image %(image_id)s." -msgstr "" - -#: cinder/volume/manager.py:1225 -#, python-format -msgid "Could not delete the image volume %(id)s." -msgstr "" - -#: cinder/volume/manager.py:1255 -#, python-format -msgid "Failed to register image volume location %(uri)s." -msgstr "" - -#: cinder/volume/manager.py:1265 -#, python-format -msgid "Could not delete failed image volume %(id)s." -msgstr "" - -#: cinder/volume/manager.py:1310 -#, python-format -msgid "Upload volume to image encountered an error (image-id: %(image_id)s)." -msgstr "" - -#: cinder/volume/manager.py:1362 -#, python-format -msgid "" -"Failed to get driver initiator data for initiator %(initiator)s and " -"namespace %(namespace)s" -msgstr "" - -#: cinder/volume/manager.py:1379 -#, python-format -msgid "" -"Failed to update initiator data for initiator %(initiator)s and backend " -"%(backend)s" -msgstr "" - -#: cinder/volume/manager.py:1453 -msgid "Model update failed." -msgstr "" - -#: cinder/volume/manager.py:1583 -msgid "Update volume model for transfer operation failed." -msgstr "" - -#: cinder/volume/manager.py:1631 -#, python-format -msgid "Failed to attach volume %(vol)s." -msgstr "" - -#: cinder/volume/manager.py:1657 -#, python-format -msgid "Unable to terminate volume connection: %(err)s." -msgstr "" - -#: cinder/volume/manager.py:1678 -msgid "Failed to attach source volume for copy." -msgstr "" - -#: cinder/volume/manager.py:1701 -#, python-format -msgid "Failed to copy volume %(src)s to %(dest)s." -msgstr "" - -#: cinder/volume/manager.py:1786 -#, python-format -msgid "Failed to copy volume %(vol1)s to %(vol2)s" -msgstr "" - -#: cinder/volume/manager.py:1878 -#, python-format -msgid "Detach migration source volume failed: %(err)s" -msgstr "" - -#: cinder/volume/manager.py:1913 -#, python-format -msgid "Failed to request async delete of migration source vol %(vol)s: %(err)s" -msgstr "" - -#: cinder/volume/manager.py:2127 -msgid "Extend volume failed." -msgstr "" - -#: cinder/volume/manager.py:2269 -#, python-format -msgid "" -"Volume %s: driver error when trying to retype, falling back to generic " -"mechanism." -msgstr "" - -#: cinder/volume/manager.py:2377 -msgid "Promote volume replica failed." -msgstr "" - -#: cinder/volume/manager.py:2410 -msgid "Sync volume replica failed." -msgstr "" - -#: cinder/volume/manager.py:2446 -msgid "Get replication status for volume failed." -msgstr "" - -#: cinder/volume/manager.py:2481 -#, python-format -msgid "Consistency group %s: create failed" -msgstr "" - -#: cinder/volume/manager.py:2516 -#, python-format -msgid "Create consistency group from snapshot-%(snap)s failed: SnapshotNotFound." -msgstr "" - -#: cinder/volume/manager.py:2544 -#, python-format -msgid "" -"Create consistency group from source cg-%(cg)s failed: " -"ConsistencyGroupNotFound." -msgstr "" - -#: cinder/volume/manager.py:2603 -#, python-format -msgid "Create consistency group from source %(source)s failed." -msgstr "" - -#: cinder/volume/manager.py:2647 -#, python-format -msgid "Source snapshot cannot be found for target volume %(volume_id)s." -msgstr "" - -#: cinder/volume/manager.py:2670 -#, python-format -msgid "Source volumes cannot be found for target volume %(volume_id)s." -msgstr "" - -#: cinder/volume/manager.py:2691 -#, python-format -msgid "Source snapshot %(snapshot_id)s cannot be found." -msgstr "" - -#: cinder/volume/manager.py:2700 -#, python-format -msgid "The source volume %(volume_id)s cannot be found." -msgstr "" - -#: cinder/volume/manager.py:2710 -#, python-format -msgid "" -"Failed to update %(volume_id)s metadata using the provided snapshot " -"%(snapshot_id)s metadata." -msgstr "" - -#: cinder/volume/manager.py:2818 cinder/volume/manager.py:2837 -msgid "Delete consistency group failed to update usages." -msgstr "" - -#: cinder/volume/manager.py:2886 -#, python-format -msgid "" -"Update consistency group failed to add volume-%(volume_id)s: " -"VolumeNotFound." -msgstr "" - -#: cinder/volume/manager.py:2915 -#, python-format -msgid "" -"Update consistency group failed to remove volume-%(volume_id)s: " -"VolumeNotFound." -msgstr "" - -#: cinder/volume/manager.py:2965 -#, python-format -msgid "" -"Error occurred in the volume driver when updating consistency group " -"%(group_id)s." -msgstr "" - -#: cinder/volume/manager.py:2978 -#, python-format -msgid "Error occurred when updating consistency group %(group_id)s." -msgstr "" - -#: cinder/volume/manager.py:3085 -#, python-format -msgid "" -"Failed updating %(snapshot_id)s metadata using the provided volumes " -"%(volume_id)s metadata" -msgstr "" - -#: cinder/volume/manager.py:3199 -msgid "Failed to update usages deleting snapshot" -msgstr "" - -#: cinder/volume/manager.py:3302 -msgid "Failed to perform replication failover" -msgstr "" - -#: cinder/volume/manager.py:3308 -msgid "Invalid replication target specified for failover" -msgstr "" - -#: cinder/volume/manager.py:3323 -msgid "Driver reported error during replication failover." -msgstr "" - -#: cinder/volume/manager.py:3330 -#, python-format -msgid "" -"Error encountered during failover on host: %(host)s invalid target ID " -"%(backend_id)" -msgstr "" - -#: cinder/volume/manager.py:3418 -msgid "" -"Error encountered on Cinder backend during thaw operation, service will " -"remain frozen." -msgstr "" - -#: cinder/volume/manager.py:3444 -#, python-format -msgid "Failed to create manage_existing flow: %(object_type)s %(object_id)s." -msgstr "" - -#: cinder/volume/qos_specs.py:87 cinder/volume/qos_specs.py:108 -#: cinder/volume/qos_specs.py:158 cinder/volume/qos_specs.py:200 -#: cinder/volume/qos_specs.py:214 cinder/volume/qos_specs.py:228 -#: cinder/volume/volume_types.py:56 cinder/volume/volume_types.py:83 -msgid "DB error:" -msgstr "" - -#: cinder/volume/throttling.py:72 -#, python-format -msgid "Failed to create blkio cgroup '%(name)s'." -msgstr "" - -#: cinder/volume/throttling.py:80 -#, python-format -msgid "Failed to get device number for throttling: %(error)s" -msgstr "" - -#: cinder/volume/utils.py:375 -#, python-format -msgid "Failed to open volume from %(path)s." -msgstr "" - -#: cinder/volume/volume_types.py:148 -msgid "Default volume type is not found. Please check default_volume_type config:" -msgstr "" - -#: cinder/volume/drivers/datera.py:118 -msgid "" -"Logging into the Datera cluster failed. Please check your username and " -"password set in the cinder.conf and start the cinder-volume service " -"again." -msgstr "" - -#: cinder/volume/drivers/datera.py:156 -msgid "" -"Creation request failed. Please verify the extra-specs set for your " -"volume types are entered correctly." -msgstr "" - -#: cinder/volume/drivers/datera.py:367 -msgid "Failed to get updated stats from Datera cluster." -msgstr "" - -#: cinder/volume/drivers/datera.py:377 -msgid "Failed to get updated stats from Datera Cluster." -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:1006 -msgid "DRBDmanage: too many assignments returned." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:227 -#, python-format -msgid "%s" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:265 -msgid "Error running command." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:275 -#, python-format -msgid "Error running SSH command: \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:412 -msgid "Failed to setup the Dell EqualLogic driver." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:429 -#, python-format -msgid "Failed to create volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:439 -#, python-format -msgid "Failed to add multihost-access for volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:454 -#, python-format -msgid "Failed to delete volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:470 -#, python-format -msgid "Failed to create snapshot of volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:484 -#, python-format -msgid "Failed to create volume from snapshot \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:497 -#, python-format -msgid "Failed to create clone of volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:507 -#, python-format -msgid "Failed to delete snapshot %(snap)s of volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:528 -#, python-format -msgid "Failed to initialize connection to volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:543 -#, python-format -msgid "Failed to terminate connection to volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:569 -#, python-format -msgid "Failed to ensure export of volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:588 -#, python-format -msgid "" -"Failed to extend_volume %(name)s from %(current_size)sGB to " -"%(new_size)sGB." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:124 -#, python-format -msgid "Failed to umount %(share)s, reason=%(stderr)s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:372 cinder/volume/drivers/remotefs.py:270 -#, python-format -msgid "Exception during mounting %s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:431 -#, python-format -msgid "Mount failure for %(share)s." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:458 -#, python-format -msgid "" -"No snapshots found in database, but %(path)s has backing file " -"%(backing_file)s!" -msgstr "" - -#: cinder/volume/drivers/hgst.py:109 -#, python-format -msgid "" -"CLI fail: '%(cmd)s' = %(code)s\n" -"out: %(stdout)s\n" -"err: %(stderr)s" -msgstr "" - -#: cinder/volume/drivers/hgst.py:253 -msgid "VGC-CLUSTER command blocked and cancelled." -msgstr "" - -#: cinder/volume/drivers/lvm.py:372 cinder/volume/drivers/nfs.py:408 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:638 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2844 -#, python-format -msgid "Unable to rename the logical volume for volume: %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:417 -#, python-format -msgid "Unable to delete due to existing snapshot for volume: %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:691 -#, python-format -msgid "Destination Volume Group %s does not exist" -msgstr "" - -#: cinder/volume/drivers/lvm.py:723 -#, python-format -msgid "Volume migration failed due to exception: %(reason)s." -msgstr "" - -#: cinder/volume/drivers/nfs.py:155 cinder/volume/drivers/nexenta/nfs.py:695 -#, python-format -msgid "Mount failure for %(share)s after %(count)d attempts." -msgstr "" - -#: cinder/volume/drivers/nimble.py:182 -msgid "" -"Failed to create SOAP client.Check san_ip, username, password and make " -"sure the array version is compatible" -msgstr "" - -#: cinder/volume/drivers/nimble.py:539 -#, python-format -msgid "Re-throwing Exception %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:433 -msgid "Unable to disconnect host from volume, could not determine Purity host" -msgstr "" - -#: cinder/volume/drivers/pure.py:456 -#, python-format -msgid "Disconnection failed with message: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1128 -#, python-format -msgid "Disable replication on volume failed with message: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:1451 -#, python-format -msgid "Error finding replicated pg snapshot on %(secondary)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1598 -#, python-format -msgid "" -"Purity host %(host_name)s is not managed by Cinder and can't have CHAP " -"credentials modified. Remove IQN %(iqn)s from the host to resolve this " -"issue." -msgstr "" - -#: cinder/volume/drivers/pure.py:1608 -#, python-format -msgid "" -"Purity host %(host_name)s is managed by Cinder but CHAP credentials could" -" not be retrieved from the Cinder database." -msgstr "" - -#: cinder/volume/drivers/rbd.py:224 -#, python-format -msgid "error opening rbd image %s" -msgstr "" - -#: cinder/volume/drivers/rbd.py:415 -msgid "error refreshing volume stats" -msgstr "" - -#: cinder/volume/drivers/rbd.py:1088 -#, python-format -msgid "Unable to rename the logical volume for volume %s." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:482 -#, python-format -msgid "Share %s ignored due to invalid format. Must be of form address:/export." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:616 -#, python-format -msgid "Failed to created Cinder secure environment indicator file: %s" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1278 -msgid "Call to Nova to create snapshot failed" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1370 -msgid "Call to Nova delete snapshot failed" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:91 -#, python-format -msgid "Sheepdog is not installed. OSError: command is %s." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:94 -#, python-format -msgid "OSError: command is %s." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:127 -#, python-format -msgid "Qemu-img is not installed. OSError: command is %(cmd)s." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:130 -#, python-format -msgid "OSError: command is %(cmd)s." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:145 -#, python-format -msgid "Failed to check cluster status.(command: %s)" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:169 -#, python-format -msgid "Volume already exists. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:171 -#, python-format -msgid "Failed to create volume. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:193 -#, python-format -msgid "Failed to delete volume. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:204 -#, python-format -msgid "Volume \"%s\" not found. Please check the results of \"dog vdi list\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:210 -#, python-format -msgid "Snapshot \"%s\" already exists." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:212 -#, python-format -msgid "Failed to create snapshot. (command: %s)" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:239 -#, python-format -msgid "Failed to delete snapshot. (command: %s)" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:254 -#, python-format -msgid "Failed to connect to sheep daemon. addr: %(addr)s, port: %(port)s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:258 -#, python-format -msgid "" -"Clone volume \"%s\" already exists. Please check the results of \"dog vdi" -" list\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:262 -#, python-format -msgid "Src Volume \"%s\" not found. Please check the results of \"dog vdi list\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:266 -#, python-format -msgid "Snapshot \"%s\" not found. Please check the results of \"dog vdi list\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:270 -#, python-format -msgid "Volume size \"%sG\" is too large." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:272 -#, python-format -msgid "Failed to clone volume.(command: %s)" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:283 -#, python-format -msgid "Failed to resize vdi. vdi not found. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:286 -#, python-format -msgid "" -"Failed to resize vdi. Shrinking vdi not supported. vdi: %(vdiname)s new " -"size: %(size)s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:291 -#, python-format -msgid "" -"Failed to resize vdi. Too large volume size. vdi: %(vdiname)s new size: " -"%(size)s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:296 -#, python-format -msgid "Failed to resize vdi. vdi: %(vdiname)s new size: %(size)s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:305 -#, python-format -msgid "Failed to get volume status. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:491 -#, python-format -msgid "Failed to create cloned volume %s." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:432 -#, python-format -msgid "Failed to retrieve volume SolidFire-ID: %s in get_by_account!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:627 -#, python-format -msgid "Volume %s, not found on SF Cluster." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:630 -#, python-format -msgid "Found %(count)s volumes mapped to id: %(uuid)s." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:712 -#, python-format -msgid "Failed image conversion during cache creation: %s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1107 -#, python-format -msgid "" -"Account for Volume ID %s was not found on the SolidFire Cluster while " -"attempting delete_volume operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1110 -msgid "This usually means the volume was never successfully created." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1127 -#, python-format -msgid "" -"Volume ID %s was not found on the SolidFire Cluster while attempting " -"delete_volume operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1157 -#, python-format -msgid "" -"Account for Volume ID %s was not found on the SolidFire Cluster while " -"attempting create_snapshot operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1369 -#, python-format -msgid "" -"Volume ID %s was not found on the SolidFire Cluster while attempting " -"extend_volume operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1436 -#, python-format -msgid "" -"Volume ID %s was not found on the SolidFire Cluster while attempting " -"attach_volume operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1462 -#, python-format -msgid "" -"Volume ID %s was not found on the SolidFire Cluster while attempting " -"detach_volume operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1484 -#, python-format -msgid "" -"Volume ID %s was not found on the SolidFire Cluster while attempting " -"accept_transfer operation!" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1605 -#, python-format -msgid "" -"Account for Volume ID %s was not found on the SolidFire Cluster while " -"attempting unmanage operation!" -msgstr "" - -#: cinder/volume/drivers/tintri.py:159 -#, python-format -msgid "Configuration value %s is not set." -msgstr "" - -#: cinder/volume/drivers/tintri.py:179 cinder/volume/drivers/tintri.py:353 -#: cinder/volume/drivers/netapp/dataontap/block_base.py:323 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:193 -#, python-format -msgid "Resizing %s failed. Cleaning volume." -msgstr "" - -#: cinder/volume/drivers/tintri.py:267 -#, python-format -msgid "Unexpected exception during cache cleanup of snapshot %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:807 -msgid "Exception during mounting." -msgstr "" - -#: cinder/volume/drivers/xio.py:94 -msgid "san ip must be configured!" -msgstr "" - -#: cinder/volume/drivers/xio.py:98 -msgid "san_login must be configured!" -msgstr "" - -#: cinder/volume/drivers/xio.py:102 -msgid "san_password must be configured!" -msgstr "" - -#: cinder/volume/drivers/xio.py:119 -#, python-format -msgid "Array query failed - No response (%d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:134 -msgid "Array query failed. No capabilities in response!" -msgstr "" - -#: cinder/volume/drivers/xio.py:152 -msgid "ISE FW version is not compatible with OpenStack!" -msgstr "" - -#: cinder/volume/drivers/xio.py:159 -msgid "Array query failed. No global id in XML response!" -msgstr "" - -#: cinder/volume/drivers/xio.py:164 -msgid "Array query failed. No controllers in response!" -msgstr "" - -#: cinder/volume/drivers/xio.py:203 -msgid "ISE globalid not set!" -msgstr "" - -#: cinder/volume/drivers/xio.py:214 -msgid "Primary IP must be set!" -msgstr "" - -#: cinder/volume/drivers/xio.py:410 -#, python-format -msgid "Connection to %s failed and no secondary!" -msgstr "" - -#: cinder/volume/drivers/xio.py:421 -#, python-format -msgid "Could not connect to %(primary)s or %(secondary)s!" -msgstr "" - -#: cinder/volume/drivers/xio.py:494 cinder/volume/drivers/xio.py:532 -#, python-format -msgid "Controller GET failed (%d)" -msgstr "" - -#: cinder/volume/drivers/xio.py:519 -msgid "Failed to get IQN!" -msgstr "" - -#: cinder/volume/drivers/xio.py:559 -#, python-format -msgid "Failed to get allocation information (%d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:570 -msgid "Failed to get LUN information!" -msgstr "" - -#: cinder/volume/drivers/xio.py:628 -#, python-format -msgid "Could not GET allocation information (%d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:693 -#, python-format -msgid "Failed to present volume %(name)s (%(status)d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:719 -#, python-format -msgid "Failed to get allocation information: %(host)s (%(status)d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:753 -#, python-format -msgid "Could not find any hosts (%s)" -msgstr "" - -#: cinder/volume/drivers/xio.py:810 -#, python-format -msgid "POST for host create failed (%s)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:837 -#, python-format -msgid "Source volume %s not ready!" -msgstr "" - -#: cinder/volume/drivers/xio.py:863 -#, python-format -msgid "Prepare clone failed for %s." -msgstr "" - -#: cinder/volume/drivers/xio.py:875 -#, python-format -msgid "Clone %s not in prepared state!" -msgstr "" - -#: cinder/volume/drivers/xio.py:881 -#, python-format -msgid "Commit clone failed: %(name)s (%(status)d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:894 -#, python-format -msgid "Commit failed for %s!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1147 -#, python-format -msgid "Failed to create volume: %(name)s (%(status)s)" -msgstr "" - -#: cinder/volume/drivers/xio.py:1162 -#, python-format -msgid "Failed to create volume %s." -msgstr "" - -#: cinder/volume/drivers/xio.py:1221 -#, python-format -msgid "Timed out deleting %s!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1240 -#, python-format -msgid "modify volume: %s does not exist!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1249 -#, python-format -msgid "Modify volume PUT failed: %(name)s (%(status)d)." -msgstr "" - -#: cinder/volume/drivers/xio.py:1277 -msgid "manage_existing: No source-name in ref!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1296 -msgid "manage_existing_get_size: No source-name in ref!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1302 -#, python-format -msgid "manage_existing_get_size: %s does not exist!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1312 -#, python-format -msgid "unmanage: Volume %s does not exist!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1331 -msgid "Host could not be found!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1339 -#, python-format -msgid "Host PUT failed (%s)." -msgstr "" - -#: cinder/volume/drivers/xio.py:1396 -msgid "iscsi_ip_address must be set!" -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:304 -#, python-format -msgid "" -"CloudByte operation [%(operation)s] failed for volume [%(vol)s]. " -"Exhausted all [%(max)s] attempts." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:630 -#, python-format -msgid "TSM [%s] not found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:932 -#, python-format -msgid "CloudByte does not have a volume corresponding to OpenStack volume [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:936 -#, python-format -msgid "CloudByte volume information not available for OpenStack volume [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1124 -#, python-format -msgid "CloudByte snapshot information is not available for OpenStack volume [%s]." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:379 -#, python-format -msgid "Error invalid json: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:382 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:402 -#, python-format -msgid "Error TypeError. %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:384 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:404 -#, python-format -msgid "Error JSONDecodeError. %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:399 -#, python-format -msgid "Invalid API object: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:431 -msgid "_check_version_fail: Parsing error." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:476 -#, python-format -msgid "Unrecognized Login Response: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:502 -#, python-format -msgid "Failed to find %(s)s. Result %(r)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:574 -#, python-format -msgid "Unable to create folder path %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:881 -msgid "ScVolume returned success with empty payload. Attempting to locate volume" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:887 -#, python-format -msgid "Unable to create volume on SC: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1055 -#, python-format -msgid "AddHba error: %(wwn)s to %(srvname)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1159 -msgid "Error adding HBA to server" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1234 -#, python-format -msgid "Error getting FaultDomainList for %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1255 -msgid "Unable to find FC initiators" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1288 -msgid "_find_mappings: volume is not active" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1307 -#, python-format -msgid "Unable to find mapping profiles: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1325 -#, python-format -msgid "Unable to find controller port: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1384 -msgid "Volume appears unmapped" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1412 -#, python-format -msgid "Unable to retrieve VolumeConfiguration: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1460 -#, python-format -msgid "Unable to find controller port iscsi configuration: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1644 -#, python-format -msgid "Unable to map %(vol)s to %(srv)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1682 -#, python-format -msgid "Unable to unmap Volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1777 -#, python-format -msgid "Invalid ReplayList return: %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1801 -#, python-format -msgid "Error managing replay %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1819 -#, python-format -msgid "Error unmanaging replay %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1878 -#, python-format -msgid "Unable to create volume %s from replay" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1906 -msgid "Error: unable to snap replay" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1932 -#, python-format -msgid "Error expanding volume %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1952 -#, python-format -msgid "Error renaming volume %(original)s to %(name)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1974 -msgid "User does not have permission to change Storage Profile selection." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1981 -#, python-format -msgid "Storage Profile %s was not found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1988 -msgid "Default Storage Profile was not found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2002 -#, python-format -msgid "Error changing Storage Profile for volume %(original)s to %(name)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2064 -#, python-format -msgid "Multiple replay profiles under name %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2110 -#, python-format -msgid "Unable to delete profile %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2181 -#, python-format -msgid "Failed to add %s to cg." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2199 -#, python-format -msgid "Failed to remove %s from cg." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2318 -#, python-format -msgid "Unable to locate snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2525 -#, python-format -msgid "Unable to find or create QoS Node named %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2596 -#, python-format -msgid "Unable to delete replication for %(vol)s to %(dest)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2621 -#, python-format -msgid "Unable to find disk folder %(name)s on %(ssn)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2671 -#, python-format -msgid "Unable to replicate %(volname)s to %(destsc)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:251 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:410 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:471 -#, python-format -msgid "Failed to create volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:320 -#, python-format -msgid "Failed to delete volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:525 -#, python-format -msgid "Failed to ensure export of volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:714 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:752 -#, python-format -msgid "Cannot find Consistency Group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:750 -#, python-format -msgid "Failed to snap Consistency Group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:927 -#, python-format -msgid "Retype unable to find volume %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:939 -msgid "Failed to update storage profile" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:950 -msgid "Failed to update replay profiles" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:978 -msgid "Failed to apply replication:activereplay setting" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:108 -msgid "Lun mapping returned null!" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:112 -msgid "Failed to initialize connection." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:157 -msgid "Failed to terminate connection" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_iscsi.py:133 -msgid "Failed to initialize connection" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_iscsi.py:166 -#, python-format -msgid "Failed to terminate connection %(initiator)s %(vol)s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_client.py:273 -#, python-format -msgid "Error in copying volume: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:179 -#, python-format -msgid "Creation of volume %s failed." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:204 -msgid "Volume must be detached for clone operation." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:226 -#, python-format -msgid "Cloning of volume %s failed." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:246 -#, python-format -msgid "Create volume failed from snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:266 -#, python-format -msgid "Deletion of volume %s failed." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:328 -#, python-format -msgid "Error mapping volume: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:344 -#, python-format -msgid "Error unmapping volume: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:353 -msgid "Error getting active FC target ports." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:360 -msgid "Error getting active ISCSI target iqns." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:367 -msgid "Error getting active ISCSI target portals." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:384 -#, python-format -msgid "Creation of snapshot failed for volume: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:401 -#, python-format -msgid "Deleting snapshot %s failed" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:423 -#, python-format -msgid "Extension of volume %s failed." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:432 -msgid "Error getting chap record." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:439 -msgid "Error creating chap record." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:484 -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:942 -#, python-format -msgid "Error migrating volume: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:507 -msgid "Error manage existing volume." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:525 -msgid "Error manage existing get volume size." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:451 -#, python-format -msgid "Error Attaching volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:718 -#, python-format -msgid "Volume %(name)s not found on the array. No volume to migrate using retype." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:852 -#, python-format -msgid "" -"Failed to return volume %(volumeName)s to original storage pool. Please " -"contact your system administrator to return it to the correct location." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:941 -#, python-format -msgid "" -"Unable to create or get default storage group for FAST policy: " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:953 -#, python-format -msgid "" -"Failed to verify that volume was added to storage group for FAST policy: " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:995 -#, python-format -msgid "Error finding target pool instance name for pool: %(targetPoolName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1007 -#, python-format -msgid "Error migrating volume: %(volumename)s. to target pool %(targetPoolName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1022 -#, python-format -msgid "" -"Volume : %(volumeName)s. was not successfully migrated to target pool " -"%(targetPoolName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1102 -#, python-format -msgid "" -"Failed to add %(volumeName)s to default storage group for fast policy " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1128 -msgid "Error getting array, pool, SLO and workload." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1141 -msgid "Error parsing array, pool, SLO and workload." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1144 -#, python-format -msgid "" -"The source array : %(sourceArraySerialNumber)s does not match the target " -"array: %(targetArraySerialNumber)s skipping storage-assisted migration." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1153 -#, python-format -msgid "" -"Only SLO/workload migration within the same SRP Pool is supported in this" -" version The source pool : %(sourcePoolName)s does not match the target " -"array: %(targetPoolName)s. Skipping storage-assisted migration." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1181 -#, python-format -msgid "" -"No action required. Volume: %(volumeName)s is already part of " -"slo/workload combination: %(targetCombination)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1208 -msgid "Error getting target pool name and array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1220 -msgid "Error parsing target pool name, array, and fast policy." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1224 -#, python-format -msgid "" -"The source array : %(sourceArraySerialNumber)s does not match the target " -"array: %(targetArraySerialNumber)s, skipping storage-assisted migration." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1239 -#, python-format -msgid "" -"No action required. Volume: %(volumeName)s is already part of pool: " -"%(pool)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1249 -msgid "Only available volumes can be migrated between different protocols." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1591 -#, python-format -msgid "Target end points do not exist for hardware Id: %(hardwareIdInstance)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2003 -#, python-format -msgid "Unable to determine whether %(volumeName)s is composite or not." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2178 -#, python-format -msgid "Volume %(name)s not found on the array. No volume to delete." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2365 -#, python-format -msgid "Snapshot %(snapshotname)s not found on the array. No volume to delete." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3043 -#: cinder/volume/drivers/emc/emc_vmax_common.py:3166 -#, python-format -msgid "" -"Volume %(name)s is not suitable for storage assisted migration using " -"retype." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3108 -#, python-format -msgid "" -"Volume : %(volumeName)s has not been removed from source storage group " -"%(storageGroup)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3122 -#, python-format -msgid "Failed to get or create storage group %(storageGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3135 -#, python-format -msgid "" -"Volume : %(volumeName)s has not been added to target storage group " -"%(storageGroup)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3407 -#, python-format -msgid "" -"Failed to Roll back to re-add volume %(volumeName)s to default storage " -"group for fast policy %(fastPolicyName)s. Please contact your sysadmin to" -" get the volume returned to the default storage group." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4207 -#, python-format -msgid "Exception: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4226 -#, python-format -msgid "Volume %(name)s not found on the array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:53 -msgid "Cannot determine whether Tiering Policy is supported on this array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:57 -msgid "Tiering Policy is not supported on this array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:90 -msgid "Cannot determine if Tiering Policies are supported." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:116 -msgid "FAST is not supported on this array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:130 -#, python-format -msgid "Unable to find default storage group for FAST policy : %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:180 -#, python-format -msgid "Unable to get default storage group %(defaultSgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:217 -#, python-format -msgid "Failed to create a first volume for storage group : %(storageGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:228 -#, python-format -msgid "" -"Failed to create default storage group for FAST policy : " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:243 -#, python-format -msgid "Unable to get policy rule for fast policy: %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:283 -msgid "Unable to get associated pool of volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:506 -#, python-format -msgid "Cannot find the fast policy %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:524 -#, python-format -msgid "" -"Failed to add storage group %(storageGroupInstanceName)s to tier policy " -"rule %(tierPolicyRuleInstanceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:591 -#, python-format -msgid "Error disassociating storage group from policy: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:667 -#, python-format -msgid "Exception: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:202 -msgid "The list of iscsi_ip_addresses is empty" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:124 -#, python-format -msgid "" -"Masking View creation or retrieval was not successful for masking view " -"%(maskingViewName)s. Attempting rollback." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:720 -#, python-format -msgid "Looks like masking view: %(maskingViewName)s has recently been deleted." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:777 -#, python-format -msgid "" -"Cannot add and verify tier policy association for storage group : " -"%(storageGroupName)s to FAST policy : %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:785 -#, python-format -msgid "Cannot get storage Group from job : %(storageGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:820 -#, python-format -msgid "" -"Could not find port group : %(portGroupName)s. Check that the EMC " -"configuration file has the correct port group name." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1196 -#, python-format -msgid "" -"Cannot find a portGroup with name %(pgGroupName)s. The port group for a " -"masking view must be pre-defined." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1225 -#, python-format -msgid "Cannot create or find an initiator group with name %(igGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1253 -#, python-format -msgid "" -"Cannot find the new masking view just created with name " -"%(maskingViewName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1309 -#, python-format -msgid "" -"Failed to Roll back to re-add volume %(volumeName)s to default storage " -"group for fast policy %(fastPolicyName)s: Please contact your sys admin " -"to get the volume re-added manually." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1443 -#, python-format -msgid "Failed to create hardware id(s) on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1475 -#, python-format -msgid "" -"One of the components of the original masking view %(maskingViewName)s " -"cannot be retrieved so please contact your system administrator to check " -"that the correct initiator(s) are part of masking." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1705 -#, python-format -msgid "" -"Failed to remove %(volumeName)s from the default storage group for the " -"FAST Policy." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2649 -#, python-format -msgid "Cannot get port group from masking view: %(maskingViewName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2660 -msgid "Cannot get port group name." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:379 -#, python-format -msgid "" -"Error Create Group: %(groupName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:324 -#, python-format -msgid "_wait_for_job_complete failed after %(retries)d tries." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:425 -#, python-format -msgid "_wait_for_sync failed after %(retries)d tries." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:494 -msgid "Cannot get storage system." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:968 -#, python-format -msgid "Unable to retrieve pool instance of %(poolName)s on array %(array)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1179 -msgid "Error parsing array from host capabilities." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1510 -#, python-format -msgid "" -"SLO: %(slo)s is not valid. Valid values are Bronze, Silver, Gold, " -"Platinum, Diamond, Optimized, NONE." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1515 -#, python-format -msgid "" -"Workload: %(workload)s is not valid. Valid values are DSS_REP, DSS, OLTP," -" OLTP_REP, NONE." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1638 -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2101 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1851 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1865 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1868 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1871 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1874 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2037 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2069 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2072 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2130 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2140 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2143 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2146 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2223 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2233 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2236 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2239 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2277 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2280 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2497 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2500 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2503 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2506 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2519 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2528 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2575 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2579 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1031 -#, python-format -msgid "Exception: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1888 -msgid "" -"Please check your xml for format or syntax errors. Please see " -"documentation for more details." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1929 -#, python-format -msgid "Array Serial Number must be in the file %(fileName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1935 -#, python-format -msgid "PoolName must be in the file %(fileName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:792 -#, python-format -msgid "Error on enable compression on lun %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:803 -#, python-format -msgid "Error on adding lun to consistency group. %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1042 -#, python-format -msgid "Can not add the lun %(lun)s to consistency group %(cg_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1055 -#, python-format -msgid "Can not remove LUNs %(luns)s in consistency group %(cg_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1068 -#, python-format -msgid "Can not place new LUNs %(luns)s in consistency group %(cg_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1374 -msgid "Failed to query migration status of LUN." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1390 -#, python-format -msgid "Migration of LUN %s failed to complete." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1666 -#, python-format -msgid "Invalid value for %(key)s, value is %(value)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1705 -#, python-format -msgid "Error happened during storage pool querying, %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2418 -msgid "The given extra_spec or valid_values is None." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3162 -#, python-format -msgid "Create consistency group %s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3180 -#, python-format -msgid "Delete consistency group %s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3246 -#, python-format -msgid "Create cg snapshot %s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3271 -#, python-format -msgid "Delete cgsnapshot %s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3685 -#, python-format -msgid "Failed to find available iSCSI targets for %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4010 -#, python-format -msgid "Failed to failover volume %(volume_id)s to %(target)s: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1129 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2994 -#, python-format -msgid "Failed to delete the volume %(vol)s of CG. Exception: %(exception)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1174 -#, python-format -msgid "" -"Failed to delete the snapshot %(snap)s of cgsnapshot: %(cgsnapshot_id)s. " -"Exception: %(exception)s." -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:161 -#, python-format -msgid "can't create 2 volumes with the same name, %s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:166 -#, python-format -msgid "Can't find volume to map %(key)s, %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:337 -msgid "Failed to rename the created snapshot, reverting." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:43 -msgid "import pywbem failed!! pywbem is necessary for this volume driver." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2090 -#, python-format -msgid "_wait_for_job_complete, failed after %(retries)d tries." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:171 -#, python-format -msgid "MSGID%(id)04d-E: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:727 -#, python-format -msgid "Failed to update volume status: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:229 -msgid "Failed to shutdown horcm." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:297 -msgid "horcm command timeout." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:304 -msgid "Failed to authenticate user." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:313 -msgid "Failed to start horcm." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:317 -msgid "Unexpected error occurs in horcm." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_iscsi.py:182 -#, python-format -msgid "Failed to add target(port: %s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_snm2.py:76 -msgid "snm2 command timeout." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_snm2.py:90 -msgid "Unexpected error occurs in snm2." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:327 -#, python-format -msgid "Error getting iSCSI target info from EVS %(evs)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:251 -#, python-format -msgid "No configuration found for service: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:316 -msgid "No more targets avaliable." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:456 -#, python-format -msgid "HDP not found: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:517 -#, python-format -msgid "iSCSI portal not found for service: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:631 -msgid "delete_vol: provider location empty." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:808 -#, python-format -msgid "Array mismatch %(myid)s vs %(arid)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:221 -#, python-format -msgid "No configuration found for service: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:500 -#, python-format -msgid "NFS share %(share)s has no service entry: %(svc)s -> %(hdp)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:601 -#, python-format -msgid "Invalid hostname %(host)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:794 -#, python-format -msgid "The NFS Volume %(cr)s does not exist." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:416 -#, python-format -msgid "" -"The primary array must have an API version of %(min_ver)s or higher, but " -"is only on %(current_ver)s, therefore replication is not supported." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:570 -#, python-format -msgid "Conflict detected in Virtual Volume Set %(volume_set)s: %(error)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:583 -#, python-format -msgid "There was an error deleting volume %(id)s: %(error)." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:604 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:615 -#, python-format -msgid "Virtual Volume Set %s does not exist." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:683 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:571 -#, python-format -msgid "There was an error deleting snapshot %(id)s: %(error)." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1030 -#, python-format -msgid "Error extending volume: %(vol)s. Exception: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1556 -#, python-format -msgid "Error creating QOS rule %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1589 -#, python-format -msgid "Error setting Flash Cache policy to %s - exception" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2203 -#, python-format -msgid "Error extending volume %(id)s. Ex: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2334 -#, python-format -msgid "Error attaching volume %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2409 -#, python-format -msgid "" -"Changing the volume name from %(tmp)s to %(orig)s failed because " -"%(reason)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2917 -msgid "Issuing a fail-over failed because replication is not properly configured." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2964 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1468 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1610 -#, python-format -msgid "" -"There was a problem with the failover (%(error)s) and it was " -"unsuccessful. Volume '%(volume)s will not be available on the failed over" -" target." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3111 -#, python-format -msgid "Could not log in to 3PAR array (%s) with the provided credentials." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3136 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1688 -msgid "There must be at least one valid replication device configured." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3146 -msgid "" -"Extra spec replication:mode must be set and must be either 'sync' or " -"'periodic'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3154 -msgid "" -"Extra spec replication:sync_period must be greater than 299 and less than" -" 31622401 seconds." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3596 -#, python-format -msgid "Exception during snapCPG revert: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3668 -#, python-format -msgid "Unexpected error when retype() tried to deleteVolumeSet(%s)" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3690 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3693 -#, python-format -msgid "Unexpected error when retype() revert tried to deleteVolumeSet(%s)" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3701 -#, python-format -msgid "" -"%(exception)s: Exception during revert of retype for volume " -"%(volume_name)s. Original volume set/QOS settings may not have been fully" -" restored." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3712 -#, python-format -msgid "" -"%(exception)s: Exception during revert of retype for volume " -"%(volume_name)s. Failed to remove from new volume set %(new_vvs)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:679 -#, python-format -msgid "Volume %s doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:429 -msgid "Volume did not exist. It will not be deleted" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:472 -#, python-format -msgid "There was an error deleting volume %(id)s: %(error)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:509 -#, python-format -msgid "Could not find volume with name %(name)s. Error: %(error)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:535 -#, python-format -msgid "Could not create snapshot set. Error: '%s'" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:567 -msgid "The snapshot cannot be deleted because it is a clone point." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:606 -msgid "Snapshot did not exist. It will not be deleted" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:837 -#, python-format -msgid "'%(value)s' is an invalid value for extra spec '%(key)s'" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1062 -#, python-format -msgid "" -"Changing the volume name from %(tmp)s to %(orig)s failed because " -"%(reason)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1558 -#, python-format -msgid "Could not log in to LeftHand array (%s) with the provided credentials." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:225 -msgid "" -"Extra specs must be specified as replication_type=' sync' or ' " -"async'." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:229 -#, python-format -msgid "Extra specs must be specified as capabilities:%s=' True'." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:319 -#, python-format -msgid "Create hypermetro error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:330 -msgid "Create replication volume error." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:391 -#, python-format -msgid "Delete hypermetro error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:404 -msgid "Delete replication error." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:448 -msgid "Get LUN migration error." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:506 -#, python-format -msgid "Unable to rename lun %s on array." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:866 -msgid "Retype volume error. Delete replication failed." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:883 -msgid "Retype volume error." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:896 -msgid "Retype volume error. Create replication failed." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1328 -msgid "Manage exist volume failed." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:492 -#, python-format -msgid "Create pair failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:502 -#, python-format -msgid "Start synchronization failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:96 -#, python-format -msgid "Bad response from server: %(url)s. Error: %(err)s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:106 -#, python-format -msgid "JSON transfer error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:124 -#, python-format -msgid "" -"Login error. URL: %(url)s\n" -"Reason: %(reason)s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:161 -msgid "Can't open the recent url, relogin." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:466 -msgid "" -"Error occurred when adding hostgroup and lungroup to view. Remove lun " -"from lungroup now." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:619 -#, python-format -msgid "JSON transfer data error. %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1835 -msgid "Can not open the recent url, login again." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:231 -#, python-format -msgid "Failed to copy %(src)s to %(dest)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:666 -#, python-format -msgid "" -"%(fun)s: Failed with unexpected CLI output.\n" -" Command: %(cmd)s\n" -"stdout: %(out)s\n" -"stderr: %(err)s\n" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:826 -#, python-format -msgid "" -"_unmap_vdisk_from_host: No mapping of volume %(vol_name)s to host " -"%(host_name)s found." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:292 -#, python-format -msgid "" -"initialize_connection: Failed to collect return properties for volume " -"%(vol)s and connector %(conn)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:383 -msgid "The connector does not contain the required information: wwpns is missing" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:249 -#, python-format -msgid "" -"Failed to collect return properties for volume %(vol)s and connector " -"%(conn)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:383 -msgid "" -"The connector does not contain the required information: initiator is " -"missing" -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:143 -#, python-format -msgid "Failed to issue mmgetstate command, error: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:154 -#, python-format -msgid "GPFS is not active. Detailed output: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:166 -#, python-format -msgid "Failed to issue df command for path %(path)s, error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:181 cinder/volume/drivers/ibm/gpfs.py:267 -#, python-format -msgid "Failed to issue mmlsconfig command, error: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:191 -#, python-format -msgid "Failed to issue mmlsattr command on path %(path)s, error: %(error)s" -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:246 -#, python-format -msgid "Failed to issue mmlsfs command for path %(path)s, error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:284 -#, python-format -msgid "Failed to issue mmlsattr command for path %(path)s, error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:768 -#, python-format -msgid "Failed to issue mmlsfs command, error: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:933 -#, python-format -msgid "Failed to resize volume %(volume_id)s, error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1014 -#, python-format -msgid "" -"Driver-based migration of volume %(vol)s failed. Move from %(src)s to " -"%(dst)s failed with error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:307 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2059 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2109 -#: cinder/volume/drivers/san/san.py:150 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:427 -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:269 -#, python-format -msgid "Error running SSH command: %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:382 -#, python-format -msgid "Unable to access the Storwize back-end for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:390 -msgid "A valid secondary target MUST be specified in order to failover." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:266 -msgid "" -"storwize_svc_multihostmap_enabled is set to False, not allowing multi " -"host mapping." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:273 -msgid "Error mapping VDisk-to-host" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:963 -msgid "Replication must be specified as ' True' or ' False'." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1220 -#, python-format -msgid "Failed to create CGSnapshot. Exception: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1236 -#, python-format -msgid "" -"Failed to delete the snapshot %(snap)s of CGSnapshot. Exception: " -"%(exception)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1297 -#, python-format -msgid "Failed to create CG from CGsnapshot. Exception: %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2091 -#, python-format -msgid "Error has occurred: %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2119 -#, python-format -msgid "ensure_export: Volume %s not found on storage." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2360 -#, python-format -msgid "" -"_rm_vdisk_copy_op: Volume %s does not have any registered vdisk copy " -"operations." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2364 -#, python-format -msgid "" -"_rm_vdisk_copy_op: Volume %(vol)s does not have the specified vdisk copy " -"operation: orig=%(orig)s new=%(new)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2375 -#, python-format -msgid "" -"_rm_vdisk_copy_op: Volume metadata %s does not have any registered vdisk " -"copy operations." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2383 -#, python-format -msgid "" -"_rm_vdisk_copy_op: Volume %(vol)s metadata does not have the specified " -"vdisk copy operation: orig=%(orig)s new=%(new)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2491 -msgid "" -"Unable to failover to the secondary. Please make sure that the secondary " -"back-end is ready." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2655 -#, python-format -msgid "" -"The replication mode of %(type)s has not successfully established " -"partnership with the replica Storwize target %(stor)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:99 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:99 -msgid "The connector does not contain the required information." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:143 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:149 -#, python-format -msgid "Did not find expected column name in lsvdisk: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:198 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:203 -#, python-format -msgid "" -"initialize_connection: Failed to collect return properties for volume " -"%(vol)s and connector %(conn)s.\n" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/cli_factory.py:48 -#, python-format -msgid "Retry %(retry)s times: %(method)s Failed %(rc)s: %(reason)s" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/cli_factory.py:147 -#, python-format -msgid "Error on execute command. Error code: %(exit_code)d Error msg: %(result)s" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/cli_factory.py:222 -#, python-format -msgid "" -"Error on execute %(command)s. Error code: %(exit_code)d Error msg: " -"%(result)s" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1541 -#, python-format -msgid "Can not discovery in %(target_ip)s with %(target_iqn)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1700 -msgid "Cannot detect replica status." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1930 -#, python-format -msgid "Failed to rename %(new_volume)s into %(volume)s." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:286 -#, python-format -msgid "Cannot get QoS spec for volume %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:211 -#, python-format -msgid "Exception creating LUN %(name)s in pool %(pool)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:328 -#, python-format -msgid "Exception cloning volume %(name)s from source volume %(source)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:466 -#, python-format -msgid "Message: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:468 -#, python-format -msgid "Error getting LUN attribute. Exception: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:618 -#, python-format -msgid "Failure deleting staged tmp LUN %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:621 -#, python-format -msgid "Unknown exception in post clone resize LUN %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:623 -#, python-format -msgid "Exception details: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:1013 -#, python-format -msgid "Volume %(vol)s in the consistency group could not be deleted." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:123 -#, python-format -msgid "Exception creating vol %(name)s on pool %(pool)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:168 -#, python-format -msgid "" -"Exception creating volume %(name)s from source %(source)s on share " -"%(share)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:94 -#, python-format -msgid "Setting QoS for %s failed" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:367 -#, python-format -msgid "" -"Could not do delete of volume %s on filer, falling back to exec of \"rm\"" -" command." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:373 -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:403 -#, python-format -msgid "Exec of \"rm\" command on backing file for %s was unsuccessful." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:397 -#, python-format -msgid "" -"Could not do delete of snapshot %s on filer, falling back to exec of " -"\"rm\" command." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:446 -#, python-format -msgid "Copy offload workflow unsuccessful. %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:501 -#, python-format -msgid "Error in workflow copy from cache. %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:108 -#, python-format -msgid "Error provisioning volume %(lun_name)s on %(volume_name)s. Details: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:208 -#, python-format -msgid "LUN %(path)s geometry failed. Message - %(msg)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/performance/perf_7mode.py:51 -#: cinder/volume/drivers/netapp/dataontap/performance/perf_cmode.py:58 -msgid "" -"Could not get performance base counter name. Performance-based scheduler " -"functions may not be available." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/performance/perf_7mode.py:91 -#: cinder/volume/drivers/netapp/dataontap/performance/perf_cmode.py:147 -#, python-format -msgid "Could not get utilization counters from node %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/performance/perf_base.py:86 -#, python-format -msgid "Could not calculate node utilization for node %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:88 -#, python-format -msgid "Unexpected error while invoking web service. Error - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:254 -#, python-format -msgid "Error resolving host %(host)s. Error - %(e)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:593 -#: cinder/volume/drivers/netapp/eseries/library.py:631 -#, python-format -msgid "Error creating volume. Msg - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:611 -#, python-format -msgid "Error cleaning up failed volume creation. Msg - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:661 -#, python-format -msgid "Failure restarting snap vol. Error: %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:691 -#, python-format -msgid "Vol copy job status %s." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:278 -#: cinder/volume/drivers/nexenta/nfs.py:420 -#: cinder/volume/drivers/nexenta/ns5/nfs.py:326 -#, python-format -msgid "Volume creation failed, deleting created snapshot %(volume_name)s@%(name)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:457 -#: cinder/volume/drivers/nexenta/nfs.py:308 -#, python-format -msgid "Error trying to change %(opt)s from %(old)s to %(new)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:105 -#, python-format -msgid "No VIP configured for service %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:112 -#, python-format -msgid "Error verifying iSCSI service %(serv)s on host %(hst)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:121 -#, python-format -msgid "Error verifying LUN container %(bkt)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:133 -#, python-format -msgid "Error retrieving LUN %(vol)s number" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:159 -msgid "Error creating volume" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:168 -msgid "Error deleting volume" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:178 -msgid "Error extending volume" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:192 -msgid "Error cloning volume" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:218 -msgid "Error deleting snapshot" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:238 -msgid "Error creating cloned volume" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:345 -#, python-format -msgid "Volume creation failed, deleting created snapshot %s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:59 -#, python-format -msgid "Failed to get fiber channel info from storage due to %(stat)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:84 -#, python-format -msgid "Failed to get fiber channel target from storage server due to %(stat)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:102 -#, python-format -msgid "Failed to get target wwpns from storage due to %(stat)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:120 -msgid "Failed to get sns table" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:148 -#, python-format -msgid "" -"Volume %(volumeid)s failed to send assign command, ret: %(status)s " -"output: %(output)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:288 -#, python-format -msgid "Failed to export fiber channel target due to %s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:97 -#, python-format -msgid "JSON encode params %(param)s error: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:109 -#, python-format -msgid "Connect to Flexvisor error: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:113 -#, python-format -msgid "Connect to Flexvisor failed: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:137 -#, python-format -msgid "Failed to send request: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:146 -msgid "The Flexvisor service is unavailable." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:160 -#, python-format -msgid "Failed to get response: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:169 -#, python-format -msgid "" -"%(method)s %(url)s unexpected response status: %(response)s (expects: " -"%(expects)s)." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:187 -#: cinder/volume/drivers/prophetstor/dplcommon.py:201 -#, python-format -msgid "Call to json.loads() raised an exception: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:191 -#: cinder/volume/drivers/prophetstor/dplcommon.py:205 -#, python-format -msgid "Read response raised an exception: %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:783 -#, python-format -msgid "Flexvisor failed to get event %(volume)s (%(status)s)." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1403 -#, python-format -msgid "Flexvisor failed to get pool list.(Error: %d)" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1406 -#, python-format -msgid "Flexvisor failed to get pool list due to %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1458 -#, python-format -msgid "Failed to get server info due to %(state)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1487 -#, python-format -msgid "Flexvisor failed to get pool %(id)s info." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:176 -#, python-format -msgid "Lun create for %s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:200 -#, python-format -msgid "Lun %s has dependent snapshots, skipping lun deletion." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:205 -#, python-format -msgid "Lun delete for %s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:242 -msgid "LUN extend failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:285 -#, python-format -msgid "Lun create snapshot for volume %(vol)s snapshot %(snap)s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:318 -#, python-format -msgid "Lun delete snapshot for volume %(vol)s snapshot %(snap)s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:359 -#, python-format -msgid "Copy snapshot to volume for snapshot %(snap)s volume %(vol)s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:402 -#, python-format -msgid "Create new lun from lun for source %(src)s => destination %(dest)s failed!" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:220 -#: cinder/volume/drivers/violin/v7000_fcp.py:249 -msgid "Backend returned err for lun export." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:253 -msgid "LUN unexport failed!" -msgstr "" - -#: cinder/volume/drivers/vmware/datastore.py:70 -#, python-format -msgid "Storage profile: %s cannot be found in vCenter." -msgstr "" - -#: cinder/volume/drivers/vmware/datastore.py:222 -msgid "Error occurred while selecting datastore." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:460 -#, python-format -msgid "There are no valid hosts available in configured cluster(s): %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:466 -#, python-format -msgid "There is no valid datastore satisfying requirements: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:722 -#, python-format -msgid "Error occurred while copying %(src)s to %(dst)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:830 -#, python-format -msgid "Error occurred while copying image: %(image_id)s to %(path)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:962 -#, python-format -msgid "Error occurred while creating volume: %(id)s from image: %(image_id)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1037 -#: cinder/volume/drivers/vmware/vmdk.py:1114 -#, python-format -msgid "Error occurred while copying image: %(id)s to volume: %(vol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1325 -#, python-format -msgid "Error occurred while cloning backing: %s during retype." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1410 -#, python-format -msgid "Failed to extend volume: %(vol)s to size: %(size)s GB." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1529 -msgid "Error occurred while creating temporary backing." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1779 -#, python-format -msgid "Version string '%s' is not parseable" -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1803 -#, python-format -msgid "Not able to configure PBM for vCenter server: %s" -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1400 -#, python-format -msgid "Virtual disk device of backing: %s not found." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1600 -#, python-format -msgid "Compute cluster: %s not found." -msgstr "" - -#: cinder/volume/drivers/zfssa/restclient.py:298 -#, python-format -msgid "REST Not Available: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/restclient.py:304 -#, python-format -msgid "Server Busy retry request: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/restclient.py:310 -#, python-format -msgid "Authorizing request: %(zfssaurl)s retry: %(retry)d ." -msgstr "" - -#: cinder/volume/drivers/zfssa/restclient.py:325 -#, python-format -msgid "URLError: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:112 -#, python-format -msgid "WebDAV returned with %(code)s error during %(method)s call." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:117 -#, python-format -msgid "" -"WebDAV operation failed with error code: %(code)s reason: %(reason)s " -"Retry attempt %(retry)s in progress." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:194 -msgid "zfssa_initiator cannot be empty when creating a zfssa_initiator_group." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:329 -#, python-format -msgid "" -"Volume ID %s was not found on the zfssa device while attempting " -"delete_volume operation." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:380 -#, python-format -msgid "Snapshot %s: has clones" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:492 -#, python-format -msgid "Clone Volume:%(volume)s failed from source volume:%(src_vref)s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:539 -#: cinder/volume/drivers/zfssa/zfssanfs.py:341 -#, python-format -msgid "Image size %(img_size)dGB is larger than volume size %(vol_size)dGB." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:566 -#: cinder/volume/drivers/zfssa/zfssanfs.py:373 -#, python-format -msgid "Cannot clone image %(image)s to volume %(volume)s. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:851 -#: cinder/volume/drivers/zfssa/zfssanfs.py:612 -#, python-format -msgid "" -"Location info needed for backend enabled volume migration not in correct " -"format: %s. Continuing with generic volume migration." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:857 -msgid "" -"zfssa_replication_ip not set in cinder.conf. zfssa_replication_ip is " -"needed for backend enabled volume migration. Continuing with generic " -"volume migration." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1038 -#: cinder/volume/drivers/zfssa/zfssanfs.py:669 -#, python-format -msgid "Failed to rename volume %(existing)s to %(new)s. Volume manage failed." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1066 -#: cinder/volume/drivers/zfssa/zfssanfs.py:742 -#, python-format -msgid "Failed to rename volume %(existing)s to %(new)s. Volume unmanage failed." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:190 -#, python-format -msgid "Exception during mounting %s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:260 -#, python-format -msgid "" -"Error in extending volume size: Volume: %(volume)s Vol_Size: %(vol_size)d" -" with Snapshot: %(snapshot)s Snap_Size: %(snap_size)d" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:680 -#, python-format -msgid "Failed to set properties for volume %(existing)s. Volume manage failed." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:752 -#, python-format -msgid "Failed to set properties for volume %(existing)s. Volume unmanage failed." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:775 -#, python-format -msgid "" -"Error Getting Snapshot: %(snapshot)s of Volume: %(lun)s in Pool: " -"%(pool)s, Project: %(project)s Return code: %(ret.status)d, Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:811 -#, python-format -msgid "" -"Error Setting Volume: %(lun)s to InitiatorGroup: %(initiatorgroup)s Pool:" -" %(pool)s Project: %(project)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1268 -#, python-format -msgid "Cannot delete file %s." -msgstr "" - -#: cinder/volume/flows/common.py:61 -#, python-format -msgid "" -"Failed setting source volume %(source_volid)s back to its initial " -"%(source_status)s status" -msgstr "" - -#: cinder/volume/flows/common.py:96 -#, python-format -msgid "Failed updating %(object_type)s %(object_id)s with %(update)s" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:563 -#, python-format -msgid "Failed destroying volume entry %s" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:668 -#, python-format -msgid "Failed rolling back quota for %s reservations" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:715 -#, python-format -msgid "Failed to update quota for deleting volume: %s" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:823 -#: cinder/volume/flows/manager/create_volume.py:168 -#: cinder/volume/flows/manager/create_volume.py:176 -#: cinder/volume/flows/manager/create_volume.py:220 -#, python-format -msgid "Volume %s: create failed" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:827 -#: cinder/volume/flows/api/manage_existing.py:131 -msgid "Unexpected build error:" -msgstr "" - -#: cinder/volume/flows/api/manage_existing.py:95 -#, python-format -msgid "Failed destroying volume entry: %s." -msgstr "" - -#: cinder/volume/flows/api/manage_existing.py:127 -#, python-format -msgid "Volume %s: manage failed." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:120 -#, python-format -msgid "Volume %s: update volume state failed." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:189 -#, python-format -msgid "Volume %s: rescheduling failed" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:349 -#, python-format -msgid "" -"Failed notifying about the volume action %(event)s for volume " -"%(volume_id)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:454 -#, python-format -msgid "" -"Failed fetching snapshot %(snapshot_id)s bootable flag using the provided" -" glance snapshot %(snapshot_ref_id)s volume reference" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:471 -#, python-format -msgid "Failed updating volume %(volume_id)s bootable flag to true" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:526 -#: cinder/volume/flows/manager/create_volume.py:535 -#, python-format -msgid "Failed to copy image %(image_id)s to volume: %(volume_id)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:531 -#, python-format -msgid "Failed to copy image to volume: %(volume_id)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:633 -#, python-format -msgid "Failed to clone image volume %(id)s." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:651 -#, python-format -msgid "Failed updating volume %(volume_id)s with %(updates)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:808 -#, python-format -msgid "Unable to create volume. Volume driver %s not initialized" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:846 -#: cinder/volume/flows/manager/manage_existing.py:85 -#, python-format -msgid "" -"Failed updating model of volume %(volume_id)s with creation provided " -"model %(model)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:889 -#, python-format -msgid "Failed updating volume %(volume_id)s with %(update)s" -msgstr "" - -#: cinder/volume/flows/manager/manage_existing.py:46 -#, python-format -msgid "Unable to manage existing volume. Volume driver %s not initialized." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:64 -#, python-format -msgid "Snapshot %s: create failed" -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:90 -#, python-format -msgid "" -"Failed notifying about the snapshot action %(event)s for snapshot " -"%(snp_id)s." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:111 -#, python-format -msgid "Unable to manage existing snapshot. Volume driver %s not initialized." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:180 -#, python-format -msgid "Failed rolling back quota for %s reservations." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:224 -#, python-format -msgid "Failed to update quota while deleting snapshots: %s" -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:251 -#, python-format -msgid "" -"Failed updating model of snapshot %(snapshot_id)s with creation provided " -"model %(model)s." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:297 -#, python-format -msgid "Failed updating snapshot %(snapshot_id)s with %(update)s." -msgstr "" - -#: cinder/volume/targets/cxt.py:156 cinder/volume/targets/scst.py:132 -#, python-format -msgid "Failed to create iscsi target for volume id:%(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/cxt.py:177 -#, python-format -msgid "" -"Failed to create iscsi target for volume id:%(vol_id)s. Please verify " -"your configuration in %(volumes_dir)s'" -msgstr "" - -#: cinder/volume/targets/cxt.py:239 cinder/volume/targets/scst.py:337 -#: cinder/volume/targets/scst.py:356 -#, python-format -msgid "Failed to remove iscsi target for volume id:%(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/iet.py:54 -#, python-format -msgid "Failed to open iet session list for %s" -msgstr "" - -#: cinder/volume/targets/iet.py:104 -#, python-format -msgid "Failed to create iscsi target for volume id:%s" -msgstr "" - -#: cinder/volume/targets/iet.py:126 -#, python-format -msgid "Failed to create %(conf)s for volume id:%(vol_id)s" -msgstr "" - -#: cinder/volume/targets/iet.py:142 -#, python-format -msgid "Failed to update %(conf)s for volume id:%(vol_id)s" -msgstr "" - -#: cinder/volume/targets/iet.py:159 -#, python-format -msgid "Failed to remove iscsi target for volume id:%s" -msgstr "" - -#: cinder/volume/targets/iet.py:186 -#, python-format -msgid "" -"Failed to update %(conf)s for volume id %(vol_id)s after removing iscsi " -"target" -msgstr "" - -#: cinder/volume/targets/iscsi.py:301 -msgid "The volume driver requires the iSCSI initiator name in the connector." -msgstr "" - -#: cinder/volume/targets/lio.py:41 -msgid "cinder-rtstool is not installed correctly" -msgstr "" - -#: cinder/volume/targets/lio.py:129 cinder/volume/targets/lio.py:137 -#, python-format -msgid "Failed to create iscsi target for volume id:%s." -msgstr "" - -#: cinder/volume/targets/lio.py:157 -#, python-format -msgid "Failed to remove iscsi target for volume id:%s." -msgstr "" - -#: cinder/volume/targets/lio.py:179 -#, python-format -msgid "Failed to add initiator iqn %s to target" -msgstr "" - -#: cinder/volume/targets/lio.py:200 -#, python-format -msgid "Failed to delete initiator iqn %s from target." -msgstr "" - -#: cinder/volume/targets/scst.py:121 -#, python-format -msgid "Failed to set attribute for enable target driver %s" -msgstr "" - -#: cinder/volume/targets/scst.py:140 -#, python-format -msgid "Failed to set 'enable' attribute for SCST target %s" -msgstr "" - -#: cinder/volume/targets/scst.py:172 -#, python-format -msgid "Failed to create group to SCST target %s" -msgstr "" - -#: cinder/volume/targets/scst.py:184 -#, python-format -msgid "Failed to add initiator to group for SCST target %s" -msgstr "" - -#: cinder/volume/targets/scst.py:201 -#, python-format -msgid "Failed to add device to handler %s" -msgstr "" - -#: cinder/volume/targets/scst.py:218 -#, python-format -msgid "Failed to add lun to SCST target id:%(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/scst.py:229 -msgid "Failed to write in /etc/scst.conf." -msgstr "" - -#: cinder/volume/targets/scst.py:314 -#, python-format -msgid "" -"Skipping remove_export. No iscsi_target ispresently exported for volume: " -"%s" -msgstr "" - -#: cinder/volume/targets/scst.py:345 cinder/volume/targets/scst.py:380 -#, python-format -msgid "Failed to close disk device %s" -msgstr "" - -#: cinder/volume/targets/scst.py:371 -#, python-format -msgid "Failed to remove LUN %s" -msgstr "" - -#: cinder/volume/targets/tgt.py:101 -#, python-format -msgid "" -"Failed recovery attempt to create iscsi backing lun for Volume " -"ID:%(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/tgt.py:197 -#, python-format -msgid "Failed to create iscsi target for Volume ID: %(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/tgt.py:221 -#, python-format -msgid "" -"Failed to create iscsi target for Volume ID: %(vol_id)s. Please ensure " -"your tgtd config file contains 'include %(volumes_dir)s/*'" -msgstr "" - -#: cinder/volume/targets/tgt.py:280 cinder/volume/targets/tgt.py:303 -#, python-format -msgid "Failed to remove iscsi target for Volume ID: %(vol_id)s: %(e)s" -msgstr "" - -#: cinder/zonemanager/fc_san_lookup_service.py:91 -msgid "Unable to get device mapping from network." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:129 -#, python-format -msgid "Failed collecting name server info from fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:190 -msgid "Failed collecting nsshow info for fabric" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:199 -msgid "Failed collecting nscamshow" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:84 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:90 -#, python-format -msgid "Failed getting active zone set from fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:155 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:176 -#, python-format -msgid "Deleting zone failed %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:269 -#, python-format -msgid "Failed collecting nsshow info for fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:341 -msgid "No CLI output for firmware version check" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:410 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:473 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:431 -msgid "Error executing SSH command." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:492 -#, python-format -msgid "Error executing command via ssh: %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:551 -msgid "Error closing channel." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:393 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:433 -msgid "Error getting name server info." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:184 -msgid "Failed collecting show fcns database for fabric" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:225 -#, python-format -msgid "Failed getting zone status from fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:306 -#, python-format -msgid "Failed collecting fcns database info for fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:449 -msgid "Error executing command via ssh." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:454 -msgid "Error getting show fcns database info." -msgstr "" - diff -Nru cinder-8.0.0/cinder/locale/cinder-log-info.pot cinder-8.1.0/cinder/locale/cinder-log-info.pot --- cinder-8.0.0/cinder/locale/cinder-log-info.pot 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cinder-log-info.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,4177 +0,0 @@ -# Translations template for cinder. -# Copyright (C) 2016 ORGANIZATION -# This file is distributed under the same license as the cinder project. -# FIRST AUTHOR , 2016. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-23 06:37+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.2.0\n" - -#: cinder/coordination.py:97 -msgid "Coordination backend started successfully." -msgstr "" - -#: cinder/coordination.py:162 -msgid "Reconnecting to coordination backend." -msgstr "" - -#: cinder/coordination.py:175 -msgid "Reconnected to coordination backend." -msgstr "" - -#: cinder/manager.py:138 -msgid "Resetting cached RPC version pins." -msgstr "" - -#: cinder/rpc.py:205 -#, python-format -msgid "" -"Automatically selected %(binary)s RPC version %(version)s as minimum " -"service version." -msgstr "" - -#: cinder/rpc.py:218 -#, python-format -msgid "" -"Automatically selected %(binary)s objects version %(version)s as minimum " -"service version." -msgstr "" - -#: cinder/service.py:147 -#, python-format -msgid "Starting %(topic)s node (version %(version_string)s)" -msgstr "" - -#: cinder/ssh_utils.py:82 -#, python-format -msgid "" -"Secondary ssh hosts key file %(kwargs)s will be loaded along with " -"%(conf)s from /etc/cinder.conf." -msgstr "" - -#: cinder/api/extensions.py:184 -msgid "Initializing extension manager." -msgstr "" - -#: cinder/api/extensions.py:199 -#, python-format -msgid "Loaded extension: %s" -msgstr "" - -#: cinder/api/contrib/backups.py:182 -#, python-format -msgid "Delete backup with id: %s" -msgstr "" - -#: cinder/api/contrib/backups.py:267 -#, python-format -msgid "Creating backup of volume %(volume_id)s in container %(container)s" -msgstr "" - -#: cinder/api/contrib/backups.py:303 -#, python-format -msgid "Restoring backup %(backup_id)s to volume %(volume_id)s" -msgstr "" - -#: cinder/api/contrib/cgsnapshots.py:112 -#, python-format -msgid "Delete cgsnapshot with id: %s" -msgstr "" - -#: cinder/api/contrib/cgsnapshots.py:178 -#, python-format -msgid "Creating cgsnapshot %(name)s." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:172 -#, python-format -msgid "Delete consistency group with id: %s" -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:234 -#, python-format -msgid "Creating consistency group %(name)s." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:285 -#, python-format -msgid "Creating consistency group %(name)s from cgsnapshot %(snap)s." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:290 -#, python-format -msgid "" -"Creating consistency group %(name)s from source consistency group " -"%(source_cgid)s." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:347 -#, python-format -msgid "" -"Updating consistency group %(id)s with name %(name)s description: " -"%(description)s add_volumes: %(add_volumes)s remove_volumes: " -"%(remove_volumes)s." -msgstr "" - -#: cinder/api/contrib/hosts.py:187 -#, python-format -msgid "Setting host %(host)s to %(state)s." -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:80 -msgid "Unable to parse XML input." -msgstr "" - -#: cinder/api/contrib/snapshot_actions.py:90 -#, python-format -msgid "Updating snapshot %(id)s with info %(dict)s" -msgstr "" - -#: cinder/api/contrib/snapshot_unmanage.py:51 -#, python-format -msgid "Unmanage snapshot with id: %s" -msgstr "" - -#: cinder/api/contrib/volume_transfer.py:170 -#, python-format -msgid "Creating transfer of volume %s" -msgstr "" - -#: cinder/api/contrib/volume_transfer.py:203 -#, python-format -msgid "Accepting transfer %s" -msgstr "" - -#: cinder/api/contrib/volume_transfer.py:224 -#, python-format -msgid "Delete transfer with id: %s" -msgstr "" - -#: cinder/api/contrib/volume_unmanage.py:54 -#, python-format -msgid "Unmanage volume with id: %s" -msgstr "" - -#: cinder/api/middleware/fault.py:57 cinder/api/openstack/wsgi.py:1158 -#, python-format -msgid "%(url)s returned with HTTP %(status)d" -msgstr "" - -#: cinder/api/openstack/wsgi.py:825 -#, python-format -msgid "Fault thrown: %s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:828 -#, python-format -msgid "HTTP exception thrown: %s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1033 -#, python-format -msgid "%(method)s %(url)s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1161 -#, python-format -msgid "%(url)s returned a fault: %(e)s" -msgstr "" - -#: cinder/api/v1/snapshots.py:116 cinder/api/v2/snapshots.py:92 -#, python-format -msgid "Delete snapshot with id: %s" -msgstr "" - -#: cinder/api/v1/snapshots.py:180 cinder/api/v2/snapshots.py:170 -#, python-format -msgid "Create snapshot from volume %s" -msgstr "" - -#: cinder/api/v1/volumes.py:119 -#, python-format -msgid "vol=%s" -msgstr "" - -#: cinder/api/v1/volumes.py:247 cinder/api/v2/volumes.py:191 -#, python-format -msgid "Delete volume with id: %s" -msgstr "" - -#: cinder/api/v1/volumes.py:374 cinder/api/v2/volumes.py:388 -#, python-format -msgid "Create volume of %s GB" -msgstr "" - -#: cinder/backup/api.py:421 -#, python-format -msgid "Creating volume of %(size)s GB for restore of backup %(backup_id)s." -msgstr "" - -#: cinder/backup/api.py:448 -#, python-format -msgid "Overwriting volume %(volume_id)s with restore of backup %(backup_id)s" -msgstr "" - -#: cinder/backup/chunkeddriver.py:638 -msgid "volume_file does not support fileno() so skipping fsync()" -msgstr "" - -#: cinder/backup/driver.py:67 -#, python-format -msgid "Value with type=%s is not serializable" -msgstr "" - -#: cinder/backup/driver.py:87 cinder/backup/driver.py:114 -#: cinder/backup/driver.py:138 -#, python-format -msgid "Unable to serialize field '%s' - excluding from backup" -msgstr "" - -#: cinder/backup/manager.py:133 -msgid "Cleaning up incomplete backup operations." -msgstr "" - -#: cinder/backup/manager.py:155 -#, python-format -msgid "" -"Resetting volume %(vol_id)s to previous status %(status)s (was backing-" -"up)." -msgstr "" - -#: cinder/backup/manager.py:163 -#, python-format -msgid "setting volume %s to error_restoring (was restoring-backup)." -msgstr "" - -#: cinder/backup/manager.py:170 -#, python-format -msgid "Resetting backup %s to error (was creating)." -msgstr "" - -#: cinder/backup/manager.py:179 -#, python-format -msgid "Resetting backup %s to available (was restoring)." -msgstr "" - -#: cinder/backup/manager.py:188 -#, python-format -msgid "Resuming delete on backup: %s." -msgstr "" - -#: cinder/backup/manager.py:270 -#, python-format -msgid "Create backup started, backup: %(backup_id)s volume: %(volume_id)s." -msgstr "" - -#: cinder/backup/manager.py:328 -#, python-format -msgid "Create backup finished. backup: %s." -msgstr "" - -#: cinder/backup/manager.py:366 -#, python-format -msgid "Restore backup started, backup: %(backup_id)s volume: %(volume_id)s." -msgstr "" - -#: cinder/backup/manager.py:399 -#, python-format -msgid "" -"Volume: %(vol_id)s, size: %(vol_size)d is larger than backup: " -"%(backup_id)s, size: %(backup_size)d, continuing with restore." -msgstr "" - -#: cinder/backup/manager.py:434 -#, python-format -msgid "" -"Restore backup finished, backup %(backup_id)s restored to volume " -"%(volume_id)s." -msgstr "" - -#: cinder/backup/manager.py:465 -#, python-format -msgid "Delete backup started, backup: %s." -msgstr "" - -#: cinder/backup/manager.py:529 -#, python-format -msgid "Delete backup finished, backup %s deleted." -msgstr "" - -#: cinder/backup/manager.py:555 -#, python-format -msgid "Export record started, backup: %s." -msgstr "" - -#: cinder/backup/manager.py:589 -#, python-format -msgid "Export record finished, backup %s exported." -msgstr "" - -#: cinder/backup/manager.py:608 -#, python-format -msgid "Import record started, backup_url: %s." -msgstr "" - -#: cinder/backup/manager.py:703 -#, python-format -msgid "Import record id %s metadata from driver finished." -msgstr "" - -#: cinder/backup/manager.py:716 -#, python-format -msgid "Reset backup status started, backup_id: %(backup_id)s, status: %(status)s." -msgstr "" - -#: cinder/backup/manager.py:722 -#, python-format -msgid "Backup service: %s." -msgstr "" - -#: cinder/backup/drivers/ceph.py:178 -msgid "" -"RBD striping not supported - ignoring configuration settings for rbd " -"striping" -msgstr "" - -#: cinder/backup/drivers/ceph.py:435 -#, python-format -msgid "" -"Backup base image of volume %(volume)s still has %(snapshots)s snapshots " -"so skipping base image delete." -msgstr "" - -#: cinder/backup/drivers/ceph.py:441 -#, python-format -msgid "Deleting backup base image='%(basename)s' of volume %(volume)s." -msgstr "" - -#: cinder/backup/drivers/ceph.py:450 -#, python-format -msgid "" -"Backup image of volume %(volume)s is busy, retrying %(retries)s more " -"time(s) in %(delay)ss." -msgstr "" - -#: cinder/backup/drivers/ceph.py:1070 -#, python-format -msgid "" -"No restore point found for backup='%(backup)s' of volume %(volume)s " -"although base image is found - forcing full copy." -msgstr "" - -#: cinder/backup/drivers/ceph.py:1181 -#, python-format -msgid "" -"Delete of backup '%(backup)s' for volume '%(volume)s' finished with " -"warning." -msgstr "" - -#: cinder/brick/local_dev/lvm.py:287 -#, python-format -msgid "" -"Logical Volume not found when querying LVM info. (vg_name=%(vg)s, " -"lv_name=%(lv)s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4259 -#, python-format -msgid "Purging deleted rows older than age=%(age)d days from table=%(table)s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4274 -#, python-format -msgid "Deleted %(row)d rows from table=%(table)s" -msgstr "" - -#: cinder/image/image_utils.py:132 -#, python-format -msgid "" -"The image was successfully converted, but image size is unavailable. src " -"%(src)s, dest %(dest)s. %(error)s" -msgstr "" - -#: cinder/image/image_utils.py:148 -#, python-format -msgid "Converted %(sz).2f MB image at %(mbps).2f MB/s" -msgstr "" - -#: cinder/image/image_utils.py:189 -#, python-format -msgid "Image download %(sz).2f MB at %(mbps).2f MB/s" -msgstr "" - -#: cinder/scheduler/base_filter.py:91 -#, python-format -msgid "Filter %(cls_name)s returned %(obj_len)d host(s)" -msgstr "" - -#: cinder/scheduler/host_manager.py:483 -#, python-format -msgid "Removing non-active host: %(host)s from scheduler cache." -msgstr "" - -#: cinder/transfer/api.py:115 -#, python-format -msgid "Generating transfer record for volume %s" -msgstr "" - -#: cinder/transfer/api.py:237 -#, python-format -msgid "Volume %s has been transferred." -msgstr "" - -#: cinder/volume/api.py:173 -msgid "Availability Zones retrieved successfully." -msgstr "" - -#: cinder/volume/api.py:329 -msgid "Volume created successfully." -msgstr "" - -#: cinder/volume/api.py:366 cinder/volume/api.py:435 -msgid "Delete volume request issued successfully." -msgstr "" - -#: cinder/volume/api.py:441 -msgid "Unable to update volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:452 cinder/volume/api.py:455 -msgid "Volume updated successfully." -msgstr "" - -#: cinder/volume/api.py:473 -msgid "Volume info retrieved successfully." -msgstr "" - -#: cinder/volume/api.py:522 -msgid "Get all volumes completed successfully." -msgstr "" - -#: cinder/volume/api.py:530 -msgid "Snapshot retrieved successfully." -msgstr "" - -#: cinder/volume/api.py:538 -msgid "Volume retrieved successfully." -msgstr "" - -#: cinder/volume/api.py:559 -msgid "Get all snapshots completed successfully." -msgstr "" - -#: cinder/volume/api.py:576 -msgid "Reserve volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:588 -msgid "Unreserve volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:608 -msgid "Begin detaching volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:615 -msgid "Roll detaching of volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:622 -msgid "Unable to attach volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:642 cinder/volume/manager.py:1036 -msgid "Attach volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:649 -msgid "Unable to detach volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:655 cinder/volume/manager.py:1132 -msgid "Detach volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:662 -msgid "" -"Unable to initialize the connection for volume, because it is in " -"maintenance." -msgstr "" - -#: cinder/volume/api.py:671 cinder/volume/manager.py:1518 -msgid "Initialize volume connection completed successfully." -msgstr "" - -#: cinder/volume/api.py:681 cinder/volume/manager.py:1541 -msgid "Terminate volume connection completed successfully." -msgstr "" - -#: cinder/volume/api.py:688 -msgid "Unable to accept transfer for volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:696 cinder/volume/manager.py:1590 -msgid "Transfer volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:718 cinder/volume/api.py:850 -msgid "Unable to create the snapshot for volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:920 -msgid "Snapshot create request issued successfully." -msgstr "" - -#: cinder/volume/api.py:929 -msgid "Snapshot force create request issued successfully." -msgstr "" - -#: cinder/volume/api.py:955 -msgid "Snapshot delete request issued successfully." -msgstr "" - -#: cinder/volume/api.py:967 -msgid "Get volume metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:976 -msgid "Unable to delete the volume metadata, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:982 -msgid "Delete volume metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1014 -msgid "Unable to update the metadata for volume, because it is in maintenance." -msgstr "" - -#: cinder/volume/api.py:1027 -msgid "Update volume metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1035 -msgid "Get volume admin metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1055 -msgid "Update volume admin metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1062 -msgid "Get snapshot metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1070 -msgid "Delete snapshot metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1096 -msgid "Update snapshot metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1101 -msgid "Get snapshot metadata value not implemented." -msgstr "" - -#: cinder/volume/api.py:1118 -msgid "Get volume image-metadata completed successfully." -msgstr "" - -#: cinder/volume/api.py:1148 -msgid "Force upload to image is disabled, Force option will be ignored." -msgstr "" - -#: cinder/volume/api.py:1190 cinder/volume/manager.py:1323 -msgid "Copy volume to image completed successfully." -msgstr "" - -#: cinder/volume/api.py:1240 -msgid "Extend volume request issued successfully." -msgstr "" - -#: cinder/volume/api.py:1333 -msgid "Migrate volume request issued successfully." -msgstr "" - -#: cinder/volume/api.py:1372 -msgid "Migrate volume completion issued successfully." -msgstr "" - -#: cinder/volume/api.py:1387 -msgid "Update readonly setting on volume completed successfully." -msgstr "" - -#: cinder/volume/api.py:1513 -msgid "Retype volume request issued successfully." -msgstr "" - -#: cinder/volume/api.py:1568 -msgid "Manage volume request issued successfully." -msgstr "" - -#: cinder/volume/manager.py:265 -msgid "" -"Service not found for updating active_backend_id, assuming default for " -"driver init." -msgstr "" - -#: cinder/volume/manager.py:312 -#, python-format -msgid "Image-volume cache enabled for host %(host)s." -msgstr "" - -#: cinder/volume/manager.py:315 -#, python-format -msgid "Image-volume cache disabled for host %(host)s." -msgstr "" - -#: cinder/volume/manager.py:373 -msgid "Determined volume DB was empty at startup." -msgstr "" - -#: cinder/volume/manager.py:376 -msgid "Determined volume DB was not empty at startup." -msgstr "" - -#: cinder/volume/manager.py:421 -#, python-format -msgid "Starting volume driver %(driver_name)s (%(version)s)" -msgstr "" - -#: cinder/volume/manager.py:508 -msgid "Resume volume delete completed successfully." -msgstr "" - -#: cinder/volume/manager.py:513 -msgid "Driver initialization completed successfully." -msgstr "" - -#: cinder/volume/manager.py:518 -#, python-format -msgid "" -"Initializing RPC dependent components of volume driver %(driver_name)s " -"(%(version)s)" -msgstr "" - -#: cinder/volume/manager.py:543 -msgid "Driver post RPC initialization completed successfully." -msgstr "" - -#: cinder/volume/manager.py:655 -msgid "Created volume successfully." -msgstr "" - -#: cinder/volume/manager.py:809 -msgid "Deleted volume successfully." -msgstr "" - -#: cinder/volume/manager.py:875 -msgid "Create snapshot completed successfully" -msgstr "" - -#: cinder/volume/manager.py:942 -msgid "Delete snapshot completed successfully" -msgstr "" - -#: cinder/volume/manager.py:1052 cinder/volume/manager.py:1077 -msgid "Volume detach called, but volume not attached." -msgstr "" - -#: cinder/volume/manager.py:1556 -msgid "Remove volume export completed successfully." -msgstr "" - -#: cinder/volume/manager.py:1807 -#, python-format -msgid "" -"Couldn't find the temporary volume %(vol)s in the database. There is no " -"need to clean up this volume." -msgstr "" - -#: cinder/volume/manager.py:1820 -#, python-format -msgid "" -"Couldn't find destination volume %(vol)s in the database. The entry might" -" be successfully deleted during migration completion phase." -msgstr "" - -#: cinder/volume/manager.py:1858 -#, python-format -msgid "" -"migrate_volume_completion is cleaning up an error for volume %(vol1)s " -"(temporary volume %(vol2)s" -msgstr "" - -#: cinder/volume/manager.py:1917 -msgid "Complete-Migrate volume completed successfully." -msgstr "" - -#: cinder/volume/manager.py:1983 -msgid "Migrate volume completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2158 -msgid "Extend volume completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2266 -#, python-format -msgid "Volume %s: retyped successfully" -msgstr "" - -#: cinder/volume/manager.py:2327 -msgid "Retype volume completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2364 -msgid "Manage existing volume completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2398 -msgid "Promote volume replica completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2462 -#, python-format -msgid "Consistency group %s: creating" -msgstr "" - -#: cinder/volume/manager.py:2487 -#, python-format -msgid "Consistency group %s: created successfully" -msgstr "" - -#: cinder/volume/manager.py:2493 -msgid "Create consistency group completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2626 -#, python-format -msgid "Create consistency group from source-%(source)s completed successfully." -msgstr "" - -#: cinder/volume/manager.py:2861 -msgid "Delete consistency group completed successfully." -msgstr "" - -#: cinder/volume/manager.py:3005 -msgid "Update consistency group completed successfully." -msgstr "" - -#: cinder/volume/manager.py:3015 -#, python-format -msgid "Cgsnapshot %s: creating." -msgstr "" - -#: cinder/volume/manager.py:3105 -#, python-format -msgid "cgsnapshot %s: created successfully" -msgstr "" - -#: cinder/volume/manager.py:3117 -#, python-format -msgid "cgsnapshot %s: deleting" -msgstr "" - -#: cinder/volume/manager.py:3213 -#, python-format -msgid "cgsnapshot %s: deleted successfully" -msgstr "" - -#: cinder/volume/manager.py:3364 -msgid "Failed over to replication target successfully." -msgstr "" - -#: cinder/volume/manager.py:3397 -msgid "Set backend status to frozen successfully." -msgstr "" - -#: cinder/volume/manager.py:3430 -msgid "Thawed backend successfully." -msgstr "" - -#: cinder/volume/utils.py:365 -#, python-format -msgid "Volume copy %(size_in_m).2f MB at %(mbps).2f MB/s" -msgstr "" - -#: cinder/volume/utils.py:438 -#, python-format -msgid "Volume copy completed (%(size_in_m).2f MB at %(mbps).2f MB/s)." -msgstr "" - -#: cinder/volume/utils.py:488 -#, python-format -msgid "Performing secure delete on volume: %s" -msgstr "" - -#: cinder/volume/utils.py:516 -#, python-format -msgid "Elapsed time for clear volume: %.2f sec" -msgstr "" - -#: cinder/volume/drivers/block_device.py:75 -#, python-format -msgid "Creating %(volume)s on %(device)s" -msgstr "" - -#: cinder/volume/drivers/block_device.py:129 -#, python-format -msgid "Creating clone of volume: %s." -msgstr "" - -#: cinder/volume/drivers/block_device.py:240 -#, python-format -msgid "Creating volume snapshot: %s." -msgstr "" - -#: cinder/volume/drivers/block_device.py:255 -#, python-format -msgid "Creating volume %s from snapshot." -msgstr "" - -#: cinder/volume/drivers/datera.py:249 -#, python-format -msgid "" -"Tried to delete volume %s, but it was not found in the Datera cluster. " -"Continuing with delete." -msgstr "" - -#: cinder/volume/drivers/datera.py:282 -#, python-format -msgid "" -"Tried to detach volume %s, but it was not found in the Datera cluster. " -"Continuing with detach." -msgstr "" - -#: cinder/volume/drivers/datera.py:317 -#, python-format -msgid "" -"Tried to delete snapshot %s, but was not found in Datera cluster. " -"Continuing with delete." -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:720 cinder/volume/drivers/lvm.py:437 -#, python-format -msgid "Successfully deleted snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:979 -#, python-format -msgid "DRBD connection for %s already removed" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:260 -#, python-format -msgid "EQL-driver: executing \"%s\"." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:408 -#, python-format -msgid "EQL-driver: Setup is complete, group IP is \"%s\"." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:122 -#, python-format -msgid "%s is already umounted" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:190 cinder/volume/drivers/remotefs.py:235 -#, python-format -msgid "casted to %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:311 -msgid "Enabling LVM thin provisioning by default because a thin pool exists." -msgstr "" - -#: cinder/volume/drivers/lvm.py:315 -msgid "Enabling LVM thin provisioning by default because no LVs exist." -msgstr "" - -#: cinder/volume/drivers/lvm.py:422 -#, python-format -msgid "Successfully deleted volume: %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:484 cinder/volume/drivers/nexenta/nfs.py:409 -#: cinder/volume/drivers/nexenta/ns5/nfs.py:318 -#, python-format -msgid "Creating clone of volume: %s" -msgstr "" - -#: cinder/volume/drivers/nfs.py:303 cinder/volume/drivers/smbfs.py:481 -#: cinder/volume/drivers/vzstorage.py:231 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:706 -#, python-format -msgid "Extending volume %s." -msgstr "" - -#: cinder/volume/drivers/nfs.py:311 cinder/volume/drivers/smbfs.py:488 -#: cinder/volume/drivers/vzstorage.py:238 -#, python-format -msgid "Resizing file to %sG..." -msgstr "" - -#: cinder/volume/drivers/nimble.py:125 -#, python-format -msgid "Exploring array subnet label %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:129 -#, python-format -msgid "Discovery ip %(disc_ip)s is used on data subnet %(net_label)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:136 -#, python-format -msgid "Discovery ip %(disc_ip)s is found on mgmt+data subnet %(net_label)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:143 -#, python-format -msgid "Discovery ip %(disc_ip)s is used on subnet %(net_label)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:149 -#, python-format -msgid "Discovery ip %s is used on mgmt+data subnet" -msgstr "" - -#: cinder/volume/drivers/nimble.py:196 -#, python-format -msgid "vol_name=%(name)s provider_location=%(loc)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:328 -#, python-format -msgid "Entering extend_volume volume=%(vol)s new_size=%(size)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:419 -#, python-format -msgid "Entering unmanage_volume volume = %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:439 -#, python-format -msgid "Creating initiator group %(grp)s with initiator %(iname)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:452 -#, python-format -msgid "igroup %(grp)s found for initiator %(iname)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:457 -#, python-format -msgid "No igroup found for initiator %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:462 -#, python-format -msgid "" -"Entering initialize_connection volume=%(vol)s connector=%(conn)s " -"location=%(loc)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:473 -#, python-format -msgid "Initiator group name is %(grp)s for initiator %(iname)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:491 -#, python-format -msgid "" -"Entering terminate_connection volume=%(vol)s connector=%(conn)s " -"location=%(loc)s." -msgstr "" - -#: cinder/volume/drivers/nimble.py:534 -msgid "Session might have expired. Trying to relogin" -msgstr "" - -#: cinder/volume/drivers/nimble.py:596 -#, python-format -msgid "Successful login by user %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:693 -#, python-format -msgid "Successfully create volume %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:712 -#, python-format -msgid "Adding ACL to volume=%(vol)s with initiator group name %(igrp)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:727 -#, python-format -msgid "Removing ACL from volume=%(vol)s for initiator group %(igrp)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:741 -#, python-format -msgid "Getting volume information for vol_name=%s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:749 -#, python-format -msgid "Successfully got volume information for volume %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:757 -#, python-format -msgid "Setting volume %(vol)s to online_flag %(flag)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:767 -#, python-format -msgid "Setting snapshot %(snap)s to online_flag %(flag)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:778 -#, python-format -msgid "Dissociating volume %s " -msgstr "" - -#: cinder/volume/drivers/nimble.py:787 -#, python-format -msgid "Deleting volume %s " -msgstr "" - -#: cinder/volume/drivers/nimble.py:803 cinder/volume/drivers/tegile.py:251 -#, python-format -msgid "" -"Creating snapshot for volume_name=%(vol)s snap_name=%(name)s " -"snap_description=%(desc)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:818 -#, python-format -msgid "Deleting snapshot %s " -msgstr "" - -#: cinder/volume/drivers/nimble.py:843 -#, python-format -msgid "" -"Cloning volume from snapshot volume=%(vol)s snapshot=%(snap)s " -"clone=%(clone)s snap_size=%(size)s reserve=%(reserve)sagent-type=%(agent-" -"type)s perfpol-name=%(perfpol-name)s encryption=%(encryption)s " -"cipher=%(cipher)s multi-initiator=%(multi-initiator)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:879 -#, python-format -msgid "Editing Volume %(vol)s with mask %(mask)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:889 -msgid "Getting getInitiatorGrpList" -msgstr "" - -#: cinder/volume/drivers/nimble.py:896 -msgid "Successfully retrieved InitiatorGrpList" -msgstr "" - -#: cinder/volume/drivers/nimble.py:904 -#, python-format -msgid "Creating initiator group %(igrp)s with one initiator %(iname)s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:917 -#, python-format -msgid "Deleting deleteInitiatorGrp %s " -msgstr "" - -#: cinder/volume/drivers/pure.py:460 -#, python-format -msgid "Deleting unneeded host %(host_name)r." -msgstr "" - -#: cinder/volume/drivers/pure.py:850 cinder/volume/drivers/pure.py:898 -#, python-format -msgid "Renaming existing volume %(ref_name)s to %(new_name)s" -msgstr "" - -#: cinder/volume/drivers/pure.py:924 cinder/volume/drivers/pure.py:955 -#, python-format -msgid "Renaming existing snapshot %(ref_name)s to %(new_name)s" -msgstr "" - -#: cinder/volume/drivers/pure.py:1293 -#, python-format -msgid "" -"Skipping add target %(target_array)s to protection group %(pgname)s since" -" it's already added." -msgstr "" - -#: cinder/volume/drivers/pure.py:1317 -#, python-format -msgid "" -"Skipping allow pgroup %(pgname)s on target array %(target_array)s since " -"it is already allowed." -msgstr "" - -#: cinder/volume/drivers/pure.py:1594 cinder/volume/drivers/pure.py:1697 -#, python-format -msgid "Re-using existing purity host %(host_name)r" -msgstr "" - -#: cinder/volume/drivers/pure.py:1617 -#, python-format -msgid "Creating host object %(host_name)r with IQN: %(iqn)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1701 -#, python-format -msgid "Creating host object %(host_name)r with WWN: %(wwn)s." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:153 -msgid "" -"The NAS file operations will be run as non privileged user in secure " -"mode. Please ensure your libvirtd settings have been configured " -"accordingly (see section 'OpenStack' in the Quobyte Manual." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:427 -#, python-format -msgid "Fixing previous mount %s which was not unmounted correctly." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:449 -#, python-format -msgid "Mounting volume: %s ..." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:451 -#, python-format -msgid "Mounting volume: %s succeeded" -msgstr "" - -#: cinder/volume/drivers/rbd.py:680 -#, python-format -msgid "volume %s no longer exists in backend" -msgstr "" - -#: cinder/volume/drivers/rbd.py:732 -#, python-format -msgid "RBD volume %s not found, allowing delete operation to proceed." -msgstr "" - -#: cinder/volume/drivers/rbd.py:766 -#, python-format -msgid "Unable to unprotect snapshot %s." -msgstr "" - -#: cinder/volume/drivers/rbd.py:768 -#, python-format -msgid "Snapshot %s does not exist in backend." -msgstr "" - -#: cinder/volume/drivers/rbd.py:775 -#, python-format -msgid "Image %(pool)s/%(image)s is dependent on the snapshot %(snap)s." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:596 -msgid "Cinder secure environment indicator file exists." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:613 -#, python-format -msgid "New Cinder secure environment indicator file created at path %s." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:877 -#, python-format -msgid "Cloning volume %(src)s to volume %(dst)s" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:921 -#, python-format -msgid "Deleting stale snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:961 -#, python-format -msgid "" -"Snapshot record for %s is not present, allowing snapshot_delete to " -"proceed." -msgstr "" - -#: cinder/volume/drivers/scality.py:273 -#, python-format -msgid "Begin backup of volume %s." -msgstr "" - -#: cinder/volume/drivers/scality.py:292 -#, python-format -msgid "Restoring backup %(backup)s to volume %(volume)s." -msgstr "" - -#: cinder/volume/drivers/tegile.py:202 cinder/volume/drivers/emc/scaleio.py:416 -#, python-format -msgid "Created volume %(volname)s, volume id %(volid)s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:153 -#, python-format -msgid "Snapshot %s not found" -msgstr "" - -#: cinder/volume/drivers/tintri.py:364 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:312 -#, python-format -msgid "Copied image to volume %s using regular download." -msgstr "" - -#: cinder/volume/drivers/tintri.py:373 -#, python-format -msgid "Creating image snapshot %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:402 -#, python-format -msgid "Cloning from snapshot to destination %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:467 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:485 -#, python-format -msgid "Image cloning unsuccessful for image %(image_id)s. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:483 -#, python-format -msgid "Cloning image %s from snapshot." -msgstr "" - -#: cinder/volume/drivers/tintri.py:502 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:517 -#, python-format -msgid "Checking image clone %s from glance share." -msgstr "" - -#: cinder/volume/drivers/tintri.py:532 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:540 -#, python-format -msgid "Image will locally be converted to raw %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:551 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:560 -#, python-format -msgid "Performing post clone for %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:563 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:243 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:575 -#, python-format -msgid "Resizing file to %sG" -msgstr "" - -#: cinder/volume/drivers/tintri.py:718 -#, python-format -msgid "Manage volume %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:751 -#, python-format -msgid "Unmanage volume %s" -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:325 -#, python-format -msgid "Skipping deletion of volume %s as it does not exist." -msgstr "" - -#: cinder/volume/drivers/xio.py:688 -#, python-format -msgid "Volume %s presented." -msgstr "" - -#: cinder/volume/drivers/xio.py:892 -#, python-format -msgid "Clone %s created." -msgstr "" - -#: cinder/volume/drivers/xio.py:1160 -#, python-format -msgid "Volume %s created" -msgstr "" - -#: cinder/volume/drivers/xio.py:1217 -#, python-format -msgid "Successfully deleted %s." -msgstr "" - -#: cinder/volume/drivers/xio.py:1258 -#, python-format -msgid "volume %(name)s extended to %(size)d." -msgstr "" - -#: cinder/volume/drivers/xio.py:1270 -#, python-format -msgid "Volume %s retyped." -msgstr "" - -#: cinder/volume/drivers/xio.py:1289 -#, python-format -msgid "Volume %s converted." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:179 -#, python-format -msgid "CloudByte API executed successfully for command [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:284 -#, python-format -msgid "CloudByte operation [%(operation)s] succeeded for volume [%(cb_volume)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:883 -#, python-format -msgid "" -"Successfully created a CloudByte volume [%(cb_vol)s] w.r.t OpenStack " -"volume [%(stack_vol)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:925 -#, python-format -msgid "" -"Successfully deleted volume [%(cb_vol)s] at CloudByte corresponding to " -"OpenStack volume [%(stack_vol)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:972 -#, python-format -msgid "" -"Created CloudByte snapshot [%(cb_snap)s] w.r.t CloudByte volume " -"[%(cb_vol)s] and OpenStack volume [%(stack_vol)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1063 -#, python-format -msgid "" -"Created a clone [%(cb_clone)s] at CloudByte snapshot path [%(cb_snap)s] " -"w.r.t parent OpenStack volume [%(stack_vol)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1116 -#, python-format -msgid "" -"Deleted CloudByte snapshot [%(snap)s] w.r.t parent CloudByte volume " -"[%(cb_vol)s] and parent OpenStack volume [%(stack_vol)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1218 -#, python-format -msgid "" -"Successfully updated CloudByte volume [%(cb_vol)s] corresponding to " -"OpenStack volume [%(ops_vol)s]." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:177 -#, python-format -msgid "open_connection to %(ssn)s at %(ip)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:206 -#, python-format -msgid "open_connection: Updating API version to %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:877 -#, python-format -msgid "Created volume %(instanceId)s: %(name)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:966 -msgid "Found failover volume. Competing failover." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:970 -#, python-format -msgid "Imported %(fail)s to %(guid)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1123 -#, python-format -msgid "Creating server %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1152 -#, python-format -msgid "SC server created %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1289 -#, python-format -msgid "Volume mappings for %(name)s: %(mappings)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1991 -#, python-format -msgid "Switching volume %(vol)s to profile %(prof)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2105 -#, python-format -msgid "Profile %s has been deleted." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2179 -#, python-format -msgid "Added %s to cg." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2197 -#, python-format -msgid "Removed %s from cg." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2220 -#, python-format -msgid "Adding volumes to cg %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2223 -#, python-format -msgid "Removing volumes from cg %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2267 -#, python-format -msgid "CreateReplay success %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2490 -#, python-format -msgid "Volume %s unmanaged." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2590 -#, python-format -msgid "Replication %(vol)s to %(dest)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2663 -#, python-format -msgid "Replication created for %(volname)s to %(destsc)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:208 -#, python-format -msgid "Non fatal cleanup error: %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:655 -#, python-format -msgid "Created Consistency Group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:718 -#, python-format -msgid "Updated Consistency Group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:778 -#, python-format -msgid "Deleting snapshot %(ss)s from %(pro)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:906 -msgid "Retype was to same Storage Profile." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1024 -#, python-format -msgid "replication failover secondary is %(ssn)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1053 -#, python-format -msgid "Failing backend to %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1067 -#, python-format -msgid "Failing over volume %(id)s replication: %(res)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1163 -#, python-format -msgid "" -"manage_existing_snapshot: snapshot %(exist)s on volume %(volume)s has " -"been renamed to %(id)s and is now managed by Cinder." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_iscsi.py:77 -#, python-format -msgid "initialize_ connection: %(vol)s:%(initiator)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:109 -#: cinder/volume/drivers/emc/emc_vmax_utils.py:73 -msgid "" -"Module PyWBEM not installed. Install PyWBEM using the python-pywbem " -"package." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:198 -#, python-format -msgid "" -"Leaving create_volume: %(volumeName)s Return code: %(rc)lu volume dict: " -"%(name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:260 -#, python-format -msgid "Deleting Volume: %(volume)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:264 -#, python-format -msgid "Leaving delete_volume: %(volumename)s Return code: %(rc)lu." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:287 -#, python-format -msgid "Delete Snapshot: %(snapshotName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:325 -#, python-format -msgid "Unmap volume: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:330 -#, python-format -msgid "Volume %s is not mapped. No volume to unmap." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:379 -#, python-format -msgid "Initialize connection: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:395 -#, python-format -msgid "" -"Volume %(volume)s is already mapped. The device number is " -"%(deviceNumber)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:533 -#, python-format -msgid "Terminate connection: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:679 -#, python-format -msgid "" -"Capacity stats for SRP pool %(poolName)s on array %(arrayName)s " -"total_capacity_gb=%(total_capacity_gb)lu, " -"free_capacity_gb=%(free_capacity_gb)lu" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:710 -#, python-format -msgid "Migrating using retype Volume: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:926 -#: cinder/volume/drivers/emc/emc_vmax_common.py:2837 -#, python-format -msgid "" -"Adding volume: %(volumeName)s to default storage group for FAST policy: " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1246 -#, python-format -msgid "Volume status is: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2053 -#, python-format -msgid "" -"Create a replica from Volume: Clone Volume: %(cloneName)s Source Volume: " -"%(sourceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2356 -#, python-format -msgid "Delete Snapshot: %(snapshot)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2379 -#, python-format -msgid "Snapshot: %(snapshot)s: not found on the array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2414 -#, python-format -msgid "Create Consistency Group: %(group)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2454 -#, python-format -msgid "Delete Consistency Group: %(group)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2559 -#, python-format -msgid "" -"Create snapshot for Consistency Group %(cgId)s cgsnapshotID: " -"%(cgsnapshot)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2595 -#, python-format -msgid "Create target consistency group %(targetCg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2695 -#, python-format -msgid "Delete snapshot for source CG %(cgId)s cgsnapshotID: %(cgsnapshot)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3217 -#, python-format -msgid "" -"FAST: capacity stats for policy %(fastPolicyName)s on array " -"%(arrayName)s. total_capacity_gb=%(total_capacity_gb)lu, " -"free_capacity_gb=%(free_capacity_gb)lu." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3230 -#, python-format -msgid "" -"NON-FAST: capacity stats for pool %(poolName)s on array %(arrayName)s " -"total_capacity_gb=%(total_capacity_gb)lu, " -"free_capacity_gb=%(free_capacity_gb)lu." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3662 -#, python-format -msgid "Snapshot creation %(cloneName)s completed. Source Volume: %(sourceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3700 -#, python-format -msgid "Target wwns in masking view %(maskingView)s: %(targetWwns)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3813 -#, python-format -msgid "The target instance device id is: %(deviceid)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4165 -#, python-format -msgid "" -"Update Consistency Group: %(group)s. This adds and/or removes volumes " -"from a CG." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:598 -#, python-format -msgid "Storage group not associated with the policy. Exception is %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:97 -msgid "" -"Module PyWBEM not installed. Install PyWBEM using the python-pywbem " -"package." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:180 -#, python-format -msgid "Leaving initialize_connection: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:199 -msgid "ISCSI provider_location not stored, using discovery." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:218 -#, python-format -msgid "smis_do_iscsi_discovery is: %(out)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:265 -#, python-format -msgid "location is: %(location)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:277 -#, python-format -msgid "ISCSI properties: %(properties)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:279 -#, python-format -msgid "ISCSI volume is: %(volume)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:284 -#, python-format -msgid "AUTH properties: %(authProps)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:294 -#, python-format -msgid "AUTH properties: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:563 -#, python-format -msgid "Successfully added %(volumeName)s to %(sgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:725 -#, python-format -msgid "Found existing masking view: %(maskingViewName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:790 -#, python-format -msgid "Created new storage group: %(storageGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:863 -#, python-format -msgid "" -"Initiator Name(s) %(initiatorNames)s are not on array " -"%(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:882 -#, python-format -msgid "Created new initiator group name: %(igGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:886 -#, python-format -msgid "Using existing initiator group name: %(igGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1075 -#, python-format -msgid "Created new masking view : %(maskingViewName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1202 -#, python-format -msgid "Port group instance name is %(foundPortGroupInstanceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1320 -#, python-format -msgid "The storage group found is %(foundStorageGroupInstanceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1434 -#, python-format -msgid "" -"Initiator Name(s) %(initiatorNames)s are not on array " -"%(storageSystemName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1643 -#, python-format -msgid "Added volume: %(volumeName)s to existing storage group %(sgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1763 -#, python-format -msgid "Volume %(volumeName)s not in any storage group." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2125 -#, python-format -msgid "Masking view %(maskingViewName)s successfully deleted." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2433 -#, python-format -msgid "Storage Group %(storageGroupName)s successfully deleted." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:517 -#, python-format -msgid "" -"The volume belongs to more than one storage group. Returning storage " -"group %(sgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1565 -#, python-format -msgid "Volume %(volume)s does not have meta device members." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1993 -#, python-format -msgid "The pool_name from extraSpecs is %(pool)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2039 -#, python-format -msgid "Returning random Port Group: %(portGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2257 -#, python-format -msgid "" -"No replication synchronization session found associated with source " -"volume %(source)s on %(storageSystem)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2275 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1308 -#, python-format -msgid "Updating status for CG: %(id)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2283 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1316 -#, python-format -msgid "No volume found for CG: %(cg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:733 -#, python-format -msgid "Using security file in %s for authentication" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:741 -msgid "Plain text credentials are being used for authentication" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:744 -msgid "" -"Neither security file nor plain text credentials are specified. Security " -"file under home directory will be used for authentication if present." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:753 -#, python-format -msgid "iscsi_initiators: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1091 -#, python-format -msgid "Consistency group %s was deleted successfully." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1206 -#, python-format -msgid "Snapshot %s was deleted successfully." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1401 -#, python-format -msgid "Cancelling Migration from LUN %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2077 -#, python-format -msgid "Toggle san_ip from %(current)s to %(new)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2169 -msgid "" -"initiator_auto_registration: False. Initiator auto registration is not " -"enabled. Please register initiator manually." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2358 -#, python-format -msgid "" -"Create Volume: %(volume)s Size: %(size)s pool: %(pool)s provisioning: " -"%(provisioning)s tiering: %(tiering)s " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2893 -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4557 -#, python-format -msgid "Create snapshot: %(snapshot)s: volume: %(volume)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2922 -#, python-format -msgid "Delete Snapshot: %(snapshot)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3161 -#: cinder/volume/drivers/prophetstor/dplcommon.py:869 -#, python-format -msgid "Start to create consistency group: %(group_name)s id: %(id)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3184 -#: cinder/volume/drivers/prophetstor/dplcommon.py:898 -#, python-format -msgid "Start to delete consistency group: %(cg_name)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3244 -#: cinder/volume/drivers/prophetstor/dplcommon.py:926 -#, python-format -msgid "Start to create cgsnapshot for consistency group: %(group_name)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3270 -#: cinder/volume/drivers/prophetstor/dplcommon.py:954 -#, python-format -msgid "Delete cgsnapshot %(snap_name)s for consistency group: %(group_name)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3448 -#, python-format -msgid "Get ISCSI targets %(tg)s to register initiator %(in)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3475 -#, python-format -msgid "Get FC targets %(tg)s to register initiator %(in)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3548 -#, python-format -msgid "iSCSI Initiators %(in)s of %(ins)s need registration." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3567 -#, python-format -msgid "FC Initiators %(in)s of %(ins)s need registration" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3795 -#, python-format -msgid "Storage Group %s was empty." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4083 -#, python-format -msgid "Successfully setup replication for %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4184 -#, python-format -msgid "Replication is not configured on backend: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4244 -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4270 -#, python-format -msgid "Consistency group %(cg)s is created successfully." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:113 -#, python-format -msgid "" -"REST server IP: %(ip)s, port: %(port)s, username: %(user)s. Verify " -"server's certificate: %(verify_cert)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:133 -#, python-format -msgid "" -"Storage pools names: %(pools)s, storage pool name: %(pool)s, pool id: " -"%(pool_id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:142 -#, python-format -msgid "Protection domain name: %(domain_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:146 -#, python-format -msgid "Protection domain id: %(domain_id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:241 -msgid "" -"Using extra_specs for defining QoS specs will be deprecated in the N " -"release of OpenStack. Please use QoS specs." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:281 -#, python-format -msgid "" -"Volume type: %(volume_type)s, storage pool name: %(pool_name)s, storage " -"pool id: %(pool_id)s, protection domain id: %(domain_id)s, protection " -"domain name: %(domain_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:322 -#: cinder/volume/drivers/emc/scaleio.py:746 -#, python-format -msgid "ScaleIO get domain id by name request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:345 -#: cinder/volume/drivers/emc/scaleio.py:772 -#, python-format -msgid "Domain id is %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:357 -#: cinder/volume/drivers/emc/scaleio.py:783 -#, python-format -msgid "ScaleIO get pool id by name request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:380 -#: cinder/volume/drivers/emc/scaleio.py:805 -#, python-format -msgid "Pool id is %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:395 -#, python-format -msgid "Params for add volume request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:409 -#, python-format -msgid "Add volume response: %s" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:439 -#, python-format -msgid "Snapshot volume %(vol)s into snapshot %(id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:448 -#: cinder/volume/drivers/emc/scaleio.py:1141 -#: cinder/volume/drivers/emc/scaleio.py:1196 -#, python-format -msgid "Snapshot volume response: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:475 -msgid "Token is invalid, going to re-login and get a new one." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:490 -#, python-format -msgid "Going to perform request again %s with valid token." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:517 -#, python-format -msgid "" -"ScaleIO create volume from snapshot: snapshot %(snapname)s to volume " -"%(volname)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:545 -#, python-format -msgid "ScaleIO extend volume: volume %(volname)s to size %(new_size)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:556 -#, python-format -msgid "Change volume capacity request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:591 -#, python-format -msgid "" -"ScaleIO create cloned volume: source volume %(src)s to target volume " -"%(tgt)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:624 -#, python-format -msgid "Trying to unmap volume from all sdcs before deletion: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:676 -msgid "ScaleIO delete snapshot." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:694 -#, python-format -msgid "Volume type is %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:697 -#, python-format -msgid "iops limit is: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:700 -#, python-format -msgid "Bandwidth limit is: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:748 -#, python-format -msgid "username: %(username)s, verify_cert: %(verify)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:758 -#, python-format -msgid "Get domain by name response: %s" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:822 -#, python-format -msgid "Query capacity stats response: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:829 -#, python-format -msgid "free capacity of pool %(pool)s is: %(free)s, total capacity: %(total)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:851 -#, python-format -msgid "Free capacity for backend is: %(free)s, total capacity: %(total)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:859 -#, python-format -msgid "Backend name is %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:913 -msgid "Calling os-brick to detach ScaleIO volume." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:921 -#, python-format -msgid "" -"ScaleIO copy_image_to_volume volume: %(vol)s image service: %(service)s " -"image id: %(id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:941 -#, python-format -msgid "" -"ScaleIO copy_volume_to_image volume: %(vol)s image service: %(service)s " -"image meta: %(meta)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:975 -#, python-format -msgid "Renaming %(id)s from %(current_name)s to %(new_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1000 -#, python-format -msgid "ScaleIO rename volume request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1020 -#, python-format -msgid "ScaleIO volume %(vol)s was renamed to %(new_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1032 -#: cinder/volume/drivers/emc/scaleio.py:1047 -#, python-format -msgid "Get Volume response: %s" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1086 -#, python-format -msgid "ScaleIO get volume by id request: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1104 -msgid "Creating Consistency Group" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1113 -msgid "Deleting Consistency Group" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1222 -msgid "ScaleIO snapshot group of volumes" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:399 -#, python-format -msgid "XtremIO SW version %s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:455 -#, python-format -msgid "volume %s doesn't exist" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:466 -#, python-format -msgid "snapshot %s doesn't exist" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:544 -#, python-format -msgid "Volume with the name %s wasn't found, can't unmanage" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:591 -#, python-format -msgid "" -"Created lun-map:\n" -"%s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:593 -#, python-format -msgid "Volume already mapped, retrieving %(ig)s, %(vol)s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:830 -msgid "initiator has no password while using chap,adding it" -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:451 -#, python-format -msgid "" -"_delete_volume_setting, volumename:%(volumename)s, volume not found on " -"ETERNUS. " -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:693 -#, python-format -msgid "" -"initialize_connection, volume: %(volume)s, target_lun: %(target_lun)s, " -"target_luns: %(target_luns)s, Volume is already mapped." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1526 -msgid "_delete_copysession, The copysession was already completed." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1880 -#, python-format -msgid "_unmap_lun, volumename:%(volumename)s, volume not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1891 -#, python-format -msgid "_unmap_lun, volumename: %(volumename)s, volume is not mapped." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:48 -#, python-format -msgid "create_volume, volume id: %s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:61 -#, python-format -msgid "create_volume, info: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:67 -#, python-format -msgid "" -"create_volume_from_snapshot, volume id: %(vid)s, snap id: %(sid)s, Enter " -"method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:82 -#, python-format -msgid "create_volume_from_snapshot, info: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:89 -#, python-format -msgid "" -"create_cloned_volume, target volume id: %(tid)s, source volume id: " -"%(sid)s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:105 -#, python-format -msgid "create_cloned_volume, info: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:112 -#, python-format -msgid "delete_volume, volume id: %s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:117 -#, python-format -msgid "delete_volume, delete: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:123 -#, python-format -msgid "create_snapshot, snap id: %(sid)s, volume id: %(vid)s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:129 -#, python-format -msgid "create_snapshot, info: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:134 -#, python-format -msgid "delete_snapshot, snap id: %(sid)s, volume id: %(vid)s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:140 -#, python-format -msgid "delete_snapshot, delete: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:158 -#, python-format -msgid "" -"initialize_connection, volume id: %(vid)s, initiator: %(initiator)s, " -"Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:164 -#, python-format -msgid "initialize_connection, info: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:170 -#, python-format -msgid "" -"terminate_connection, volume id: %(vid)s, initiator: %(initiator)s, Enter" -" method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:176 -#, python-format -msgid "terminate_connection, unmap: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:198 -#, python-format -msgid "extend_volume, volume id: %s, Enter method." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_iscsi.py:203 -#, python-format -msgid "extend_volume, used pool name: %s, Exit method." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:255 -#, python-format -msgid "\t%(prefix)-35s : %(version)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:259 -#, python-format -msgid "\t%(param)-35s : %(value)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:264 -#: cinder/volume/drivers/hitachi/hbsd_fc.py:86 -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1399 -#: cinder/volume/drivers/hitachi/hbsd_iscsi.py:97 -#, python-format -msgid "\t%(name)-35s : %(value)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:269 -#, python-format -msgid "\t%(request)-35s : %(value)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:647 -#, python-format -msgid "del_iscsi_conn: hlun not found %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:733 -#, python-format -msgid "targetlist: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:64 -#, python-format -msgid "Parse_loc: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:97 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:78 -#, python-format -msgid "%(element)s: %(val)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:193 -#, python-format -msgid "Backend type: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:243 -#, python-format -msgid "Using service label: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:249 -#, python-format -msgid "Available services: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:274 -#, python-format -msgid "_get_service_target hdp: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:275 -#, python-format -msgid "config[services]: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:283 -#, python-format -msgid "Target is %(map)s! Targetlist = %(tgtl)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:319 -#, python-format -msgid "Using target label: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:338 -#, python-format -msgid "Retrieving secret for service: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:357 -#, python-format -msgid "Set tgt CHAP secret for service: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:366 -msgid "CHAP authentication disabled." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:371 -#, python-format -msgid "Retrieving target for service: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:418 -#, python-format -msgid "stats: stats: %s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:441 -#, python-format -msgid "HDP list: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:503 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:520 -#, python-format -msgid "Configured pools: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:506 -#, python-format -msgid "do_setup: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:510 -#, python-format -msgid "iSCSI portal found for service: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:565 -#, python-format -msgid "create_volume: create_lu returns %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:571 -#, python-format -msgid "LUN %(lun)s of size %(sz)s MB is created." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:620 -#, python-format -msgid "LUN %(lun)s extended to %(size)s GB." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:636 -#, python-format -msgid "delete lun loc %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:664 -#, python-format -msgid "initialize volume %(vol)s connector %(conn)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:698 -#, python-format -msgid "initiate: connection %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:732 -#, python-format -msgid "terminate: connection %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:976 -#, python-format -msgid "Set newly managed Cinder volume name to %(name)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:1004 -#, python-format -msgid "" -"Cinder ISCSI volume with current path %(path)s is no longer being " -"managed. The new name is %(unm)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:215 -#, python-format -msgid "Get service: %(lbl)s->%(svc)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:219 -#, python-format -msgid "Available services: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:246 -#, python-format -msgid "LUN %(id)s extended to %(size)s GB." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:436 -#, python-format -msgid "Driver stats: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:460 -#, python-format -msgid "nfs_info: %(key)s: %(path)s, HDP: %(fslabel)s FSID: %(hdp)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:474 -#, python-format -msgid "Review shares: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:482 -#, python-format -msgid "share: %(share)s -> %(info)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:494 -#, python-format -msgid "Save service info for %(svc)s -> %(hdp)s, %(path)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:506 -#, python-format -msgid "share: %s incorrect entry" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:532 -#, python-format -msgid "" -"Cloning with volume_name %(vname)s clone_name %(cname)s export_path " -"%(epath)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:578 -#, python-format -msgid "Volume service: %(label)s. Casted to: %(loc)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:790 -#, python-format -msgid "Cinder NFS volume with current path %(cr)s is no longer being managed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:433 -#, python-format -msgid "HPE3PARCommon %(common_ver)s,hpe3parclient %(rest_ver)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:752 -#, python-format -msgid "" -"Virtual volume %(disp)s '%(new)s' snapCPG is empty so it will be set to: " -"%(cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:760 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1121 -#, python-format -msgid "Virtual volume '%(ref)s' renamed to '%(new)s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:766 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1129 -#, python-format -msgid "Virtual volume %(disp)s '%(new)s' is being retyped." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:773 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1139 -#, python-format -msgid "Virtual volume %(disp)s successfully retyped to %(new_type)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:792 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1159 -#, python-format -msgid "Virtual volume %(disp)s '%(new)s' is now being managed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:865 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1241 -#, python-format -msgid "Snapshot '%(ref)s' renamed to '%(new)s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:870 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1250 -#, python-format -msgid "Snapshot %(disp)s '%(new)s' is now being managed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:937 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1338 -#, python-format -msgid "" -"Virtual volume %(disp)s '%(vol)s' is no longer managed. Volume renamed to" -" '%(new)s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:963 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1368 -#, python-format -msgid "" -"Snapshot %(disp)s '%(vol)s' is no longer managed. Snapshot renamed to " -"'%(new)s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1372 -#, python-format -msgid "3PAR vlun %(name)s not found on host %(host)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1467 -#, python-format -msgid "" -"3PAR vlun for volume '%(name)s' was deleted, but the host '%(host)s' was " -"not deleted because: %(reason)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1586 -#, python-format -msgid "Flash Cache policy set to %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1713 -#, python-format -msgid "Using pool %(pool)s instead of %(cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1966 -#, python-format -msgid "Creating temp snapshot %(snap)s from volume %(vol)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2111 -#, python-format -msgid "Found a temporary snapshot %(name)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2377 -#, python-format -msgid "3PAR driver cannot perform migration. Retype exception: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2406 -#, python-format -msgid "Volume name changed from %(tmp)s to %(orig)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2490 -#, python-format -msgid "Completed: convert_to_base_volume: id=%s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2612 -#, python-format -msgid "Modifying %(volume_name)s userCPG from %(old_cpg)s to %(new_cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2633 -#, python-format -msgid "Converting %(volume_name)s to thin provisioning with userCPG=%(new_cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2638 -#, python-format -msgid "" -"Converting %(volume_name)s to thin dedup provisioning with " -"userCPG=%(new_cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2643 -#, python-format -msgid "Converting %(volume_name)s to full provisioning with userCPG=%(new_cpg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2659 -#, python-format -msgid "tunevv failed because the volume '%s' has snapshots." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3566 -#, python-format -msgid "" -"Modifying %(volume_name)s snap_cpg from %(old_snap_cpg)s to " -"%(new_snap_cpg)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3577 -#, python-format -msgid "Modifying %s comments." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3586 -#, python-format -msgid "" -"Retype revert %(volume_name)s snap_cpg from %(new_snap_cpg)s back to " -"%(old_snap_cpg)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_fc.py:316 -#: cinder/volume/drivers/netapp/dataontap/block_base.py:935 -msgid "Need to remove FC Zone, building initiator target map" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:341 -#, python-format -msgid "HPELeftHand API version %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:982 -#, python-format -msgid "" -"Cannot provide backend assisted migration for volume: %s because volume " -"is from a different backend." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:987 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:993 -#, python-format -msgid "" -"Cannot provide backend assisted migration for volume: %s because cluster " -"exists in different management group." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1007 -#, python-format -msgid "" -"Cannot provide backend assisted migration for volume: %s because the " -"volume has been exported." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1018 -#, python-format -msgid "" -"Cannot provide backend assisted migration for volume: %s because the " -"volume has snapshots." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1026 -#, python-format -msgid "" -"Cannot provide backend assisted migration for volume: %s because volume " -"does not exist in this management group." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1059 -#, python-format -msgid "Volume name changed from %(tmp)s to %(orig)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:259 -#, python-format -msgid "volume: %(volume)s, lun params: %(params)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:612 -#, python-format -msgid "QoS: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:659 -#, python-format -msgid "" -"create_volume_from_snapshot: src_lun_id: %(src_lun_id)s, tgt_lun_id: " -"%(tgt_lun_id)s, copy_name: %(copy_name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:777 -#, python-format -msgid "" -"New size is equal to the real size from backend storage, no need to " -"extend. realsize: %(oldsize)s, newsize: %(newsize)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:793 -#, python-format -msgid "Extend volume: %(volumename)s, oldsize: %(oldsize)s, newsize: %(newsize)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:827 -#, python-format -msgid "stop_snapshot: snapshot name: %(snapshot)s, volume name: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:913 -#, python-format -msgid "" -"Retype LUN(id: %(lun_id)s) smartpartition from (name: %(old_name)s, id: " -"%(old_id)s) to (name: %(new_name)s, id: %(new_id)s) success." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:930 -#, python-format -msgid "" -"Retype LUN(id: %(lun_id)s) smartcache from (name: %(old_name)s, id: " -"%(old_id)s) to (name: %(new_name)s, id: %(new_id)s) successfully." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:940 -#, python-format -msgid "" -"Retype LUN(id: %(lun_id)s) smarttier policy from %(old_policy)s to " -"%(new_policy)s success." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:956 -#, python-format -msgid "" -"Retype LUN(id: %(lun_id)s) smartqos from %(old_qos_value)s to %(new_qos)s" -" success." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1626 -#, python-format -msgid "initiator name: %(initiator_name)s, LUN ID: %(lun_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1635 -#, python-format -msgid "" -"initialize_connection, iscsi_iqn: %(iscsi_iqn)s, target_ip: " -"%(target_ip)s, portgroup_id: %(portgroup_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1659 -#, python-format -msgid "initialize_connection, host lun id is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1688 -#, python-format -msgid "initialize_connection success. Return data: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1701 -#, python-format -msgid "terminate_connection: initiator name: %(ini)s, LUN ID: %(lunid)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1816 -#, python-format -msgid "initialize_connection, initiator: %(wwpns)s, LUN ID: %(lun_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1886 -#, python-format -msgid "initialize_connection, metadata is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1920 -#, python-format -msgid "Return FC info is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1936 -#, python-format -msgid "The same hostid is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1957 -#, python-format -msgid "terminate_connection: wwpns: %(wwns)s, LUN ID: %(lun_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:2025 -#, python-format -msgid "Detach Volume, metadata is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:2033 -#, python-format -msgid "terminate_connection, return data is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:61 -#, python-format -msgid "Hypermetro id: %(metro_id)s. Remote lun id: %(remote_lun_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:115 -#, python-format -msgid "initialize_connection_fc, initiator: %(wwpns)s, volume name: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:187 -#, python-format -msgid "Remote return FC info is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:202 -#, python-format -msgid "" -"terminate_connection_fc: volume name: %(volume)s, wwpns: %(wwns)s, " -"lun_id: %(lunid)s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:87 -#, python-format -msgid "" -"\n" -"\n" -"\n" -"\n" -"Request URL: %(url)s\n" -"\n" -"Call Method: %(method)s\n" -"\n" -"Request Data: %(data)s\n" -"\n" -"Response Data:%(res)s\n" -"\n" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:423 -#, python-format -msgid "" -"do_mapping, lun_group: %(lun_group)s, view_id: %(view_id)s, lun_id: " -"%(lun_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:520 -#, python-format -msgid "" -"create_hostgroup_with_check. hostgroup name: %(name)s, hostgroup id: " -"%(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:531 -#, python-format -msgid "" -"Failed to create hostgroup: %(name)s. Please check if it exists on the " -"array." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:544 -#, python-format -msgid "" -"create_hostgroup_with_check. Create hostgroup success. hostgroup name: " -"%(name)s, hostgroup id: %(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:634 -#, python-format -msgid "add_host_with_check. host name: %(name)s, host id: %(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:645 -#, python-format -msgid "Failed to create host: %(name)s. Check if it exists on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:658 -#, python-format -msgid "" -"add_host_with_check. create host success. host name: %(name)s, host id: " -"%(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:789 -msgid "Use CHAP when adding initiator to host." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:795 -msgid "Use ALUA when adding initiator to host." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1103 -#, python-format -msgid "New str info is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1118 -#, python-format -msgid "_get_tgt_iqn: iSCSI target iqn is: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1207 -#, python-format -msgid "_get_tgt_ip_from_portgroup: Get ip: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1249 -#, python-format -msgid "Get the default ip: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:48 -#, python-format -msgid "The QoS sepcs is: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:715 -#, python-format -msgid "Volume %s is mapping to multiple hosts." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:190 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:669 -#, python-format -msgid "WWPN on node %(node)s: %(wwpn)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:231 -#, python-format -msgid "Could not update storage pool with mmchattr to %(pool)s, error: %(error)s" -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:361 -#, python-format -msgid "" -"Downlevel GPFS Cluster Detected. GPFS encryption-at-rest feature not " -"enabled in cluster daemon level %(cur)s - must be at least at level " -"%(min)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:107 -#, python-format -msgid "Could not find replica to delete of volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1488 -#, python-format -msgid "Unable to get remote copy information for volume %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1522 -#, python-format -msgid "Tried to delete non-existent vdisk %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2441 -#, python-format -msgid "" -"_check_volume_copy_ops: Volume %(vol)s does not have the specified vdisk " -"copy operation: orig=%(orig)s new=%(new)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:262 -#: cinder/volume/drivers/netapp/eseries/library.py:1223 -msgid "Need to remove FC Zone, building initiator target map." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:483 -#, python-format -msgid "Create Volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:893 -#, python-format -msgid "Delete Volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:945 -#, python-format -msgid "Create Cloned Volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:997 -#, python-format -msgid "Create export done from Volume %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1010 -#, python-format -msgid "" -"Successfully update volume stats. backend: %(volume_backend_name)s, " -"vendor: %(vendor_name)s, driver version: %(driver_version)s, storage " -"protocol: %(storage_protocol)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1110 -#, python-format -msgid "" -"Create success. Snapshot: %(snapshot)s, Snapshot ID in raid: " -"%(raid_snapshot_id)s, volume: %(volume)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1142 -#, python-format -msgid "Delete Snapshot %(snapshot_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1207 -#, python-format -msgid "Create Volume %(volume_id)s from snapshot %(snapshot_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1284 -#, python-format -msgid "" -"Successfully initialized connection. target_wwn: %(target_wwn)s, " -"initiator_target_map: %(initiator_target_map)s, lun: %(target_lun)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1410 -#, python-format -msgid "Successfully initialized connection with volume: %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1570 -#, python-format -msgid "Successfully extended volume %(volume_id)s to size %(size)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1606 -#, python-format -msgid "Successfully terminated connection for volume: %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1626 -#, python-format -msgid "Migrate Volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1775 -#, python-format -msgid "Rename Volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1806 -#, python-format -msgid "Unmanage volume %(volume_id)s completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1888 -#, python-format -msgid "Retype Volume %(volume_id)s is done and migrated to pool %(pool_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1907 -#, python-format -msgid "Retype Volume %(volume_id)s is completed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1935 -#, python-format -msgid "Update migrated volume %(new_volume)s completed." -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:78 -#, python-format -msgid "OpenStack OS Version Info: %(info)s" -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:95 -#, python-format -msgid "Requested unified config: %(storage_family)s and %(storage_protocol)s." -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:113 -#, python-format -msgid "" -"NetApp driver of family %(storage_family)s and protocol " -"%(storage_protocol)s loaded." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:412 -#, python-format -msgid "No rpm info found for %(pkg)s package." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:421 -#, python-format -msgid "Could not run rpm command: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:432 -#, python-format -msgid "No dpkg-query info found for %(pkg)s package." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:450 -#, python-format -msgid "Could not run dpkg-query command: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:544 -#, python-format -msgid "No need to extend volume %s as it is already the requested new size." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:564 -#, python-format -msgid "Resizing LUN %s using clone operation." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:598 -#, python-format -msgid "Post clone resize LUN %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:665 -#, python-format -msgid "LUN with given ref %s need not be renamed during manage operation." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:677 -#, python-format -msgid "" -"Manage operation completed for LUN with new path %(path)s and uuid " -"%(uuid)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:730 -#, python-format -msgid "Unmanaged LUN with current path %(path)s and uuid %(uuid)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:1073 -#, python-format -msgid "Backing consistency group snapshot %s available for deletion" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:319 -#, python-format -msgid "Registering image in cache %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:351 -#, python-format -msgid "Cloning from cache to destination %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:382 -#, python-format -msgid "Cleaning cache for share %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:497 -#, python-format -msgid "Cloning image %s from cache" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:986 -#, python-format -msgid "Cinder NFS volume with current path \"%(cr)s\" is no longer being managed." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:433 -#, python-format -msgid "Copied image %(img)s to volume %(vol)s using local image cache." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:441 -#, python-format -msgid "Copied image %(img)s to volume %(vol)s using copy offload workflow." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:440 -#, python-format -msgid "Running stale ssc refresh job for %(server)s and vserver %(vs)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:474 -#, python-format -msgid "Successfully completed stale refresh job for %(server)s and vserver %(vs)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:502 -#, python-format -msgid "Running cluster latest ssc job for %(server)s and vserver %(vs)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:508 -#, python-format -msgid "Successfully completed ssc job for %(server)s and vserver %(vs)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:180 -#, python-format -msgid "Resizing LUN %s directly to new size." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:238 -#, python-format -msgid "" -"The multi-attach E-Series host group '%(label)s' already exists with " -"clusterRef %(clusterRef)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:244 -#, python-format -msgid "" -"Created multi-attach E-Series host group %(label)s with clusterRef " -"%(clusterRef)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:266 -msgid "Embedded mode detected." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:269 -msgid "Proxy mode detected." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:327 -#, python-format -msgid "System with controller addresses [%s] is not registered with web service." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:349 -msgid "Waiting for web service to validate the configured password." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:352 -msgid "Waiting for web service array communication." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:366 -#, python-format -msgid "System %(id)s has %(status)s status." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:589 -#: cinder/volume/drivers/netapp/eseries/library.py:628 -#: cinder/volume/drivers/netapp/eseries/library.py:652 -#, python-format -msgid "Created volume with label %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:679 -#, python-format -msgid "Copying src vol %(src)s to dest vol %(dst)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:695 -#, python-format -msgid "Vol copy job completed for dest %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:713 -#, python-format -msgid "Copy job to dest vol %s completed." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:901 -#, python-format -msgid "Created snap grp with label %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1373 -#, python-format -msgid "Creating host with ports %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1459 -#, python-format -msgid "E-series proxy API version %s does not support autosupport logging." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1503 -#, python-format -msgid "Updating storage service catalog information for backend '%s'" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1518 -#, python-format -msgid "" -"E-series proxy API version %(version)s does not support full set of SSC " -"extra specs. The proxy version must be at at least %(min_version)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1745 -#, python-format -msgid "" -"Waiting for volume expansion of %(vol)s to complete, current remaining " -"actions are %(action)s. ETA: %(eta)s mins." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1939 -#, python-format -msgid "Deleting volume %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1975 -#, python-format -msgid "Removing volume %(v)s from consistency group %(cg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1982 -#, python-format -msgid "Adding volume %(v)s to consistency group %(cg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2058 -#, python-format -msgid "Volume with given ref %s need not be renamed during manage operation." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2063 -#, python-format -msgid "" -"Manage operation completed for volume with new label %(label)s and wwn " -"%(wwn)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2101 -#, python-format -msgid "Unmanaged volume with current label %(label)s and wwn %(wwn)s." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:133 -#, python-format -msgid "Ignored target creation error \"%s\" while ensuring export." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:143 -#, python-format -msgid "Ignored target group creation error \"%s\" while ensuring export." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:155 -#, python-format -msgid "Ignored target group member addition error \"%s\" while ensuring export." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:226 -#: cinder/volume/drivers/nexenta/nfs.py:469 -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:242 -#, python-format -msgid "Extending volume: %(id)s New size: %(size)s GB" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:242 -#, python-format -msgid "Volume %s does not exist, it seems it was already deleted." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:246 -#, python-format -msgid "Volume %s will be deleted later." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:494 -#, python-format -msgid "Snapshot %s does not exist, it seems it was already deleted." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:497 -#, python-format -msgid "Snapshot %s has dependent clones, will be deleted later." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:505 -#, python-format -msgid "" -"Origin volume %s appears to be removed, try to remove it from backend if " -"it is there." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:611 -#, python-format -msgid "Ignored LU creation error \"%s\" while ensuring export." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:620 -#, python-format -msgid "Ignored LUN mapping entry addition error \"%s\" while ensuring export." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:448 -#, python-format -msgid "Folder %s does not exist, it was already deleted." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:458 -#, python-format -msgid "Snapshot %s does not exist, it was already deleted." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:518 -#, python-format -msgid "Snapshot %(folder)s@%(snapshot)s does not exist, it was already deleted." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:526 -#, python-format -msgid "" -"Snapshot %(folder)s@%(snapshot)s has dependent clones, it will be deleted" -" later." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:560 -#, python-format -msgid "Creating regular file: %s.This may take some time." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:571 -#, python-format -msgid "Regular file: %s created." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:685 -#, python-format -msgid "Already mounted: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:259 -#, python-format -msgid "Creating snapshot %(snap)s of volume %(vol)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:278 -#: cinder/volume/drivers/zfssa/zfssanfs.py:239 -#, python-format -msgid "Deleting snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:305 -#, python-format -msgid "Creating volume from snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:205 -#, python-format -msgid "Flexvisor succeeded to unassign volume %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:239 -#, python-format -msgid "initialize_connection volume: %(volume)s, connector: %(connector)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:275 -#, python-format -msgid "Prefer use target wwpn %(wwpn)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:327 -#, python-format -msgid "%(volume)s assign type fibre_channel, properties %(properties)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:334 -#, python-format -msgid "" -"Connect initialization info: {driver_volume_type: fibre_channel, data: " -"%(properties)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:355 -#, python-format -msgid "terminate_connection volume: %(volume)s, connector: %(con)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:134 -#, python-format -msgid "Flexvisor already unassigned volume %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:811 -#, python-format -msgid "Flexvisor succeeded to add volume %(id)s to group %(cgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:834 -#, python-format -msgid "Flexvisor succeeded to remove volume %(id)s from group %(cgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1059 -#, python-format -msgid "Flexvisor succeeded to create volume %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1142 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1186 -#, python-format -msgid "Flexvisor succeeded to create volume %(id)s from snapshot." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1230 -#, python-format -msgid "Flexvisor succeeded to clone volume %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1277 -#, python-format -msgid "Flexvisor volume %(id)s does not exist." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1315 -#, python-format -msgid "Flexvisor succeeded to extend volume %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1369 -#, python-format -msgid "Flexvisor snapshot %(id)s not existed." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1376 -#, python-format -msgid "Flexvisor succeeded to delete snapshot %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1465 -msgid "Activate Flexvisor cinder volume driver." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:56 -#, python-format -msgid "Running with vmemclient version: %s" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:111 -#, python-format -msgid "CONCERTO version: %s" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:71 -#, python-format -msgid "Initialized driver %(name)s version: %(vers)s" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:228 -#, python-format -msgid "Exported lun %(vol_id)s on lun_id %(lun_id)s." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:241 -#, python-format -msgid "Unexporting lun %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:320 -msgid "Backing not available, no operation to be performed." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:517 -#, python-format -msgid "There is no backing for the volume: %s. Need to create one." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:539 -#, python-format -msgid "" -"Returning connection_info: %(info)s for volume: %(volume)s with " -"connector: %(connector)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:593 -#, python-format -msgid "There is no backing, so will not create snapshot: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:598 -#, python-format -msgid "Successfully created snapshot: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:625 -#, python-format -msgid "There is no backing, and so there is no snapshot: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:629 -#, python-format -msgid "Successfully deleted snapshot: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1045 -#, python-format -msgid "Done copying image: %(id)s to volume: %(vol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1164 -#, python-format -msgid "Backing not found, creating for volume: %s" -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1187 -#, python-format -msgid "Done copying volume %(vol)s to a new image %(img)s" -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1378 -#, python-format -msgid "There is no backing for volume: %s; no need to extend the virtual disk." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1385 -#: cinder/volume/drivers/vmware/vmdk.py:1414 -#, python-format -msgid "Successfully extended volume: %(vol)s to size: %(size)s GB." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1397 -#, python-format -msgid "" -"Relocating volume: %s to a different datastore due to insufficient disk " -"space on current datastore." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1768 -#, python-format -msgid "Using overridden vmware_host_version from config: %s" -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1772 -#, python-format -msgid "Fetched vCenter server version: %s" -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1821 -#, python-format -msgid "Using compute cluster(s): %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1823 -#, python-format -msgid "Successfully setup driver: %(driver)s for server: %(ip)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1953 -#: cinder/volume/drivers/vmware/volumeops.py:1192 -#, python-format -msgid "Successfully created clone: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1967 -#, python-format -msgid "" -"There is no backing for the snapshotted volume: %(snap)s. Not creating " -"any backing for the volume: %(vol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1975 -#, python-format -msgid "" -"There is no snapshot point for the snapshotted volume: %(snap)s. Not " -"creating any backing for the volume: %(vol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:2004 -#, python-format -msgid "" -"There is no backing for the source volume: %(src)s. Not creating any " -"backing for volume: %(vol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:311 -#, python-format -msgid "Deleted the VM backing: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:645 -#, python-format -msgid "Successfully extended virtual disk: %(path)s to %(size)s GB." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:814 -#, python-format -msgid "Successfully created volume backing: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:980 -#, python-format -msgid "" -"Successfully relocated volume backing: %(backing)s to datastore: %(ds)s " -"and resource pool: %(rp)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:998 -#, python-format -msgid "Successfully moved volume backing: %(backing)s into the folder: %(fol)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1022 -#, python-format -msgid "Successfully created snapshot: %(snap)s for volume backing: %(backing)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1084 -#, python-format -msgid "" -"Did not find the snapshot: %(name)s for backing: %(backing)s. Need not " -"delete anything." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1095 -#, python-format -msgid "Successfully deleted snapshot: %(name)s of backing: %(backing)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1262 -#, python-format -msgid "Renaming backing VM: %(backing)s to %(new_name)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1271 -#, python-format -msgid "Backing VM: %(backing)s renamed to %(new_name)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1344 -#, python-format -msgid "Successfully deleted file: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1364 -#, python-format -msgid "Created datastore folder: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1520 -#, python-format -msgid "Successfully copied disk at: %(src)s to: %(dest)s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1564 -#, python-format -msgid "Deleted vmdk file: %s." -msgstr "" - -#: cinder/volume/drivers/windows/smbfs.py:110 -#, python-format -msgid "Smb share %(share)s Total size %(size)s Total allocated %(allocated)s" -msgstr "" - -#: cinder/volume/drivers/zfssa/restclient.py:182 -#, python-format -msgid "ZFSSA version: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:140 -#: cinder/volume/drivers/zfssa/zfssanfs.py:118 -#, python-format -msgid "Connecting to host: %s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:868 -#, python-format -msgid "Connecting to target host: %s for backend enabled migration." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:216 -#, python-format -msgid "Creating snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:243 -#, python-format -msgid "Creatng volume from snapshot. volume: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:245 -#, python-format -msgid "Source Snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:277 -#, python-format -msgid "new cloned volume: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:278 -#, python-format -msgid "source volume for cloning: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:299 -#, python-format -msgid "Checking origin %(origin)s of volume %(volume)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:620 -#, python-format -msgid "Source and destination ZFSSA shares are the same. Do nothing. volume: %s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:595 -#, python-format -msgid "Requested image %(id)s is not in raw format." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:617 -#, python-format -msgid "" -"Skipping image volume %(id)s because it is not accessible by current " -"Tenant." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:622 -#, python-format -msgid "Will clone a volume from the image volume %(id)s." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:722 -msgid "Unable to get Cinder internal context, will not use image-volume cache." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:813 -#, python-format -msgid "" -"Volume %(volume_id)s: being created as %(create_type)s with " -"specification: %(volume_spec)s" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:893 -#, python-format -msgid "Volume %(volume_name)s (%(volume_id)s): created successfully" -msgstr "" - -#: cinder/volume/flows/manager/manage_existing_snapshot.py:301 -#, python-format -msgid "Snapshot %s created successfully." -msgstr "" - -#: cinder/volume/targets/cxt.py:190 -#, python-format -msgid "Removing iscsi_target for: %s" -msgstr "" - -#: cinder/volume/targets/cxt.py:214 cinder/volume/targets/cxt.py:234 -#, python-format -msgid "No iscsi target present for volume id:%(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/iet.py:148 -#, python-format -msgid "Removing iscsi_target for volume: %s" -msgstr "" - -#: cinder/volume/targets/iet.py:203 -#, python-format -msgid "Failed to open iet session list for %(vol_id)s: %(e)s" -msgstr "" - -#: cinder/volume/targets/iscsi.py:224 -#, python-format -msgid "Skipping remove_export. No iscsi_target provisioned for volume: %s" -msgstr "" - -#: cinder/volume/targets/iscsi.py:239 -#, python-format -msgid "" -"Skipping remove_export. No iscsi_target is presently exported for volume:" -" %s" -msgstr "" - -#: cinder/volume/targets/iscsi.py:256 -#, python-format -msgid "Skipping ensure_export. No iscsi_target provision for volume: %s" -msgstr "" - -#: cinder/volume/targets/lio.py:105 -#, python-format -msgid "Creating iscsi_target for volume: %s" -msgstr "" - -#: cinder/volume/targets/lio.py:147 -#, python-format -msgid "Removing iscsi_target: %s" -msgstr "" - -#: cinder/volume/targets/lio.py:212 -msgid "Restoring iSCSI target from configuration file" -msgstr "" - -#: cinder/volume/targets/lio.py:216 -msgid "Skipping ensure_export. Found existing iSCSI target." -msgstr "" - -#: cinder/volume/targets/tgt.py:251 -#, python-format -msgid "Removing iscsi_target for Volume ID: %s" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:168 -#, python-format -msgid "Final filtered map for fabric: %(i_t_map)s" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:175 -msgid "Add connection: finished iterating over all target list" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:214 -#, python-format -msgid "Delete connection target list: %(targets)s" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:230 -#, python-format -msgid "Final filtered map for delete connection: %(i_t_map)s" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:284 -#, python-format -msgid "No targets to add or remove connection for initiator: %(init_wwn)s" -msgstr "" - -#: cinder/zonemanager/utils.py:38 -#, python-format -msgid "Using FC Zone Manager %(zm_version)s, Driver %(drv_name)s %(drv_version)s." -msgstr "" - -#: cinder/zonemanager/utils.py:55 -#, python-format -msgid "Using FC lookup service %s." -msgstr "" - -#: cinder/zonemanager/drivers/driver_utils.py:63 -msgid "" -"Zone name created using prefix because either host name or storage system" -" is none." -msgstr "" - -#: cinder/zonemanager/drivers/driver_utils.py:73 -msgid "Zone name created using prefix because host name is none." -msgstr "" - -#: cinder/zonemanager/drivers/driver_utils.py:76 -#, python-format -msgid "Friendly zone name after forming: %(zonename)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:121 -#, python-format -msgid "" -"BrcdFCZoneDriver - Add connection for fabric %(fabric)s for I-T map: " -"%(i_t_map)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:134 -#, python-format -msgid "Zoning policy for Fabric %(policy)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:138 -msgid "Zoning policy is not valid, no zoning will be performed." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:171 -#, python-format -msgid "Zone exists in I-T mode. Skipping zone creation for %(zonename)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:195 -#, python-format -msgid "Zone map to add: %(zonemap)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:226 -#, python-format -msgid "" -"BrcdFCZoneDriver - Delete connection for fabric %(fabric)s for I-T map: " -"%(i_t_map)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:239 -#, python-format -msgid "Zoning policy for fabric %(policy)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:405 -#, python-format -msgid "Filtered targets for SAN is: %(targets)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:312 -msgid "VF context is changed in the session." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:312 -#, python-format -msgid "Connector returning fcnsinfo-%s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:131 -#, python-format -msgid "CiscoFCZoneDriver - Add connection for I-T map: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:149 -#, python-format -msgid "Zoning policy for Fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:187 -#, python-format -msgid "Zone exists in I-T mode. Skipping zone creation %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:219 -#, python-format -msgid "Zone map to add: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:260 -#, python-format -msgid "CiscoFCZoneDriver - Delete connection for I-T map: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:279 -#, python-format -msgid "Zoning policy for fabric %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:362 -#, python-format -msgid "Zoning Policy: %s, not recognized" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:464 -#, python-format -msgid "Filtered targets for SAN is: %s" -msgstr "" - diff -Nru cinder-8.0.0/cinder/locale/cinder-log-warning.pot cinder-8.1.0/cinder/locale/cinder-log-warning.pot --- cinder-8.0.0/cinder/locale/cinder-log-warning.pot 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cinder-log-warning.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,2428 +0,0 @@ -# Translations template for cinder. -# Copyright (C) 2016 ORGANIZATION -# This file is distributed under the same license as the cinder project. -# FIRST AUTHOR , 2016. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev6\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-18 06:32+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.2.0\n" - -#: cinder/context.py:204 -msgid "Unable to get internal tenant context: Missing required config parameters." -msgstr "" - -#: cinder/coordination.py:171 -#, python-format -msgid "Reconnect attempt %(attempt)s failed. Next try in %(backoff).2fs." -msgstr "" - -#: cinder/quota_utils.py:86 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume - " -"(%(d_consumed)dG of %(d_quota)dG already consumed)" -msgstr "" - -#: cinder/quota_utils.py:97 cinder/transfer/api.py:201 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create volume (%(d_consumed)d " -"volumes already consumed)" -msgstr "" - -#: cinder/service.py:95 -msgid "" -"OSProfiler is enabled.\n" -"It means that person who knows any of hmac_keys that are specified in " -"/etc/cinder/cinder.conf can trace his requests. \n" -"In real life only operator can read this file so there is no security " -"issue. Note that even if person can trigger profiler, only admin user can" -" retrieve trace information.\n" -"To disable OSprofiler set in cinder.conf:\n" -"[profiler]\n" -"enabled=false" -msgstr "" - -#: cinder/service.py:200 -#, python-format -msgid "" -"Report interval must be less than service down time. Current config " -"service_down_time: %(service_down_time)s, report_interval for this: " -"service is: %(report_interval)s. Setting global service_down_time to: " -"%(new_down_time)s" -msgstr "" - -#: cinder/utils.py:983 -#, python-format -msgid "Invalid trace flag: %s" -msgstr "" - -#: cinder/api/__init__.py:31 -msgid "" -"The v1 api is deprecated and is not under active development. You should " -"set enable_v1_api=false and enable_v3_api=true in your cinder.conf file." -msgstr "" - -#: cinder/api/extensions.py:276 -#, python-format -msgid "Failed to load extension %(ext_factory)s: %(exc)s" -msgstr "" - -#: cinder/api/extensions.py:345 -#, python-format -msgid "Failed to load extension %(classpath)s: %(exc)s" -msgstr "" - -#: cinder/api/extensions.py:370 -#, python-format -msgid "Failed to load extension %(ext_name)s: %(exc)s" -msgstr "" - -#: cinder/api/openstack/__init__.py:114 -#, python-format -msgid "" -"Extension %(ext_name)s: Cannot extend resource %(collection)s: No such " -"resource" -msgstr "" - -#: cinder/backup/api.py:291 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create %(s_size)sG backup " -"(%(d_consumed)dG of %(d_quota)dG already consumed)" -msgstr "" - -#: cinder/backup/api.py:303 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create backups (%(d_consumed)d " -"backups already consumed)" -msgstr "" - -#: cinder/backup/chunkeddriver.py:725 -msgid "Error while listing objects, continuing with delete." -msgstr "" - -#: cinder/backup/driver.py:212 -msgid "" -"Destination volume type is different from source volume type for an " -"encrypted volume. Encrypted backup restore has failed." -msgstr "" - -#: cinder/backup/manager.py:693 -#, python-format -msgid "" -"Backup service %(service)s does not support verify. Backup id %(id)s is " -"not verified. Skipping verify." -msgstr "" - -#: cinder/backup/manager.py:830 -#, python-format -msgid "" -"Failed to terminate the connection of volume %(volume_id)s, but it is " -"acceptable." -msgstr "" - -#: cinder/backup/drivers/ceph.py:1172 -#, python-format -msgid "" -"RBD image for backup %(backup)s of volume %(volume)s not found. Deleting " -"backup metadata." -msgstr "" - -#: cinder/common/sqlalchemyutils.py:68 -msgid "Id not in sort_keys; is sort_keys unique?" -msgstr "" - -#: cinder/consistencygroup/api.py:111 -#, python-format -msgid "Availability zone '%s' is invalid" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:121 -msgid "Use of empty request context is deprecated" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:233 -#, python-format -msgid "Deadlock detected when running '%(func_name)s': Retrying..." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:1009 -#, python-format -msgid "Change will make usage less than 0 for the following resources: %s" -msgstr "" - -#: cinder/image/cache.py:168 -#, python-format -msgid "Image-volume cache for host %(host)s does not have enough space (GB)." -msgstr "" - -#: cinder/image/glance.py:134 -msgid "" -"glance_num_retries shouldn't be a negative value. The number of retries " -"will be set to 0 until this iscorrected in the cinder.conf." -msgstr "" - -#: cinder/image/image_utils.py:72 -msgid "qemu-img is not installed." -msgstr "" - -#: cinder/keymgr/conf_key_mgr.py:80 -msgid "" -"config option keymgr.fixed_key has not been defined: some operations may " -"fail unexpectedly" -msgstr "" - -#: cinder/keymgr/conf_key_mgr.py:136 -#, python-format -msgid "Not deleting key %s" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:427 -#, python-format -msgid "No weighed hosts found for volume with properties: %s" -msgstr "" - -#: cinder/scheduler/host_manager.py:458 -#, python-format -msgid "volume service is down. (host: %s)" -msgstr "" - -#: cinder/scheduler/filters/capacity_filter.py:71 -#, python-format -msgid "" -"Insufficient free space for volume creation. Total capacity is " -"%(total).2f on host %(host)s." -msgstr "" - -#: cinder/scheduler/filters/capacity_filter.py:93 -#, python-format -msgid "" -"Insufficient free space for thin provisioning. The ratio of provisioned " -"capacity over total capacity %(provisioned_ratio).2f has exceeded the " -"maximum over subscription ratio %(oversub_ratio).2f on host %(host)s." -msgstr "" - -#: cinder/scheduler/filters/capacity_filter.py:114 -#, python-format -msgid "" -"Filtering out host %(host)s with an invalid maximum over subscription " -"ratio of %(oversub_ratio).2f. The ratio should be a minimum of 1.0." -msgstr "" - -#: cinder/scheduler/filters/capacity_filter.py:124 -#, python-format -msgid "" -"Insufficient free space for volume creation on host %(host)s (requested /" -" avail): %(requested)s/%(available)s" -msgstr "" - -#: cinder/scheduler/filters/driver_filter.py:61 -#, python-format -msgid "Error in filtering function '%(function)s' : '%(error)s' :: failing host" -msgstr "" - -#: cinder/scheduler/filters/instance_locality_filter.py:97 -#, python-format -msgid "Hint \"%s\" dropped because ExtendedServerAttributes not active in Nova." -msgstr "" - -#: cinder/scheduler/filters/instance_locality_filter.py:108 -#, python-format -msgid "" -"Hint \"%s\" dropped because Nova did not return enough information. " -"Either Nova policy needs to be changed or a privileged account for Nova " -"should be specified in conf." -msgstr "" - -#: cinder/scheduler/weights/goodness.py:54 -msgid "Goodness function not set :: defaulting to minimal goodness rating of 0" -msgstr "" - -#: cinder/scheduler/weights/goodness.py:62 -#, python-format -msgid "" -"Error in goodness_function function '%(function)s' : '%(error)s' :: " -"Defaulting to a goodness of 0" -msgstr "" - -#: cinder/scheduler/weights/goodness.py:73 -#, python-format -msgid "" -"Invalid goodness result. Result must be between 0 and 100. Result " -"generated: '%s' :: Defaulting to a goodness of 0" -msgstr "" - -#: cinder/tests/unit/volume/drivers/netapp/dataontap/test_block_base.py:87 -#: cinder/volume/drivers/netapp/dataontap/block_base.py:133 -#, python-format -msgid "" -"The \"netapp_size_multiplier\" configuration option is deprecated and " -"will be removed in the Mitaka release. Please set \"reserved_percentage =" -" %d\" instead." -msgstr "" - -#: cinder/transfer/api.py:189 cinder/volume/flows/api/create_volume.py:622 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create %(s_size)sG volume " -"(%(d_consumed)dG of %(d_quota)dG already consumed)" -msgstr "" - -#: cinder/volume/api.py:428 -#, python-format -msgid "Unable to delete encryption key for volume: %s." -msgstr "" - -#: cinder/volume/api.py:759 cinder/volume/utils.py:721 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create %(s_size)sG snapshot " -"(%(d_consumed)dG of %(d_quota)dG already consumed)." -msgstr "" - -#: cinder/volume/api.py:771 cinder/volume/utils.py:733 -#, python-format -msgid "" -"Quota exceeded for %(s_pid)s, tried to create snapshot (%(d_consumed)d " -"snapshots already consumed)." -msgstr "" - -#: cinder/volume/driver.py:471 -#, python-format -msgid "Failed to activate volume copy throttling: %(err)s" -msgstr "" - -#: cinder/volume/driver.py:672 -#, python-format -msgid "" -"The colon in vendor name was replaced by underscore. Updated vendor name " -"is %(name)s\"." -msgstr "" - -#: cinder/volume/driver.py:686 -#, python-format -msgid "" -"Vendor unique property \"%(property)s\" must start with vendor prefix " -"with colon \"%(prefix)s\". The property was not registered on " -"capabilities list." -msgstr "" - -#: cinder/volume/driver.py:864 -#, python-format -msgid "" -"Failed terminating the connection of volume %(volume_id)s, but it is " -"acceptable." -msgstr "" - -#: cinder/volume/driver.py:2328 cinder/volume/targets/iscsi.py:154 -msgid "ISCSI provider_location not stored, using discovery" -msgstr "" - -#: cinder/volume/manager.py:246 -#, python-format -msgid "Driver path %s is deprecated, update your configuration to the new path." -msgstr "" - -#: cinder/volume/manager.py:272 -msgid "Suppressing requests library SSL Warnings" -msgstr "" - -#: cinder/volume/manager.py:462 -#, python-format -msgid "Detected volume stuck in %(curr_status)s status, setting to ERROR." -msgstr "" - -#: cinder/volume/manager.py:481 -msgid "Detected snapshot stuck in creating status, setting to ERROR." -msgstr "" - -#: cinder/volume/manager.py:1147 -#, python-format -msgid "" -"Unable to ensure space for image-volume in cache. Will skip creating " -"entry for image %(image)s on host %(host)s." -msgstr "" - -#: cinder/volume/manager.py:1157 -#, python-format -msgid "" -"Unable to clone image_volume for image %(image_id)s will not create cache" -" entry." -msgstr "" - -#: cinder/volume/manager.py:1169 -#, python-format -msgid "Failed to create new image-volume cache entry. Error: %(exception)s" -msgstr "" - -#: cinder/volume/manager.py:1259 -#, python-format -msgid "Registration of image volume URI %(uri)s to image %(image_id)s failed." -msgstr "" - -#: cinder/volume/manager.py:1332 -#, python-format -msgid "Deleting image in unexpected status: %(image_status)s." -msgstr "" - -#: cinder/volume/manager.py:1338 -msgid "Image delete encountered an error." -msgstr "" - -#: cinder/volume/manager.py:1826 -#, python-format -msgid "" -"Failed to migrate volume. The destination volume %(vol)s is not deleted " -"since the source volume may have been deleted." -msgstr "" - -#: cinder/volume/manager.py:1995 -#, python-format -msgid "Update driver status failed: %(config_group)s is uninitialized." -msgstr "" - -#: cinder/volume/manager.py:3385 -msgid "" -"Error encountered on Cinder backend during freeze operation, service is " -"frozen, however notification to driver has failed." -msgstr "" - -#: cinder/volume/qos_specs.py:201 -#, python-format -msgid "Failed to associate qos specs %(id)s with type: %(vol_type_id)s" -msgstr "" - -#: cinder/volume/qos_specs.py:215 -#, python-format -msgid "Failed to disassociate qos specs %(id)s with type: %(vol_type_id)s" -msgstr "" - -#: cinder/volume/qos_specs.py:229 -#, python-format -msgid "Failed to disassociate qos specs %s." -msgstr "" - -#: cinder/volume/throttling.py:88 -#, python-format -msgid "Failed to setup blkio cgroup to throttle the device '%(device)s'." -msgstr "" - -#: cinder/volume/utils.py:284 -#, python-format -msgid "" -"Incorrect value error: %(blocksize)s, it may indicate that " -"'volume_dd_blocksize' was configured incorrectly. Fall back to default." -msgstr "" - -#: cinder/volume/utils.py:708 -#, python-format -msgid "Error encountered translating config_string: %(config_string)s to dict" -msgstr "" - -#: cinder/volume/drivers/block_device.py:97 -#, python-format -msgid "The device %s won't be cleared." -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:169 -#, python-format -msgid "Got disconnected; trying to reconnect. (%s)" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:329 -#, python-format -msgid "" -"Try #%(try)d: Volume \"%(res)s\"/%(vol)d not yet deployed on " -"\"%(host)s\", waiting." -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:718 -#, python-format -msgid "snapshot: %s not found, skipping delete operation" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:156 -msgid "" -"Configuration options eqlx_use_chap, eqlx_chap_login and " -"eqlx_chap_password are deprecated. Use use_chap_auth, chap_username and " -"chap_password respectively for the same." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:170 -msgid "" -"Configuration option eqlx_cli_timeout is deprecated and will be removed " -"in M release. Use ssh_conn_timeout instead." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:450 -#, python-format -msgid "Volume %s was not found while trying to delete it." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:565 -#, python-format -msgid "Volume %s is not found!, it may have been deleted." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:113 -#, python-format -msgid "Exception during unmounting %s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:133 -#, python-format -msgid "Failed to refresh mounts, reason=%s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:241 cinder/volume/drivers/quobyte.py:225 -#: cinder/volume/drivers/remotefs.py:282 -#, python-format -msgid "Volume %s does not have provider_location specified, skipping" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:350 -msgid "" -"Fallocate not supported by current version of glusterfs. So falling back " -"to dd." -msgstr "" - -#: cinder/volume/drivers/hgst.py:344 -msgid "Unable to poll cluster free space." -msgstr "" - -#: cinder/volume/drivers/hgst.py:410 -#, python-format -msgid "Unable to delete space %(space)s" -msgstr "" - -#: cinder/volume/drivers/hgst.py:415 -msgid "Attempted to delete a space that's not there." -msgstr "" - -#: cinder/volume/drivers/lvm.py:191 -#, python-format -msgid "Unable to update stats on non-initialized Volume Group: %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:435 -#, python-format -msgid "snapshot: %s not found, skipping delete operations" -msgstr "" - -#: cinder/volume/drivers/nfs.py:353 cinder/volume/drivers/remotefs.py:569 -#, python-format -msgid "" -"The NAS file permissions mode will be 666 (allowing other/world read & " -"write access). This is considered an insecure NAS environment. Please see" -" %s for information on a secure NFS configuration." -msgstr "" - -#: cinder/volume/drivers/nfs.py:374 cinder/volume/drivers/remotefs.py:562 -#, python-format -msgid "" -"The NAS file operations will be run as root: allowing root level access " -"at the storage backend. This is considered an insecure NAS environment. " -"Please see %s for information on a secure NAS configuration." -msgstr "" - -#: cinder/volume/drivers/nimble.py:169 -#, python-format -msgid "Error updating agent-type for volume %s." -msgstr "" - -#: cinder/volume/drivers/pure.py:320 -#, python-format -msgid "Adding Volume to Protection Group failed with message: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:371 -#, python-format -msgid "Volume deletion failed with message: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:402 -#, python-format -msgid "Unable to delete snapshot, assuming already deleted. Error: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:470 -#, python-format -msgid "Purity host deletion failed: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:692 -#, python-format -msgid "Unable to delete Protection Group: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:765 -#, python-format -msgid "Unable to delete Protection Group Snapshot: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:882 -#, python-format -msgid "Unable to rename %(old_name)s, error message: %(error)s" -msgstr "" - -#: cinder/volume/drivers/pure.py:1125 -#, python-format -msgid "Disable replication on volume failed: already disabled: %s" -msgstr "" - -#: cinder/volume/drivers/pure.py:1389 -#, python-format -msgid "Skipping creation of PG %s since it already exists." -msgstr "" - -#: cinder/volume/drivers/pure.py:1397 -#, python-format -msgid "Protection group %s is deleted but not eradicated - will recreate." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:148 -msgid "" -"The NAS file operations will be run as root, allowing root level access " -"at the storage backend." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:160 -msgid "" -"The NAS file permissions mode will be 666 (allowing other/world read & " -"write access)." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:372 -#, python-format -msgid "Exception during mounting %s" -msgstr "" - -#: cinder/volume/drivers/quobyte.py:432 -#, python-format -msgid "Failed to unmount previous mount: %s" -msgstr "" - -#: cinder/volume/drivers/quobyte.py:436 -#, python-format -msgid "Unknown error occurred while checking mount point: %s Trying to continue." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:455 -#, python-format -msgid "%s is already mounted" -msgstr "" - -#: cinder/volume/drivers/quobyte.py:474 -#, python-format -msgid "Volume is not writable. Please broaden the file permissions. Mount: %s" -msgstr "" - -#: cinder/volume/drivers/rbd.py:184 -msgid "flush() not supported in this version of librbd" -msgstr "" - -#: cinder/volume/drivers/rbd.py:401 -msgid "Unable to get rados pool stats." -msgstr "" - -#: cinder/volume/drivers/rbd.py:909 -msgid "volume_tmp_dir is now deprecated, please use image_conversion_dir." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:367 -#, python-format -msgid "%(path)s is being set with open permissions: %(perm)s" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:979 -#, python-format -msgid "No backing file found for %s, allowing snapshot to be deleted." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:177 -#, python-format -msgid "Volume not found. %s" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:220 -#, python-format -msgid "Snapshot \"%s\" not found." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:222 -#, python-format -msgid "Volume \"%s\" not found." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:305 -#, python-format -msgid "Volume %s does not have provider_location specified, skipping." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:565 -#, python-format -msgid "More than one valid preset was detected, using %s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1004 -msgid "Requested image is not accessible by current Tenant." -msgstr "" - -#: cinder/volume/drivers/tegile.py:376 -#, python-format -msgid "" -"TegileIntelliFlashVolumeDriver(%(clsname)s) _update_volume_stats failed: " -"%(error)s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:389 -#, python-format -msgid "Exception while creating image %(image_id)s snapshot. Exception: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:414 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:452 -#, python-format -msgid "Exception during deleting %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:423 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:765 -#, python-format -msgid "Destination %s already exists." -msgstr "" - -#: cinder/volume/drivers/tintri.py:431 -#, python-format -msgid "Exception moving file %(src)s. Message: %(e)s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:496 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:511 -#, python-format -msgid "Unexpected exception during image cloning in share %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:611 -msgid "Unexpected exception while listing used share." -msgstr "" - -#: cinder/volume/drivers/xio.py:464 -#, python-format -msgid "IOnetworks GET failed (%d)" -msgstr "" - -#: cinder/volume/drivers/xio.py:589 -#, python-format -msgid "Could not get status for %(name)s (%(status)d)." -msgstr "" - -#: cinder/volume/drivers/xio.py:596 -msgid "No volume node in XML content." -msgstr "" - -#: cinder/volume/drivers/xio.py:603 -#, python-format -msgid "No status payload for volume %s." -msgstr "" - -#: cinder/volume/drivers/xio.py:690 -#, python-format -msgid "Volume %(name)s already presented (%(status)d)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:958 -#, python-format -msgid "Could not get pool information (%s)!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1193 -#, python-format -msgid "%s not found!" -msgstr "" - -#: cinder/volume/drivers/xio.py:1204 -#, python-format -msgid "DELETE call failed for %s!" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:671 -#, python-format -msgid "Volume initialization failure. (%s)" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:843 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2384 -#, python-format -msgid "Unable to create folder %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1010 -#, python-format -msgid "delete_volume: unable to find volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1085 -#, python-format -msgid "Unable to find appropriate OS %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1373 -msgid "Inconsistent Luns." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1742 -#, python-format -msgid "Unable to create snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1780 -#, python-format -msgid "Unable to find snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2571 -#, python-format -msgid "Unable to locate replication %(vol)s to %(ssn)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:300 -#, python-format -msgid "Unable to delete replication of Volume %(vname)s to Storage Center %(sc)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:347 -#, python-format -msgid "Unable to locate volume:%s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1019 -#, python-format -msgid "SSN %s appears to be down." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:744 -msgid "" -"The VMAX plugin only supports Retype. If a pool based migration is " -"necessary this will happen on a Retype From the command line: cinder " -"--os-volume-api-version 2 retype --migration-" -"policy on-demand" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:781 -#, python-format -msgid "" -"Failed to migrate: %(volumeName)s from default source storage group for " -"FAST policy: %(sourceFastPolicyName)s. Attempting cleanup... " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:809 -#, python-format -msgid "" -"Attempting a rollback of: %(volumeName)s to original pool " -"%(sourcePoolInstanceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:841 -#, python-format -msgid "_migrate_rollback on : %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:877 -#, python-format -msgid "_migrate_cleanup on : %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1074 -#, python-format -msgid "" -"The volume: %(volumename)s was not first part of the default storage " -"group for FAST policy %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1167 -#, python-format -msgid "Volume: %(volumeName)s is not currently belonging to any storage group." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1536 -#, python-format -msgid "" -"Volume is masked but not to host %(host)s as expected. Returning empty " -"dictionary." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2216 -#, python-format -msgid "" -"Pre check for deletion. Volume: %(volumeName)s is part of a storage " -"group. Attempting removal from %(storageGroupInstanceNames)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3092 -#, python-format -msgid "Volume : %(volumeName)s is not currently belonging to any storage group." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3365 -#, python-format -msgid "" -"The volume: %(volumename)s. was not first part of the default storage " -"group for FAST policy %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3798 -#, python-format -msgid "" -"Clone failed on V3. Cleaning up the target volume. Clone name: " -"%(cloneName)s " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4012 -#, python-format -msgid "FAST is enabled. Policy: %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:140 -#, python-format -msgid "Volume: %(volumeName)s Does not belong to storage group %(defaultSgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:411 -msgid "Unable to get storage tiers from tier policy rule." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fc.py:258 -#, python-format -msgid "Volume %(volume)s is not in any masking view." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:209 -#, python-format -msgid "" -"Volume: %(volumeName)s does not belong to storage group " -"%(defaultSgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:522 -#, python-format -msgid "Volume: %(volumeName)s is already part of storage group %(sgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1123 -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1390 -#, python-format -msgid "Unable to find Masking view: %(view)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1292 -#, python-format -msgid "" -"No storage group found. Performing rollback on Volume: %(volumeName)s To " -"return it to the default storage group for FAST policy " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1672 -#, python-format -msgid "" -"Volume %(volumeName)s was not first part of the default storage group for" -" the FAST Policy." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1819 -#, python-format -msgid "Volume %(volumeName)s is belong to %(sgNum)s storage groups." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2239 -#, python-format -msgid "No target ports found in masking view %(maskingView)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2309 -#, python-format -msgid "No port group found in masking view %(mv)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2328 -#, python-format -msgid "No Initiator group found in masking view %(mv)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2528 -#, python-format -msgid "Deletion of initiator path %(hardwareIdPath)s is failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2601 -#, python-format -msgid "" -"Initiator group %(initiatorGroupName)s is associated with masking views " -"and can't be deleted. Number of associated masking view is: %(nmv)d." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:709 -#, python-format -msgid "" -"Remaining capacity %(remainingCapacityGb)s GBs is determined from SRP " -"pool capacity and not the SLO capacity. Performance may not be what you " -"expect." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1225 -#, python-format -msgid "Storage sync name not found for target %(target)s on %(storageSystem)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1266 -#, python-format -msgid "" -"Group sync name not found for target group %(target)s on " -"%(storageSystem)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1721 -#, python-format -msgid "" -"CreateStorageHardwareID failed. initiator: %(initiator)s, rc=%(rc)d, " -"ret=%(ret)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1741 -msgid "Cannot determine the hardware type." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:707 -msgid "san_secondary_ip is configured as the same value as san_ip." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:812 -#, python-format -msgid "LUN already exists, LUN name %(name)s. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:866 -#, python-format -msgid "LUN is already deleted, LUN name %(name)s. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:940 -#, python-format -msgid "LUN %(name)s is already expanded. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:996 -#, python-format -msgid "Consistency group %(name)s already exists. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1080 -#, python-format -msgid "CG %(cg_name)s does not exist. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1084 -#, python-format -msgid "CG %(cg_name)s is deleting. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1106 -#, python-format -msgid "Cgsnapshot name %(name)s already exists. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1135 -#, python-format -msgid "Snapshot %(name)s for consistency group does not exist. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1154 -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1174 -#, python-format -msgid "Snapshot %(name)s already exists. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1191 -#, python-format -msgid "Snapshot %(name)s may deleted already. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1198 -#, python-format -msgid "Snapshot %(name)s is in use, retry. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1225 -#, python-format -msgid "Mount point %(name)s already exists. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1252 -#, python-format -msgid "" -"Snapshot %(snapname)s is attached to snapshot mount point %(mpname)s " -"already. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1272 -#, python-format -msgid "The specified Snapshot mount point %s is not currently attached." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1305 -#, python-format -msgid "" -"Migration command may get network timeout. Double check whether migration" -" in fact started successfully. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1317 -#, python-format -msgid "Start migration failed. Message: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1320 -#, python-format -msgid "Delete temp LUN after migration start failed. LUN: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1466 -#, python-format -msgid "Storage group %(name)s already exists. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1482 -#, python-format -msgid "" -"Storage group %(name)s doesn't exist, may have already been deleted. " -"Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1512 -#, python-format -msgid "" -"Host %(host)s has already disconnected from storage group %(sgname)s. " -"Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1549 -#, python-format -msgid "HLU %(hlu)s has already been removed from %(sgname)s. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1725 -msgid "No array serial number returned, set as unknown." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1759 -#, python-format -msgid "Storage Group %s is not found." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1868 -#, python-format -msgid "" -"Invalid iSCSI port %(sp)s-%(port)s-%(vlan)s found in io_port_list, will " -"be ignored." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1937 -#, python-format -msgid "See unavailable iSCSI target: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2155 -msgid "" -"destroy_empty_storage_group: True. Empty storage group will be deleted " -"after volume is detached." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2188 -msgid "force_delete_lun_in_storagegroup=True" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2195 -msgid "" -"ignore_pool_full_threshold: True. LUN creation will still be forced even " -"if the pool full threshold is exceeded." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2215 -#, python-format -msgid "" -"The following specified storage pools do not exist: %(unexist)s. This " -"host will only manage the storage pools: %(exist)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2344 -msgid "snapcopy metadata is ignored when creating volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2387 -msgid "Unknown migration rate specified, using [high] as migration rate." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2395 -msgid "" -"Extra spec key 'storagetype:pool' is obsoleted since driver version " -"5.1.0. This key will be ignored." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2432 -msgid "" -"Both 'storagetype:prvosioning' and 'provisioning:type' are set in the " -"extra specs, the value of 'provisioning:type' will be used. The key " -"'storagetype:provisioning' may be deprecated in the next release." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2441 -msgid "" -"Extra spec key 'storagetype:provisioning' may be deprecated in the next " -"release. It is recommended to use extra spec key 'provisioning:type' " -"instead." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2494 -#, python-format -msgid "" -"LUN corresponding to %s is still in some Storage Groups.Try to bring the " -"LUN out of Storage Groups and retry the deletion." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2527 -#, python-format -msgid "LUN %(name)s is not ready for extension: %(out)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2548 -msgid "" -"Failed to get target_pool_name and target_array_serial. 'location_info' " -"is not in host['capabilities']." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2561 -msgid "Error on parsing target_pool_name/target_array_serial." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2575 -#, python-format -msgid "" -"Didn't get the pool information of the host %s. Storage assisted " -"Migration is not supported. The host may be using a legacy driver." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2708 -#: cinder/volume/drivers/huawei/huawei_driver.py:876 -msgid "Storage-assisted migration failed during retype." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2781 -#, python-format -msgid "Storage Pool '%(pool)s' is '%(state)s'." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2791 -#, python-format -msgid "" -"Maximum number of Pool LUNs, %s, have been created. No more LUN creation " -"can be done." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2898 -#, python-format -msgid "LUN %(name)s is not ready for snapshot: %(out)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3216 -#, python-format -msgid "LUN with id %(remove_id)s is not present in cg %(cg_name)s, skip it." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3311 -#, python-format -msgid "Storage Group %s is not found. Create it." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3374 -#, python-format -msgid "Failed to register %(itor)s to SP%(sp)s port %(portid)s because: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3493 -#, python-format -msgid "Failed to extract initiators of %s, so ignore deregistration operation." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3500 -#, python-format -msgid "Failed to deregister %(itor)s because: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3761 -#, python-format -msgid "Storage Group %s is not found. terminate_connection() is unnecessary." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3770 -#, python-format -msgid "Volume %(vol)s was not in Storage Group %(sg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3792 -#, python-format -msgid "Failed to destroy Storage Group %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3798 -#, python-format -msgid "Fail to connect host %(host)s back to storage group %(sg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4169 -#, python-format -msgid "No replication info from this volume: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4269 -#, python-format -msgid "" -"Delete the temporary cgsnapshot %(name)s failed. This temporary " -"cgsnapshot can be deleted manually. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4355 -#, python-format -msgid "" -"The source volume is a legacy volume. Create volume in the pool where the" -" source volume %s is created." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4431 -#, python-format -msgid "CreateSMPTask.revert: delete mount point %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4451 -#, python-format -msgid "AttachSnapTask.revert: detach mount point %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4489 -#, python-format -msgid "CreateDestLunTask.revert: delete temp lun %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4558 -#, python-format -msgid "CreateSnapshotTask.revert: delete temp cgsnapshot %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4563 -#, python-format -msgid "CreateSnapshotTask.revert: delete temp snapshot %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4585 -#, python-format -msgid "" -"CopySnapshotTask.revert: delete the copied snapshot %(new_name)s of " -"%(source_name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4696 -#, python-format -msgid "MirrorView already created, mirror name %(name)s. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4730 -#, python-format -msgid "MirrorView %(name)s was already deleted. Message: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4803 -#, python-format -msgid "Getting MirrorView %(name)s failed. Message: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4923 -#, python-format -msgid "%(method)s: destroying mirror view %(name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4956 -#, python-format -msgid "%(method)s: destroying secondary LUN %(name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4982 -#, python-format -msgid "%(method)s: removing secondary image from %(name)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:131 -msgid "No storage pool name or id was found." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:170 -msgid "No protection domain name or id was specified in configuration." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:191 -msgid "Verify certificate is not set, using default of False." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:239 -msgid "QoS specs are overriding extra_specs." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:567 -#, python-format -msgid "" -"ScaleIO only supports volumes with a granularity of 8 GBs. The new volume" -" size is: %d." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:658 -#, python-format -msgid "Ignoring error in delete volume %s: Volume not found." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:662 -msgid "" -"Volume does not have provider_id thus does not map to a ScaleIO volume. " -"Allowing deletion to proceed." -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:155 -#, python-format -msgid "object %(key)s of type %(typ)s not found, %(err_msg)s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:576 -msgid "terminate_connection: lun map not found" -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:226 -#, python-format -msgid "create_volume, volumename: %(volumename)s, Element Name is in use." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:895 -#, python-format -msgid "" -"update_volume_stats, eternus_pool:%(eternus_pool)s, specified pool is not" -" found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1720 -#, python-format -msgid "" -"_map_lun, lun_name: %(volume_uid)s, Initiator: %(initiator)s, target: " -"%(target)s, Return code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1753 -#, python-format -msgid "" -"_map_lun, lun_name: %(volume_uid)s, Initiator: %(initiator)s, ag: %(ag)s," -" Return code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_common.py:410 -#: cinder/volume/drivers/hitachi/hbsd_common.py:416 -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1342 -#, python-format -msgid "Failed to restart horcm: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_fc.py:181 -#, python-format -msgid "Failed to add host group: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:851 -#, python-format -msgid "Failed to discard zero page: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1320 -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1329 -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1336 -#: cinder/volume/drivers/hitachi/hbsd_horcm.py:1360 -#, python-format -msgid "Failed to create pair: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_snm2.py:145 -#, python-format -msgid "ldev(%(ldev)d) is already mapped (hlun: %(hlu)d)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:273 -#, python-format -msgid "get_evs: %(out)s -- No find for %(fsid)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:308 -#, python-format -msgid "get_fsid: %(out)s -- No info for %(fslabel)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:728 -msgid "terminate_conn: provider location empty." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:441 -#, python-format -msgid "" -"srstatld requires WSAPI version '%(srstatld_version)s' version " -"'%(version)s' is installed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:566 -#, python-format -msgid "Virtual Volume Set '%s' doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:678 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2524 -#, python-format -msgid "Delete Snapshot id not found. Removing from cinder: %(id)s Ex: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:779 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1145 -#, python-format -msgid "Failed to manage virtual volume %(disp)s due to error during retype." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1416 -#, python-format -msgid "3PAR vlun for volume %(name)s not found on host %(host)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1707 -msgid "" -"'hpe3par:cpg' is not supported as an extra spec in a volume type. CPG's " -"are chosen by the cinder scheduler, as a pool, from the cinder.conf entry" -" 'hpe3par_cpg', which can be a list of CPGs." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2136 -#, python-format -msgid "Delete volume id not found. Removing from cinder: %(id)s Ex: %(msg)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2318 -#, python-format -msgid "Issue occurred in clear_volume_key_value_pair: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3088 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1535 -#, python-format -msgid "" -"The secondary array must have an API version of %(min_ver)s or higher. " -"Array '%(target)s' is on %(target_ver)s, therefore it will not be added " -"as a valid replication target." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3098 -#, python-format -msgid "" -"'%s' is not a valid replication array. In order to be valid, backend_id, " -"replication_mode, hpe3par_api_url, hpe3par_username, hpe3par_password, " -"cpg_map, san_ip, san_login, and san_password must be specified. If the " -"target is managed, managed_backend_name must be set as well." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_fc.py:125 -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:137 -msgid "" -"The primary array is not reachable at this time. Since replication is " -"enabled, listing replication targets and failing over a volume can still " -"be performed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:206 -#, python-format -msgid "Invalid IP address format '%s'" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:238 -#, python-format -msgid "" -"Found invalid iSCSI IP address(s) in configuration option(s) " -"hpe3par_iscsi_ips or iscsi_ip_address '%s.'" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:387 -#, python-format -msgid "" -"iSCSI IP: '%s' was not found in hpe3par_iscsi_ips list defined in " -"cinder.conf." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:425 -msgid "Least busy iSCSI port not found, using first iSCSI port in list." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:578 -msgid "" -"Host exists without CHAP credentials set and has iSCSI attachments but " -"CHAP is enabled. Updating host with new CHAP credentials." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:610 -msgid "Host has no CHAP key, but CHAP is enabled." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:614 -msgid "No host or VLUNs exist. Generating new CHAP key." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:643 -msgid "Non-iSCSI VLUN detected." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:647 -msgid "No VLUN contained CHAP credentials. Generating new CHAP key." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:344 -#, python-format -msgid "" -"HPELeftHand API is version %(current)s. A minimum version of %(min)s is " -"needed for manage/unmanage support." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:819 -msgid "The 'hplh' prefix is deprecated. Use 'hpelh' instead." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:859 -#, python-format -msgid "CHAP secret exists for host %s but CHAP is disabled" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:862 -#, python-format -msgid "CHAP is enabled, but server secret not configured on server %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:936 -#, python-format -msgid "%s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1436 -msgid "" -"The primary array is currently offline, remote copy has been " -"automatically paused." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1545 -#, python-format -msgid "" -"'%s' is not a valid replication array. In order to be valid, backend_id, " -"hpelefthand_api_url, hpelefthand_username, hpelefthand_password, and " -"hpelefthand_clustername, must be specified. If the target is managed, " -"managed_backend_name must be set as well." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1658 -#, python-format -msgid "" -"There was a problem when trying to determine if the volume can be failed-" -"back: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1763 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1784 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1806 -#, python-format -msgid "" -"There was no extra_spec value for %(spec_name)s, so the default value of " -"%(def_val)s will be used. To overwrite this, set this value in the volume" -" type extra_specs." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:710 -#, python-format -msgid "Failure deleting the snapshot %(snapshot_id)s of volume %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:841 -msgid "Can't find snapshot on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1200 -msgid "No license for SplitMirror." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1226 -msgid "No license for migration." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1368 -#, python-format -msgid "Rename lun %(lun_id)s fails when unmanaging volume %(volume)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1463 -#, python-format -msgid "Can't find snapshot on the array: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1474 -#, python-format -msgid "" -"Failed to rename snapshot %(snapshot_id)s, snapshot name on array is " -"%(snapshot_name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1735 -#: cinder/volume/drivers/huawei/huawei_driver.py:1975 -#, python-format -msgid "LUN is not in lungroup. LUN ID: %(lun_id)s. Lungroup id: %(lungroup_id)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1982 -msgid "Can't find lun on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:227 -#, python-format -msgid "Lun is not in lungroup. Lun id: %(lun_id)s, lungroup id: %(lungroup_id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:197 -#, python-format -msgid "Split replication exception: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:346 -#, python-format -msgid "Get remote array wwn failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:354 -#, python-format -msgid "Get remote devices failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:383 -msgid "Remote device is unavailable." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:561 -#: cinder/volume/drivers/huawei/replication.py:611 -#, python-format -msgid "No pair id in volume %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:568 -#: cinder/volume/drivers/huawei/replication.py:618 -#, python-format -msgid "No remote lun id in volume %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:147 -#, python-format -msgid "Login failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1265 -#: cinder/volume/drivers/huawei/rest_client.py:1277 -msgid "Can't find target iqn from rest." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:317 -#, python-format -msgid "warning: Tried to delete vdisk %s but it does not exist." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:354 -#, python-format -msgid "Failed to run command: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:758 -msgid "_remove_device: invalid properties or device." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:811 -#, python-format -msgid "" -"_unmap_vdisk_from_host: No mapping of volume %(vol_name)s to any host " -"found." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:817 -#, python-format -msgid "" -"_unmap_vdisk_from_host: Multiple mappings of volume %(vdisk_name)s found," -" no host specified." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:157 -#, python-format -msgid "Host %(host)s was not found on backend storage." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:188 -#, python-format -msgid "_get_vdisk_map_properties: Did not find a preferred node for vdisk %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:570 -#, python-format -msgid "Failed to run lsguicapability. Exception: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:858 -#, python-format -msgid "unmap_vol_from_host: No mapping of volume %(vol_name)s to any host found." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:864 -#, python-format -msgid "" -"unmap_vol_from_host: Multiple mappings of volume %(vol_name)s found, no " -"host specified." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:876 -#, python-format -msgid "" -"unmap_vol_from_host: No mapping of volume %(vol_name)s to host %(host)s " -"found." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2013 -msgid "" -"Unable to use san_ip to create SSHPool. Now attempting to use " -"storwize_san_secondary_ip to create SSHPool." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2020 -msgid "" -"Unable to create SSHPool using san_ip and not able to use " -"storwize_san_secondary_ip since it is not configured." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2036 -#, python-format -msgid "" -"Unable to execute SSH command with storwize_san_secondary_ip. Attempting " -"to switch IP back to san_ip %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2046 -#, python-format -msgid "Unable to execute SSH command. Attempting to switch IP to %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2054 -msgid "" -"Unable to execute SSH command. Not able to use storwize_san_secondary_ip " -"since it is not configured." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2429 -#, python-format -msgid "Volume %s does not exist." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:169 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:177 -#, python-format -msgid "initialize_connection: Did not find a preferred node for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:132 -msgid "CHAP secret exists for host but CHAP is disabled." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:90 -msgid "The MCS Channel is grouped." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:94 -msgid "No mapping." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:102 -msgid "IQN already existed." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:107 -msgid "IQN has been used to create map." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:108 -msgid "No such host alias name." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:844 -#, python-format -msgid "Volume %(volume_id)s already deleted." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:855 -#, python-format -msgid "Volume still %(status)s Cannot delete volume." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1160 -msgid "Failed to get Raid Snapshot ID and did not store in snapshot." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1173 -#, python-format -msgid "Snapshot still %(status)s Cannot delete snapshot." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1633 -msgid "Failed to get target pool id." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1870 -#, python-format -msgid "Volume %(volume_id)s cannot be retyped during attachment." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1877 -#, python-format -msgid "Volume %(volume_id)s cannot be retyped because it has snapshot." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1900 -#, python-format -msgid "The provisioning: %(provisioning)s is not valid." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:70 -msgid "" -"It is not the recommended way to use drivers by NetApp. Please use " -"NetAppDriver to achieve the functionality." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:145 -#, python-format -msgid "Extra spec %(old)s is obsolete. Use %(new)s instead." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:150 -#, python-format -msgid "Extra spec %(old)s is deprecated. Use %(new)s instead." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:143 -#, python-format -msgid "Could not determine root volume name on %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:338 -msgid "" -"The option 'netapp_volume_list' is deprecated and will be removed in the " -"future releases. Please use the option 'netapp_pool_name_search_pattern' " -"instead." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:384 -msgid "Volume refresh job already running. Returning..." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:392 -#, python-format -msgid "Error refreshing volume info. Message: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:246 -#, python-format -msgid "No entry in LUN table for volume/snapshot %(name)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:371 -#, python-format -msgid "" -"LUN misalignment may occur for current initiator group %(ig_nm)s) with " -"host OS type %(ig_os)s. Please configure initiator group manually " -"according to the type of the host OS." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:325 -#, python-format -msgid "" -"Exception while registering image %(image_id)s in cache. Exception: " -"%(exc)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:394 -#, python-format -msgid "Exception during cache cleaning %(share)s. Message - %(ex)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:605 -msgid "Discover file retries exhausted." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:663 -msgid "Unexpected exception while short listing used share." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:773 -#, python-format -msgid "Exception moving file %(src)s. Message - %(e)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:244 -msgid "No shares found hence skipping ssc refresh." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:524 -msgid "ssc job in progress. Returning... " -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:536 -msgid "refresh stale ssc job in progress. Returning... " -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:641 -#, python-format -msgid "" -"The user does not have access or sufficient privileges to use all netapp " -"APIs. The following extra_specs will fail or be ignored: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_7mode.py:179 -#, python-format -msgid "Error finding LUNs for volume %s. Verify volume exists." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:138 -#, python-format -msgid "Error mapping LUN. Code :%(code)s, Message: %(message)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:151 -#, python-format -msgid "Error unmapping LUN. Code :%(code)s, Message: %(message)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:397 -#, python-format -msgid "Failed to invoke ems. Message : %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:486 -#, python-format -msgid "Rename failure in cleanup of cDOT QOS policy group %(name)s: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:219 -#, python-format -msgid "" -"Production use of \"%(backend)s\" backend requires the Cinder controller " -"to have multipathing properly set up and the configuration option " -"\"%(mpflag)s\" to be set to \"True\"." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:664 -#, python-format -msgid "Snapshot volume creation failed for snapshot %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:708 -#, python-format -msgid "Failure deleting job %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:711 -#, python-format -msgid "Volume copy job for src vol %s not found." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:728 -#, python-format -msgid "Failure deleting temp snapshot %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:737 -#, python-format -msgid "Volume %s already deleted." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:972 -#, python-format -msgid "Snapshot %s already deleted." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1033 -#: cinder/volume/drivers/netapp/eseries/library.py:1062 -#, python-format -msgid "Unable to remove snapshot group - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1346 -#, python-format -msgid "Unable to update host type for host with label %(l)s. %(e)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1351 -#, python-format -msgid "Message - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1649 -msgid "" -"The option 'netapp_storage_pools' is deprecated and will be removed in " -"the future releases. Please use the option " -"'netapp_pool_name_search_pattern' instead." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1687 -#, python-format -msgid "No storage pool found with available capacity %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1948 -msgid "Consistency group already deleted." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1955 -msgid "Unable to remove CG from the deletion map." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2036 -msgid "Returning as clean tmp vol job already running." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:256 -#, python-format -msgid "Cannot delete snapshot %(origin)s: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:284 -#: cinder/volume/drivers/nexenta/nfs.py:425 -#: cinder/volume/drivers/nexenta/ns5/nfs.py:331 -#, python-format -msgid "Failed to delete zfs snapshot %(volume_name)s@%(name)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:344 -#: cinder/volume/drivers/nexenta/nfs.py:167 -#, python-format -msgid "Remote NexentaStor appliance at %s should be SSH-bound." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:364 -#: cinder/volume/drivers/nexenta/nfs.py:187 -#, python-format -msgid "" -"Cannot send source snapshot %(src)s to destination %(dst)s. Reason: " -"%(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:372 -#: cinder/volume/drivers/nexenta/nfs.py:195 -#, python-format -msgid "" -"Cannot delete temporary source snapshot %(src)s on NexentaStor Appliance:" -" %(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:378 -#: cinder/volume/drivers/nexenta/nfs.py:201 -#, python-format -msgid "Cannot delete source volume %(volume)s on NexentaStor Appliance: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:388 -#: cinder/volume/drivers/nexenta/nfs.py:211 -#, python-format -msgid "" -"Cannot delete temporary destination snapshot %(dst)s on NexentaStor " -"Appliance: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:424 -#: cinder/volume/drivers/nexenta/nfs.py:269 -#, python-format -msgid "Cannot retype from %(src_backend)s to %(dst_backend)s." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:140 -#, python-format -msgid "Volume status must be 'available' or 'retyping'. Current volume status: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:145 -msgid "Unsupported host. No capabilities found" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:361 -#: cinder/volume/drivers/nexenta/ns5/nfs.py:188 -#, python-format -msgid "Cannot destroy created folder: %(vol)s/%(folder)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:391 -#, python-format -msgid "Cannot destroy cloned folder: %(vol)s/%(folder)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:650 -#, python-format -msgid "Share %s ignored due to invalid format. Must be of form address:/export." -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:701 -#, python-format -msgid "Mount attempt %(attempt)d failed: %(error)s. Retrying mount ..." -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:232 -#, python-format -msgid "" -"Got error trying to delete volume %(volume)s, assuming it is already " -"gone: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:293 -#: cinder/volume/drivers/nexenta/ns5/nfs.py:265 -#, python-format -msgid "Could not delete snapshot %s - it has dependencies" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:351 -#, python-format -msgid "Failed to delete zfs snapshot %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/nfs.py:304 -#, python-format -msgid "Cannot destroy cloned filesystem: %(vol)s/%(filesystem)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:153 -#, python-format -msgid "Cannot get volume status %(exc)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1254 -#, python-format -msgid "Flexvisor failed to delete volume %(id)s from the group %(vgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1259 -#, python-format -msgid "" -"Flexvisor failed to delete volume %(id)s from group %(vgid)s due to " -"%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1428 -#, python-format -msgid "Failed to query pool %(id)s status %(ret)d." -msgstr "" - -#: cinder/volume/drivers/vmware/datastore.py:227 -#, python-format -msgid "Unable to fetch datastores connected to host %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:530 -#, python-format -msgid "Trying to boot from an empty volume: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:708 -#, python-format -msgid "Error occurred while deleting temporary disk: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:840 -#, python-format -msgid "Error occurred while deleting descriptor: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:873 -#, python-format -msgid "Error occurred while deleting backing: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1217 -#, python-format -msgid "Volume: %s is in use, can't retype." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1286 -#, python-format -msgid "" -"There are no datastores matching new requirements; can't retype volume: " -"%s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1340 -#, python-format -msgid "" -"Changing backing: %(backing)s name from %(new_name)s to %(old_name)s " -"failed." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1390 -#, python-format -msgid "" -"Unable to extend volume: %(vol)s to size: %(size)s on current datastore " -"due to insufficient space." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1597 -#, python-format -msgid "" -"Cannot undo volume rename; old name was %(old_name)s and new name is " -"%(new_name)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:189 -msgid "zfssa_initiator_config not found. Using deprecated configuration options." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:203 -#, python-format -msgid "" -"zfssa_initiator: %(ini)s wont be used on zfssa_initiator_group= " -"%(inigrp)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1014 -#, python-format -msgid "Volume %s exists but can't be deleted" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:998 -#, python-format -msgid "Property %s already exists." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:254 -#, python-format -msgid "" -"Failed to retrieve volume_type from image metadata. '%(img_vol_type)s' " -"doesn't match any volume types." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:330 -#, python-format -msgid "" -"Availability zone '%(s_az)s' not found, falling back to " -"'%(s_fallback_az)s'." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:392 -msgid "Volume type will be changed to be the same as the source volume." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:635 -#, python-format -msgid "" -"Quota %(s_name)s exceeded for %(s_pid)s, tried to create volume " -"(%(d_consumed)d volume(s) already consumed)." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:685 -#, python-format -msgid "" -"Failed to create volume from image-volume cache, will fall back to " -"default behavior. Error: %(exception)s" -msgstr "" - -#: cinder/volume/targets/cxt.py:131 cinder/volume/targets/tgt.py:166 -#, python-format -msgid "Persistence file already exists for volume, found file at: %s" -msgstr "" - -#: cinder/volume/targets/cxt.py:194 cinder/volume/targets/tgt.py:255 -#, python-format -msgid "Volume path %s does not exist, nothing to remove." -msgstr "" - -#: cinder/volume/targets/iet.py:191 -#, python-format -msgid "" -"Failed to update %(conf)s for volume id %(vol_id)s after removing iscsi " -"target. %(conf)s does not exist." -msgstr "" - -#: cinder/volume/targets/iser.py:28 -msgid "" -"ISERTgtAdm is deprecated, you should now just use LVMVolumeDriver and " -"specify iscsi_helper for the target driver you wish to use. In order to " -"enable iser, please set iscsi_protocol=iser with lioadm or tgtadm target " -"helpers." -msgstr "" - -#: cinder/volume/targets/lio.py:86 -#, python-format -msgid "" -"Failed to save iscsi LIO configuration when modifying volume id: " -"%(vol_id)s." -msgstr "" - -#: cinder/volume/targets/lio.py:97 -msgid "Failed to restore iscsi LIO configuration." -msgstr "" - -#: cinder/volume/targets/tgt.py:84 -msgid "Attempting recreate of backing lun..." -msgstr "" - -#: cinder/volume/targets/tgt.py:192 -#, python-format -msgid "Could not create target because it already exists for volume: %s" -msgstr "" - -#: cinder/volume/targets/tgt.py:277 -#, python-format -msgid "" -"Failed target removal because target or ACL's couldn't be found for iqn: " -"%s." -msgstr "" - -#: cinder/volume/targets/tgt.py:296 -msgid "Silent failure of target removal detected, retry...." -msgstr "" - -#: cinder/zonemanager/utils.py:77 -msgid "Driver didn't return connection info, can't add zone." -msgstr "" - -#: cinder/zonemanager/utils.py:101 -msgid "Driver didn't return connection info from terminate_connection call." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:317 -#, python-format -msgid "Zoning policy not recognized: %(policy)s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:378 -#, python-format -msgid "Error running SSH command: %s" -msgstr "" - diff -Nru cinder-8.0.0/cinder/locale/cinder.pot cinder-8.1.0/cinder/locale/cinder.pot --- cinder-8.0.0/cinder/locale/cinder.pot 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cinder.pot 1970-01-01 00:00:00.000000000 +0000 @@ -1,11576 +0,0 @@ -# Translations template for cinder. -# Copyright (C) 2016 ORGANIZATION -# This file is distributed under the same license as the cinder project. -# FIRST AUTHOR , 2016. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-23 06:37+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.2.0\n" - -#: cinder/context.py:113 -#, python-format -msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" -msgstr "" - -#: cinder/coordination.py:119 -msgid "Coordinator uninitialized." -msgstr "" - -#: cinder/coordination.py:210 -#, python-format -msgid "Not a valid string: %s" -msgstr "" - -#: cinder/exception.py:84 -msgid "An unknown exception occurred." -msgstr "" - -#: cinder/exception.py:136 -#, python-format -msgid "Bad or unexpected response from the storage volume backend API: %(data)s" -msgstr "" - -#: cinder/exception.py:141 -#, python-format -msgid "Volume driver reported an error: %(message)s" -msgstr "" - -#: cinder/exception.py:145 -#, python-format -msgid "Backup driver reported an error: %(message)s" -msgstr "" - -#: cinder/exception.py:149 -#, python-format -msgid "Connection to glance failed: %(reason)s" -msgstr "" - -#: cinder/exception.py:153 -msgid "Not authorized." -msgstr "" - -#: cinder/exception.py:158 -msgid "User does not have admin privileges" -msgstr "" - -#: cinder/exception.py:162 -#, python-format -msgid "Policy doesn't allow %(action)s to be performed." -msgstr "" - -#: cinder/exception.py:166 -#, python-format -msgid "Not authorized for image %(image_id)s." -msgstr "" - -#: cinder/exception.py:170 -msgid "Volume driver not ready." -msgstr "" - -#: cinder/exception.py:174 -msgid "Unacceptable parameters." -msgstr "" - -#: cinder/exception.py:179 -#, python-format -msgid "Invalid snapshot: %(reason)s" -msgstr "" - -#: cinder/exception.py:183 -#, python-format -msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:188 -#, python-format -msgid "Volume %(volume_id)s is still attached, detach volume first." -msgstr "" - -#: cinder/exception.py:192 -msgid "The results are invalid." -msgstr "" - -#: cinder/exception.py:196 -#, python-format -msgid "Invalid input received: %(reason)s" -msgstr "" - -#: cinder/exception.py:200 -#, python-format -msgid "Invalid volume type: %(reason)s" -msgstr "" - -#: cinder/exception.py:204 -#, python-format -msgid "Invalid volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:208 -#, python-format -msgid "Invalid content type %(content_type)s." -msgstr "" - -#: cinder/exception.py:212 -#, python-format -msgid "Invalid host: %(reason)s" -msgstr "" - -#: cinder/exception.py:218 -#, python-format -msgid "%(err)s" -msgstr "" - -#: cinder/exception.py:222 -#, python-format -msgid "Invalid auth key: %(reason)s" -msgstr "" - -#: cinder/exception.py:226 -#, python-format -msgid "Value \"%(value)s\" is not valid for configuration option \"%(option)s\"" -msgstr "" - -#: cinder/exception.py:231 -msgid "Service is unavailable at this time." -msgstr "" - -#: cinder/exception.py:235 -#, python-format -msgid "Image %(image_id)s is unacceptable: %(reason)s" -msgstr "" - -#: cinder/exception.py:239 -#, python-format -msgid "The device in the path %(path)s is unavailable: %(reason)s" -msgstr "" - -#: cinder/exception.py:243 -#, python-format -msgid "Expected a uuid but received %(uuid)s." -msgstr "" - -#: cinder/exception.py:247 -#, python-format -msgid "" -"API Version String %(version)s is of invalid format. Must be of format " -"MajorNum.MinorNum." -msgstr "" - -#: cinder/exception.py:252 -#, python-format -msgid "API version %(version)s is not supported on this method." -msgstr "" - -#: cinder/exception.py:256 -#, python-format -msgid "" -"Version %(req_ver)s is not supported by the API. Minimum is %(min_ver)s " -"and maximum is %(max_ver)s." -msgstr "" - -#: cinder/exception.py:261 -#, python-format -msgid "Error while requesting %(service)s API." -msgstr "" - -#: cinder/exception.py:270 -#, python-format -msgid "Timeout while requesting %(service)s API." -msgstr "" - -#: cinder/exception.py:274 -#, python-format -msgid "Timeout while requesting capabilities from backend %(service)s." -msgstr "" - -#: cinder/exception.py:280 -msgid "Resource could not be found." -msgstr "" - -#: cinder/exception.py:286 -#, python-format -msgid "Volume %(volume_id)s could not be found." -msgstr "" - -#: cinder/exception.py:290 -#, python-format -msgid "Volume attachment could not be found with filter: %(filter)s ." -msgstr "" - -#: cinder/exception.py:295 -#, python-format -msgid "Volume %(volume_id)s has no metadata with key %(metadata_key)s." -msgstr "" - -#: cinder/exception.py:300 -#, python-format -msgid "" -"Volume %(volume_id)s has no administration metadata with key " -"%(metadata_key)s." -msgstr "" - -#: cinder/exception.py:305 -#, python-format -msgid "Invalid metadata: %(reason)s" -msgstr "" - -#: cinder/exception.py:309 -#, python-format -msgid "Invalid metadata size: %(reason)s" -msgstr "" - -#: cinder/exception.py:313 -#, python-format -msgid "Snapshot %(snapshot_id)s has no metadata with key %(metadata_key)s." -msgstr "" - -#: cinder/exception.py:318 -#, python-format -msgid "Volume type %(volume_type_id)s could not be found." -msgstr "" - -#: cinder/exception.py:322 -#, python-format -msgid "Volume type with name %(volume_type_name)s could not be found." -msgstr "" - -#: cinder/exception.py:327 -#, python-format -msgid "" -"Volume type access not found for %(volume_type_id)s / %(project_id)s " -"combination." -msgstr "" - -#: cinder/exception.py:332 -#, python-format -msgid "" -"Volume Type %(volume_type_id)s has no extra specs with key " -"%(extra_specs_key)s." -msgstr "" - -#: cinder/exception.py:337 -#, python-format -msgid "" -"Volume Type %(volume_type_id)s deletion is not allowed with volumes " -"present with the type." -msgstr "" - -#: cinder/exception.py:342 -#, python-format -msgid "Snapshot %(snapshot_id)s could not be found." -msgstr "" - -#: cinder/exception.py:346 -#, python-format -msgid "Instance %(uuid)s could not be found." -msgstr "" - -#: cinder/exception.py:350 -#, python-format -msgid "deleting volume %(volume_name)s that has snapshot" -msgstr "" - -#: cinder/exception.py:354 -#, python-format -msgid "deleting snapshot %(snapshot_name)s that has dependent volumes" -msgstr "" - -#: cinder/exception.py:359 -#, python-format -msgid "No target id found for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:363 -#, python-format -msgid "Invalid image href %(image_href)s." -msgstr "" - -#: cinder/exception.py:367 -#, python-format -msgid "Image %(image_id)s could not be found." -msgstr "" - -#: cinder/exception.py:374 -#, python-format -msgid "Service %(service_id)s could not be found on host %(host)s." -msgstr "" - -#: cinder/exception.py:377 -#, python-format -msgid "Service %(service_id)s could not be found." -msgstr "" - -#: cinder/exception.py:382 -msgid "Service is too old to fulfil this request." -msgstr "" - -#: cinder/exception.py:386 -#, python-format -msgid "Host %(host)s could not be found." -msgstr "" - -#: cinder/exception.py:390 -#, python-format -msgid "Scheduler Host Filter %(filter_name)s could not be found." -msgstr "" - -#: cinder/exception.py:394 -#, python-format -msgid "Scheduler Host Weigher %(weigher_name)s could not be found." -msgstr "" - -#: cinder/exception.py:398 -#, python-format -msgid "Invalid reservation expiration %(expire)s." -msgstr "" - -#: cinder/exception.py:402 -#, python-format -msgid "" -"Change would make usage less than 0 for the following resources: " -"%(unders)s" -msgstr "" - -#: cinder/exception.py:407 -#, python-format -msgid "Project quotas are not properly setup for nested quotas: %(reason)s." -msgstr "" - -#: cinder/exception.py:412 -msgid "Quota could not be found" -msgstr "" - -#: cinder/exception.py:416 -#, python-format -msgid "Unknown quota resources %(unknown)s." -msgstr "" - -#: cinder/exception.py:420 -#, python-format -msgid "Quota for project %(project_id)s could not be found." -msgstr "" - -#: cinder/exception.py:424 -#, python-format -msgid "Quota class %(class_name)s could not be found." -msgstr "" - -#: cinder/exception.py:428 -#, python-format -msgid "Quota usage for project %(project_id)s could not be found." -msgstr "" - -#: cinder/exception.py:432 -#, python-format -msgid "Quota reservation %(uuid)s could not be found." -msgstr "" - -#: cinder/exception.py:436 -#, python-format -msgid "Quota exceeded for resources: %(overs)s" -msgstr "" - -#: cinder/exception.py:440 -#, python-format -msgid "File %(file_path)s could not be found." -msgstr "" - -#: cinder/exception.py:448 -#, python-format -msgid "Volume Type %(id)s already exists." -msgstr "" - -#: cinder/exception.py:452 -#, python-format -msgid "" -"Volume type access for %(volume_type_id)s / %(project_id)s combination " -"already exists." -msgstr "" - -#: cinder/exception.py:457 -#, python-format -msgid "Volume type encryption for type %(type_id)s already exists." -msgstr "" - -#: cinder/exception.py:461 -#, python-format -msgid "Volume type encryption for type %(type_id)s does not exist." -msgstr "" - -#: cinder/exception.py:465 -#, python-format -msgid "Malformed message body: %(reason)s" -msgstr "" - -#: cinder/exception.py:469 -#, python-format -msgid "Could not find config at %(path)s" -msgstr "" - -#: cinder/exception.py:473 -#, python-format -msgid "Could not find parameter %(param)s" -msgstr "" - -#: cinder/exception.py:477 -#, python-format -msgid "Could not load paste app '%(name)s' from %(path)s" -msgstr "" - -#: cinder/exception.py:481 -#, python-format -msgid "No valid host was found. %(reason)s" -msgstr "" - -#: cinder/exception.py:490 -#, python-format -msgid "Quota exceeded: code=%(code)s" -msgstr "" - -#: cinder/exception.py:497 -#, python-format -msgid "" -"Requested volume or snapshot exceeds allowed %(name)s quota. Requested " -"%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." -msgstr "" - -#: cinder/exception.py:508 -#, python-format -msgid "" -"Requested volume size %(size)d is larger than maximum allowed limit " -"%(limit)d." -msgstr "" - -#: cinder/exception.py:513 -#, python-format -msgid "" -"Requested backup exceeds allowed Backup gigabytes quota. Requested " -"%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." -msgstr "" - -#: cinder/exception.py:519 -#, python-format -msgid "" -"Maximum number of volumes allowed (%(allowed)d) exceeded for quota " -"'%(name)s'." -msgstr "" - -#: cinder/exception.py:528 -#, python-format -msgid "Maximum number of snapshots allowed (%(allowed)d) exceeded" -msgstr "" - -#: cinder/exception.py:532 -#, python-format -msgid "Maximum number of backups allowed (%(allowed)d) exceeded" -msgstr "" - -#: cinder/exception.py:536 -#, python-format -msgid "Detected more than one volume with name %(vol_name)s" -msgstr "" - -#: cinder/exception.py:540 -#, python-format -msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s" -msgstr "" - -#: cinder/exception.py:545 -#, python-format -msgid "Cannot update volume_type %(id)s" -msgstr "" - -#: cinder/exception.py:549 -#, python-format -msgid "Unknown or unsupported command %(cmd)s" -msgstr "" - -#: cinder/exception.py:553 -#, python-format -msgid "Malformed response to command %(cmd)s: %(reason)s" -msgstr "" - -#: cinder/exception.py:557 -#, python-format -msgid "Operation failed with status=%(status)s. Full dump: %(data)s" -msgstr "" - -#: cinder/exception.py:561 -#, python-format -msgid "Connector doesn't have required information: %(missing)s" -msgstr "" - -#: cinder/exception.py:565 -#, python-format -msgid "" -"Glance metadata cannot be updated, key %(key)s exists for volume id " -"%(volume_id)s" -msgstr "" - -#: cinder/exception.py:570 -#, python-format -msgid "Glance metadata for volume/snapshot %(id)s cannot be found." -msgstr "" - -#: cinder/exception.py:574 -#, python-format -msgid "Failed to export for volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:578 -#, python-format -msgid "Failed to remove export for volume %(volume)s: %(reason)s" -msgstr "" - -#: cinder/exception.py:582 -#, python-format -msgid "Failed to create metadata for volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:586 -#, python-format -msgid "Failed to update metadata for volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:590 -#, python-format -msgid "Failed to copy metadata to volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:594 -#, python-format -msgid "" -"The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " -"invalid." -msgstr "" - -#: cinder/exception.py:599 -#, python-format -msgid "Failed to copy image to volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:603 -msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "" - -#: cinder/exception.py:607 -msgid "An error has occurred during backup operation" -msgstr "" - -#: cinder/exception.py:611 -msgid "Unsupported backup metadata version requested" -msgstr "" - -#: cinder/exception.py:615 -msgid "Unsupported backup verify driver" -msgstr "" - -#: cinder/exception.py:619 -msgid "Metadata backup already exists for this volume" -msgstr "" - -#: cinder/exception.py:623 -msgid "Backup RBD operation failed" -msgstr "" - -#: cinder/exception.py:627 -msgid "Backup operation of an encrypted volume failed." -msgstr "" - -#: cinder/exception.py:631 -#, python-format -msgid "Backup %(backup_id)s could not be found." -msgstr "" - -#: cinder/exception.py:635 -msgid "Failed to identify volume backend." -msgstr "" - -#: cinder/exception.py:639 -#, python-format -msgid "Invalid backup: %(reason)s" -msgstr "" - -#: cinder/exception.py:643 -#, python-format -msgid "Connection to swift failed: %(reason)s" -msgstr "" - -#: cinder/exception.py:647 -#, python-format -msgid "Transfer %(transfer_id)s could not be found." -msgstr "" - -#: cinder/exception.py:651 -#, python-format -msgid "Volume migration failed: %(reason)s" -msgstr "" - -#: cinder/exception.py:655 -#, python-format -msgid "SSH command injection detected: %(command)s" -msgstr "" - -#: cinder/exception.py:659 -#, python-format -msgid "QoS Specs %(specs_id)s already exists." -msgstr "" - -#: cinder/exception.py:663 -#, python-format -msgid "Failed to create qos_specs: %(name)s with specs %(qos_specs)s." -msgstr "" - -#: cinder/exception.py:668 -#, python-format -msgid "Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s." -msgstr "" - -#: cinder/exception.py:673 -#, python-format -msgid "No such QoS spec %(specs_id)s." -msgstr "" - -#: cinder/exception.py:677 -#, python-format -msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "" - -#: cinder/exception.py:682 -#, python-format -msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "" - -#: cinder/exception.py:687 -#, python-format -msgid "QoS spec %(specs_id)s has no spec with key %(specs_key)s." -msgstr "" - -#: cinder/exception.py:692 -#, python-format -msgid "Invalid qos specs: %(reason)s" -msgstr "" - -#: cinder/exception.py:696 -#, python-format -msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "" - -#: cinder/exception.py:700 -#, python-format -msgid "key manager error: %(reason)s" -msgstr "" - -#: cinder/exception.py:704 -#, python-format -msgid "" -"Manage existing volume failed due to invalid backend reference " -"%(existing_ref)s: %(reason)s" -msgstr "" - -#: cinder/exception.py:709 -#, python-format -msgid "Unable to manage existing volume. Volume %(volume_ref)s already managed." -msgstr "" - -#: cinder/exception.py:714 -#, python-format -msgid "Invalid Replication Target: %(reason)s" -msgstr "" - -#: cinder/exception.py:718 -#, python-format -msgid "Unable to failover to replication target:%(reason)s)." -msgstr "" - -#: cinder/exception.py:723 -#, python-format -msgid "Volume %(volume_id)s replication error: %(reason)s" -msgstr "" - -#: cinder/exception.py:728 -#, python-format -msgid "Volume replication for %(volume_id)s could not be found." -msgstr "" - -#: cinder/exception.py:733 -#, python-format -msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" -msgstr "" - -#: cinder/exception.py:738 -#, python-format -msgid "Error extending volume: %(reason)s" -msgstr "" - -#: cinder/exception.py:742 -#, python-format -msgid "Error during evaluator parsing: %(reason)s" -msgstr "" - -#: cinder/exception.py:746 -msgid "Unable to create lock. Coordination backend not started." -msgstr "" - -#: cinder/exception.py:750 -msgid "Lock acquisition failed." -msgstr "" - -#: cinder/exception.py:762 -#, python-format -msgid "Unable to find Volume Group: %(vg_name)s" -msgstr "" - -#: cinder/exception.py:766 -#, python-format -msgid "Failed to create Volume Group: %(vg_name)s" -msgstr "" - -#: cinder/exception.py:770 -#, python-format -msgid "Volume device not found at %(device)s." -msgstr "" - -#: cinder/exception.py:776 -#, python-format -msgid "Pure Storage Cinder driver failure: %(reason)s" -msgstr "" - -#: cinder/exception.py:781 -msgid "Bad response from SolidFire API" -msgstr "" - -#: cinder/exception.py:785 -msgid "SolidFire Cinder Driver exception" -msgstr "" - -#: cinder/exception.py:789 -#, python-format -msgid "Error in SolidFire API response: data=%(data)s" -msgstr "" - -#: cinder/exception.py:793 -#, python-format -msgid "Unable to locate account %(account_name)s on Solidfire device" -msgstr "" - -#: cinder/exception.py:798 -msgid "Retryable SolidFire Exception encountered" -msgstr "" - -#: cinder/exception.py:803 -#, python-format -msgid "Invalid 3PAR Domain: %(err)s" -msgstr "" - -#: cinder/exception.py:808 -msgid "Unknown RemoteFS exception" -msgstr "" - -#: cinder/exception.py:812 -msgid "A concurrent, possibly contradictory, request has been made." -msgstr "" - -#: cinder/exception.py:817 -msgid "No mounted shares found" -msgstr "" - -#: cinder/exception.py:821 cinder/exception.py:834 cinder/exception.py:860 -#: cinder/exception.py:874 -#, python-format -msgid "There is no share which can host %(volume_size)sG" -msgstr "" - -#: cinder/exception.py:826 -msgid "Unknown NFS exception" -msgstr "" - -#: cinder/exception.py:830 -msgid "No mounted NFS shares found" -msgstr "" - -#: cinder/exception.py:839 -msgid "Unknown SMBFS exception." -msgstr "" - -#: cinder/exception.py:843 -msgid "No mounted SMBFS shares found." -msgstr "" - -#: cinder/exception.py:847 -#, python-format -msgid "There is no share which can host %(volume_size)sG." -msgstr "" - -#: cinder/exception.py:852 -msgid "Unknown Gluster exception" -msgstr "" - -#: cinder/exception.py:856 -msgid "No mounted Gluster shares found" -msgstr "" - -#: cinder/exception.py:866 -msgid "Unknown Virtuozzo Storage exception" -msgstr "" - -#: cinder/exception.py:870 -msgid "No mounted Virtuozzo Storage shares found" -msgstr "" - -#: cinder/exception.py:879 -#, python-format -msgid "Fibre Channel connection control failure: %(reason)s" -msgstr "" - -#: cinder/exception.py:883 -#, python-format -msgid "Fibre Channel Zone operation failed: %(reason)s" -msgstr "" - -#: cinder/exception.py:887 -#, python-format -msgid "Fibre Channel SAN Lookup failure: %(reason)s" -msgstr "" - -#: cinder/exception.py:891 -#, python-format -msgid "Brocade Fibre Channel Zoning CLI error: %(reason)s" -msgstr "" - -#: cinder/exception.py:895 -#, python-format -msgid "Brocade Fibre Channel Zoning HTTP error: %(reason)s" -msgstr "" - -#: cinder/exception.py:899 -#, python-format -msgid "Cisco Fibre Channel Zoning CLI error: %(reason)s" -msgstr "" - -#: cinder/exception.py:903 -msgid "NetApp Cinder Driver exception." -msgstr "" - -#: cinder/exception.py:907 -#, python-format -msgid "" -"EMC VNX Cinder Driver CLI exception: %(cmd)s (Return Code: %(rc)s) " -"(Output: %(out)s)." -msgstr "" - -#: cinder/exception.py:912 -#, python-format -msgid "" -"EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (Return Code: " -"%(rc)s) (Output: %(out)s)." -msgstr "" - -#: cinder/exception.py:918 -#, python-format -msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." -msgstr "" - -#: cinder/exception.py:922 -#, python-format -msgid "Invalid ConsistencyGroup: %(reason)s" -msgstr "" - -#: cinder/exception.py:927 -#, python-format -msgid "CgSnapshot %(cgsnapshot_id)s could not be found." -msgstr "" - -#: cinder/exception.py:931 -#, python-format -msgid "Invalid CgSnapshot: %(reason)s" -msgstr "" - -#: cinder/exception.py:936 -msgid "HBSD error occurs." -msgstr "" - -#: cinder/exception.py:953 -msgid "Storage resource could not be found." -msgstr "" - -#: cinder/exception.py:957 -#, python-format -msgid "Volume %(volume_name)s is busy." -msgstr "" - -#: cinder/exception.py:962 -msgid "Bad response from Datera API" -msgstr "" - -#: cinder/exception.py:967 -#, python-format -msgid "Failed to create iscsi target for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:971 -#, python-format -msgid "Failed to remove iscsi target for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:975 -#, python-format -msgid "Failed to attach iSCSI target for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:979 -#, python-format -msgid "Failed to detach iSCSI target for volume %(volume_id)s." -msgstr "" - -#: cinder/exception.py:983 -#, python-format -msgid "%(error_message)s" -msgstr "" - -#: cinder/exception.py:988 -msgid "X-IO Volume Driver exception!" -msgstr "" - -#: cinder/exception.py:993 -#, python-format -msgid "Volume backend config is invalid: %(reason)s" -msgstr "" - -#: cinder/exception.py:997 -#, python-format -msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "" - -#: cinder/exception.py:1001 -#, python-format -msgid "Backend reports: %(message)s" -msgstr "" - -#: cinder/exception.py:1005 -msgid "Backend reports: item already exists" -msgstr "" - -#: cinder/exception.py:1009 -msgid "Backend reports: item not found" -msgstr "" - -#: cinder/exception.py:1014 -#, python-format -msgid "" -"The WebDAV request failed. Reason: %(msg)s, Return code/reason: %(code)s," -" Source Volume: %(src)s, Destination Volume: %(dst)s, Method: %(method)s." -msgstr "" - -#: cinder/exception.py:1021 -msgid "Volume to Initiator Group mapping already exists" -msgstr "" - -#: cinder/exception.py:1025 -msgid "System is busy, retry operation." -msgstr "" - -#: cinder/exception.py:1029 -msgid "Exceeded the limit of snapshots per volume" -msgstr "" - -#: cinder/exception.py:1034 -#, python-format -msgid "" -"Infortrend CLI exception: %(err)s Param: %(param)s (Return Code: %(rc)s) " -"(Output: %(out)s)" -msgstr "" - -#: cinder/exception.py:1040 -#, python-format -msgid "Backend doesn't exist (%(backend)s)" -msgstr "" - -#: cinder/exception.py:1044 cinder/exception.py:1048 cinder/exception.py:1056 -#: cinder/exception.py:1086 cinder/exception.py:1101 -#, python-format -msgid "%(message)s" -msgstr "" - -#: cinder/exception.py:1052 -#, python-format -msgid "Not enough space on backend (%(backend)s)" -msgstr "" - -#: cinder/exception.py:1060 -msgid "No active iSCSI portals with supplied iSCSI IPs" -msgstr "" - -#: cinder/exception.py:1065 -#, python-format -msgid "An error has occured in SheepdogDriver. (Reason: %(reason)s)" -msgstr "" - -#: cinder/exception.py:1069 -#, python-format -msgid "" -"(Command: %(cmd)s) (Return Code: %(exit_code)s) (Stdout: %(stdout)s) " -"(Stderr: %(stderr)s)" -msgstr "" - -#: cinder/exception.py:1076 -msgid "There is no metadata in DB object." -msgstr "" - -#: cinder/exception.py:1080 -#, python-format -msgid "Operation not supported: %(operation)s." -msgstr "" - -#: cinder/exception.py:1091 -#, python-format -msgid "Coho Data Cinder driver failure: %(message)s" -msgstr "" - -#: cinder/exception.py:1096 -msgid "Unexpected response from Tegile IntelliFlash API" -msgstr "" - -#: cinder/exception.py:1106 -#, python-format -msgid "Google Cloud Storage connection failure: %(reason)s" -msgstr "" - -#: cinder/exception.py:1110 -#, python-format -msgid "Google Cloud Storage api failure: %(reason)s" -msgstr "" - -#: cinder/exception.py:1114 -#, python-format -msgid "Google Cloud Storage oauth2 failure: %(reason)s" -msgstr "" - -#: cinder/quota.py:125 -#, python-format -msgid "" -"Default quota for resource: %(res)s is set by the default quota flag: " -"quota_%(res)s, it is now deprecated. Please use the default quota class " -"for default quota." -msgstr "" - -#: cinder/quota.py:490 -#, python-format -msgid "" -"Sum of child usage '%(sum)s' is greater than free quota of '%(free)s' for" -" project '%(proj)s' for resource '%(res)s'. Please lower the limit or " -"usage for one or more of the following projects: '%(child_ids)s'" -msgstr "" - -#: cinder/quota.py:525 -#, python-format -msgid "Invalid allocated quotas defined for the following project quotas: %s" -msgstr "" - -#: cinder/quota.py:576 -#, python-format -msgid "" -"Quota limit invalid for project '%(proj)s' for resource '%(res)s': limit " -"of %(limit)d is less than in-use value of %(used)d" -msgstr "" - -#: cinder/quota.py:1149 cinder/quota.py:1197 -msgid "Cannot register resource" -msgstr "" - -#: cinder/quota.py:1152 cinder/quota.py:1200 -msgid "Cannot register resources" -msgstr "" - -#: cinder/quota_utils.py:150 -#, python-format -msgid "Tenant ID: %s does not exist." -msgstr "" - -#: cinder/quota_utils.py:237 -msgid "Keystone version 3 or greater must be used to get nested quota support." -msgstr "" - -#: cinder/quota_utils.py:241 -msgid "" -"Must run this command as cloud admin using a Keystone policy.json which " -"allows cloud admin to list and get any project." -msgstr "" - -#: cinder/service.py:377 -#, python-format -msgid "%(worker_name)s value of %(workers)d is invalid, must be greater than 0." -msgstr "" - -#: cinder/service.py:463 -msgid "serve() can only be called once" -msgstr "" - -#: cinder/ssh_utils.py:76 -#, python-format -msgid "Unable to find ssh_hosts_key_file: %s" -msgstr "" - -#: cinder/ssh_utils.py:135 -msgid "Specify a password or private_key" -msgstr "" - -#: cinder/ssh_utils.py:151 -#, python-format -msgid "Error connecting via ssh: %s" -msgstr "" - -#: cinder/utils.py:109 -#, python-format -msgid "Can not translate %s to integer." -msgstr "" - -#: cinder/utils.py:140 -#, python-format -msgid "May specify only one of %s" -msgstr "" - -#: cinder/utils.py:641 -#, python-format -msgid "Value %(param)s for %(param_string)s is not a boolean." -msgstr "" - -#: cinder/utils.py:672 -#, python-format -msgid "Unable to get a block device for file '%s'" -msgstr "" - -#: cinder/utils.py:685 -#, python-format -msgid "%s is not a string or unicode" -msgstr "" - -#: cinder/utils.py:689 -#, python-format -msgid "%(name)s has a minimum character requirement of %(min_length)s." -msgstr "" - -#: cinder/utils.py:694 -#, python-format -msgid "%(name)s has more than %(max_length)s characters." -msgstr "" - -#: cinder/utils.py:1021 -msgid " or " -msgstr "" - -#: cinder/utils.py:1076 -#, python-format -msgid "%s must be an integer." -msgstr "" - -#: cinder/utils.py:1080 -#, python-format -msgid "%(value_name)s must be >= %(min_value)d" -msgstr "" - -#: cinder/utils.py:1084 -#, python-format -msgid "%(value_name)s must be <= %(max_value)d" -msgstr "" - -#: cinder/api/common.py:125 cinder/volume/api.py:493 -msgid "limit param must be an integer" -msgstr "" - -#: cinder/api/common.py:128 cinder/volume/api.py:490 -msgid "limit param must be positive" -msgstr "" - -#: cinder/api/common.py:181 -#, python-format -msgid "marker [%s] not found" -msgstr "" - -#: cinder/api/common.py:214 -msgid "" -"The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be " -"used with the 'sort' parameter." -msgstr "" - -#: cinder/api/xmlutil.py:272 -msgid "element is not a child" -msgstr "" - -#: cinder/api/xmlutil.py:474 -msgid "root element selecting a list" -msgstr "" - -#: cinder/api/xmlutil.py:797 -#, python-format -msgid "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" -msgstr "" - -#: cinder/api/xmlutil.py:918 -msgid "subclasses must implement construct()!" -msgstr "" - -#: cinder/api/contrib/admin_actions.py:69 -msgid "Must specify 'status'" -msgstr "" - -#: cinder/api/contrib/admin_actions.py:72 -msgid "Must specify a valid status" -msgstr "" - -#: cinder/api/contrib/admin_actions.py:162 -msgid "Must specify a valid attach status" -msgstr "" - -#: cinder/api/contrib/admin_actions.py:169 -msgid "Must specify a valid migration status" -msgstr "" - -#: cinder/api/contrib/admin_actions.py:175 -msgid "Must specify 'status', 'attach_status' or 'migration_status' for update." -msgstr "" - -#: cinder/api/contrib/admin_actions.py:192 -msgid "Must specify 'connector'." -msgstr "" - -#: cinder/api/contrib/admin_actions.py:196 -#: cinder/api/contrib/volume_actions.py:245 -msgid "Unable to terminate volume connection from backend." -msgstr "" - -#: cinder/api/contrib/admin_actions.py:231 -msgid "Must specify 'host'." -msgstr "" - -#: cinder/api/contrib/admin_actions.py:252 -msgid "Must specify 'new_volume'" -msgstr "" - -#: cinder/api/contrib/backups.py:258 cinder/api/contrib/volume_transfer.py:160 -#: cinder/api/contrib/volume_transfer.py:200 -msgid "Incorrect request body format" -msgstr "" - -#: cinder/api/contrib/backups.py:366 -msgid "Incorrect request body format." -msgstr "" - -#: cinder/api/contrib/capabilities.py:54 -#, python-format -msgid "Can't find service: %s" -msgstr "" - -#: cinder/api/contrib/cgsnapshots.py:122 -msgid "Invalid cgsnapshot" -msgstr "" - -#: cinder/api/contrib/cgsnapshots.py:125 -msgid "Failed cgsnapshot" -msgstr "" - -#: cinder/api/contrib/cgsnapshots.py:167 -msgid "'consistencygroup_id' must be specified" -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:160 -msgid "Missing required element 'consistencygroup' in request body." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:169 -#, python-format -msgid "Invalid value '%s' for force." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:229 -#, python-format -msgid "volume_types must be provided to create consistency group %(name)s." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:273 -#, python-format -msgid "" -"Either 'cgsnapshot_id' or 'source_cgid' must be provided to create " -"consistency group %(name)s from source." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:279 -#, python-format -msgid "" -"Cannot provide both 'cgsnapshot_id' and 'source_cgid' to create " -"consistency group %(name)s from source." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:328 -msgid "Missing request body." -msgstr "" - -#: cinder/api/contrib/consistencygroups.py:343 -msgid "" -"Name, description, add_volumes, and remove_volumes can not be all empty " -"in the request body." -msgstr "" - -#: cinder/api/contrib/hosts.py:88 cinder/api/openstack/wsgi.py:392 -msgid "cannot understand XML" -msgstr "" - -#: cinder/api/contrib/hosts.py:143 -#, python-format -msgid "Host '%s' could not be found." -msgstr "" - -#: cinder/api/contrib/hosts.py:172 -#, python-format -msgid "Invalid status: '%s'" -msgstr "" - -#: cinder/api/contrib/hosts.py:175 -#, python-format -msgid "Invalid update setting: '%s'" -msgstr "" - -#: cinder/api/contrib/hosts.py:213 -msgid "Describe-resource is admin only functionality" -msgstr "" - -#: cinder/api/contrib/hosts.py:220 -msgid "Host not found" -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:81 -msgid "Unable to parse XML request. Please provide XML in correct format." -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:145 -msgid "Please specify a name for QoS specs." -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:259 -msgid "Failed to disassociate qos specs." -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:261 -msgid "Qos specs still in use." -msgstr "" - -#: cinder/api/contrib/qos_specs_manage.py:338 -#: cinder/api/contrib/qos_specs_manage.py:392 -msgid "Volume Type id must not be None." -msgstr "" - -#: cinder/api/contrib/quota_classes.py:77 -msgid "Missing required element quota_class_set in request body." -msgstr "" - -#: cinder/api/contrib/quotas.py:74 -#, python-format -msgid "Quota %s limit must be equal or greater than existing resources." -msgstr "" - -#: cinder/api/contrib/quotas.py:102 cinder/api/contrib/quotas.py:114 -msgid "" -"Update and delete quota operations can only be made by an admin of " -"immediate parent or by the CLOUD admin." -msgstr "" - -#: cinder/api/contrib/quotas.py:109 -msgid "" -"Update and delete quota operations can only be made to projects in the " -"same hierarchy of the project in which users are scoped to." -msgstr "" - -#: cinder/api/contrib/quotas.py:134 -msgid "" -"Show operations can only be made to projects in the same hierarchy of the" -" project in which users are scoped to." -msgstr "" - -#: cinder/api/contrib/quotas.py:140 -msgid "" -"Only users with token scoped to immediate parents or root projects are " -"allowed to see its children quotas." -msgstr "" - -#: cinder/api/contrib/quotas.py:145 -msgid "" -"An user with a token scoped to a subproject is not allowed to see the " -"quota of its parents." -msgstr "" - -#: cinder/api/contrib/quotas.py:225 -#, python-format -msgid "Invalid value '%s' for skip_validation." -msgstr "" - -#: cinder/api/contrib/quotas.py:240 -#, python-format -msgid "Bad key(s) in quota set: %s" -msgstr "" - -#: cinder/api/contrib/quotas.py:399 -msgid "" -"About to delete child projects having non-zero quota. This should not be " -"performed" -msgstr "" - -#: cinder/api/contrib/scheduler_hints.py:37 -msgid "Malformed scheduler_hints attribute" -msgstr "" - -#: cinder/api/contrib/services.py:102 -msgid "" -"Query by service parameter is deprecated. Please use binary parameter " -"instead." -msgstr "" - -#: cinder/api/contrib/services.py:192 -msgid "Unknown action" -msgstr "" - -#: cinder/api/contrib/services.py:197 -msgid "Missing required element 'host' in request body." -msgstr "" - -#: cinder/api/contrib/services.py:204 -msgid "Disabled reason contains invalid characters or is too long" -msgstr "" - -#: cinder/api/contrib/services.py:220 -msgid "Unknown service" -msgstr "" - -#: cinder/api/contrib/services.py:227 -msgid "service not found" -msgstr "" - -#: cinder/api/contrib/snapshot_actions.py:52 -msgid "'status' must be specified." -msgstr "" - -#: cinder/api/contrib/snapshot_actions.py:62 -#, python-format -msgid "Snapshot status %(cur)s not allowed for update_snapshot_status" -msgstr "" - -#: cinder/api/contrib/snapshot_actions.py:68 -#, python-format -msgid "" -"Provided snapshot status %(provided)s not allowed for snapshot with " -"status %(current)s." -msgstr "" - -#: cinder/api/contrib/snapshot_actions.py:80 -msgid "progress must be an integer percentage" -msgstr "" - -#: cinder/api/contrib/snapshot_manage.py:86 -msgid "Missing required element snapshot in request body." -msgstr "" - -#: cinder/api/contrib/snapshot_manage.py:97 -#: cinder/api/contrib/volume_manage.py:108 -#, python-format -msgid "The following elements are required: %s" -msgstr "" - -#: cinder/api/contrib/snapshot_manage.py:106 -#, python-format -msgid "Volume: %s could not be found." -msgstr "" - -#: cinder/api/contrib/snapshot_manage.py:127 -#, python-format -msgid "Service %s not found." -msgstr "" - -#: cinder/api/contrib/types_extra_specs.py:114 -msgid "Request body empty" -msgstr "" - -#: cinder/api/contrib/types_extra_specs.py:118 -#: cinder/api/v1/snapshot_metadata.py:76 cinder/api/v1/volume_metadata.py:76 -#: cinder/api/v2/snapshot_metadata.py:69 cinder/api/v2/volume_metadata.py:72 -msgid "Request body and URI mismatch" -msgstr "" - -#: cinder/api/contrib/types_extra_specs.py:121 -#: cinder/api/v1/snapshot_metadata.py:80 cinder/api/v1/volume_metadata.py:80 -#: cinder/api/v2/snapshot_metadata.py:73 cinder/api/v2/volume_metadata.py:76 -msgid "Request body contains too many items" -msgstr "" - -#: cinder/api/contrib/types_extra_specs.py:146 -#, python-format -msgid "Volume Type %(type_id)s has no extra spec with key %(id)s." -msgstr "" - -#: cinder/api/contrib/types_extra_specs.py:170 -msgid "" -"Key names can only contain alphanumeric characters, underscores, periods," -" colons and hyphens." -msgstr "" - -#: cinder/api/contrib/types_manage.py:66 cinder/api/contrib/types_manage.py:120 -msgid "Volume type name can not be empty." -msgstr "" - -#: cinder/api/contrib/types_manage.py:77 cinder/api/contrib/types_manage.py:129 -#, python-format -msgid "Invalid value '%s' for is_public. Accepted values: True or False." -msgstr "" - -#: cinder/api/contrib/types_manage.py:124 -msgid "Specify volume type name, description, is_public or a combination thereof." -msgstr "" - -#: cinder/api/contrib/types_manage.py:180 -msgid "Target volume type is still in use." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:103 -msgid "Invalid request to attach volume to an invalid target" -msgstr "" - -#: cinder/api/contrib/volume_actions.py:107 -msgid "" -"Invalid request to attach volume with an invalid mode. Attaching mode " -"should be 'rw' or 'ro'" -msgstr "" - -#: cinder/api/contrib/volume_actions.py:215 -#: cinder/api/contrib/volume_actions.py:241 -msgid "Must specify 'connector'" -msgstr "" - -#: cinder/api/contrib/volume_actions.py:224 -msgid "Unable to fetch connection information from backend." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:258 -msgid "No image_name was specified in request." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:266 cinder/api/v2/snapshots.py:182 -#, python-format -msgid "Invalid value for 'force': '%s'" -msgstr "" - -#: cinder/api/contrib/volume_actions.py:308 -msgid "New volume size must be specified as an integer." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:331 -msgid "Must specify readonly in request." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:339 -#, python-format -msgid "Invalid value for 'readonly': '%s'" -msgstr "" - -#: cinder/api/contrib/volume_actions.py:353 -msgid "New volume type must be specified." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:372 -msgid "Must specify bootable in request." -msgstr "" - -#: cinder/api/contrib/volume_actions.py:380 -#, python-format -msgid "Invalid value for 'bootable': '%s'" -msgstr "" - -#: cinder/api/contrib/volume_image_metadata.py:46 -#: cinder/api/contrib/volume_image_metadata.py:132 -#, python-format -msgid "Volume with volume id %s does not exist." -msgstr "" - -#: cinder/api/contrib/volume_image_metadata.py:110 -#: cinder/api/contrib/volume_image_metadata.py:135 -#: cinder/api/contrib/volume_image_metadata.py:156 -msgid "Malformed request body." -msgstr "" - -#: cinder/api/contrib/volume_image_metadata.py:162 -msgid "Metadata item was not found." -msgstr "" - -#: cinder/api/contrib/volume_image_metadata.py:169 -msgid "The key cannot be None." -msgstr "" - -#: cinder/api/contrib/volume_manage.py:141 -msgid "Service not found." -msgstr "" - -#: cinder/api/contrib/volume_type_access.py:99 -msgid "Access list not available for public volume types." -msgstr "" - -#: cinder/api/contrib/volume_type_access.py:113 -#, python-format -msgid "Bad project format: project is not in proper format (%s)" -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:69 -msgid "provider must be defined" -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:71 -msgid "control_location must be defined" -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:79 -#, python-format -msgid "Valid control location are: %s" -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:107 -msgid "Cannot create encryption specs. Volume type in use." -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:137 -msgid "Request body contains too many items." -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:143 -msgid "Cannot update encryption specs. Volume type in use." -msgstr "" - -#: cinder/api/contrib/volume_type_encryption.py:177 -msgid "Cannot delete encryption specs. Volume type in use." -msgstr "" - -#: cinder/api/middleware/auth.py:113 -msgid "Invalid service catalog json." -msgstr "" - -#: cinder/api/middleware/fault.py:73 -#, python-format -msgid "%(exception)s: %(explanation)s" -msgstr "" - -#: cinder/api/openstack/__init__.py:79 -msgid "Must specify an ExtensionManager class" -msgstr "" - -#: cinder/api/openstack/api_version_request.py:119 -msgid "An API version request must be compared to a VersionedMethod object." -msgstr "" - -#: cinder/api/openstack/wsgi.py:367 cinder/api/openstack/wsgi.py:774 -msgid "cannot understand JSON" -msgstr "" - -#: cinder/api/openstack/wsgi.py:779 -msgid "too many body keys" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1078 -#, python-format -msgid "There is no such action: %s" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1081 cinder/api/openstack/wsgi.py:1104 -#: cinder/api/v1/snapshot_metadata.py:54 cinder/api/v1/snapshot_metadata.py:72 -#: cinder/api/v1/snapshot_metadata.py:97 cinder/api/v1/snapshot_metadata.py:122 -#: cinder/api/v1/volume_metadata.py:54 cinder/api/v1/volume_metadata.py:72 -#: cinder/api/v1/volume_metadata.py:97 cinder/api/v1/volume_metadata.py:122 -#: cinder/api/v2/snapshot_metadata.py:112 cinder/api/v2/volume_metadata.py:116 -msgid "Malformed request body" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1101 -msgid "Unsupported Content-Type" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1113 -msgid "Malformed request url" -msgstr "" - -#: cinder/api/openstack/wsgi.py:1455 -#, python-format -msgid "Missing required element '%s' in request body." -msgstr "" - -#: cinder/api/openstack/wsgi.py:1555 -msgid "XML support has been deprecated and will be removed in the N release." -msgstr "" - -#: cinder/api/v1/limits.py:139 cinder/api/v2/limits.py:139 -#, python-format -msgid "" -"Only %(value)s %(verb)s request(s) can be made to %(uri)s every " -"%(unit_string)s." -msgstr "" - -#: cinder/api/v1/limits.py:266 cinder/api/v2/limits.py:263 -msgid "This request was rate-limited." -msgstr "" - -#: cinder/api/v1/snapshot_metadata.py:38 cinder/api/v1/snapshot_metadata.py:118 -#: cinder/api/v1/snapshot_metadata.py:157 cinder/api/v2/snapshot_metadata.py:38 -#: cinder/api/v2/snapshot_metadata.py:108 -#: cinder/api/v2/snapshot_metadata.py:147 -msgid "snapshot does not exist" -msgstr "" - -#: cinder/api/v1/snapshot_metadata.py:140 -#: cinder/api/v1/snapshot_metadata.py:150 cinder/api/v1/volume_metadata.py:140 -#: cinder/api/v1/volume_metadata.py:150 cinder/api/v2/snapshot_metadata.py:130 -#: cinder/api/v2/snapshot_metadata.py:140 cinder/api/v2/volume_metadata.py:134 -#: cinder/api/v2/volume_metadata.py:144 -msgid "Metadata item was not found" -msgstr "" - -#: cinder/api/v1/snapshots.py:171 cinder/api/v2/snapshots.py:162 -msgid "'volume_id' must be specified" -msgstr "" - -#: cinder/api/v1/snapshots.py:184 -#, python-format -msgid "Invalid value '%s' for force. " -msgstr "" - -#: cinder/api/v1/volume_metadata.py:38 cinder/api/v1/volume_metadata.py:118 -#: cinder/api/v1/volume_metadata.py:157 -msgid "volume does not exist" -msgstr "" - -#: cinder/api/v1/volumes.py:306 cinder/api/v1/volumes.py:310 -#: cinder/api/v2/volumes.py:258 -msgid "Invalid imageRef provided." -msgstr "" - -#: cinder/api/v1/volumes.py:350 -#, python-format -msgid "snapshot id:%s not found" -msgstr "" - -#: cinder/api/v1/volumes.py:363 -#, python-format -msgid "source vol id:%s not found" -msgstr "" - -#: cinder/api/v2/snapshots.py:209 cinder/api/v2/volumes.py:421 -msgid "Missing request body" -msgstr "" - -#: cinder/api/v2/snapshots.py:213 cinder/api/v2/volumes.py:425 -#, python-format -msgid "Missing required element '%s' in request body" -msgstr "" - -#: cinder/api/v2/types.py:77 -msgid "Default volume type can not be found." -msgstr "" - -#: cinder/api/v2/types.py:106 -#, python-format -msgid "Invalid is_public filter [%s]" -msgstr "" - -#: cinder/api/v2/volumes.py:278 -#, python-format -msgid "Multiple matches found for '%s', use an ID to be more specific." -msgstr "" - -#: cinder/api/v2/volumes.py:287 -msgid "Invalid image identifier or unable to access requested image." -msgstr "" - -#: cinder/api/v2/volumes.py:360 -#, python-format -msgid "source volume id:%s is not replicated" -msgstr "" - -#: cinder/backup/api.py:97 -msgid "Backup status must be available or error" -msgstr "" - -#: cinder/backup/api.py:101 -msgid "force delete" -msgstr "" - -#: cinder/backup/api.py:108 -msgid "Incremental backups exist for this backup." -msgstr "" - -#: cinder/backup/api.py:125 -#, python-format -msgid "all_tenants must be a boolean, got '%s'." -msgstr "" - -#: cinder/backup/api.py:250 -#, python-format -msgid "Volume %(vol1)s does not match with snapshot.volume_id %(vol2)s." -msgstr "" - -#: cinder/backup/api.py:256 -#, python-format -msgid "" -"Volume to be backed up must be available or in-use, but the current " -"status is \"%s\"." -msgstr "" - -#: cinder/backup/api.py:261 -msgid "Backing up an in-use volume must use the force flag." -msgstr "" - -#: cinder/backup/api.py:265 -#, python-format -msgid "" -"Snapshot to be backed up must be available, but the current status is " -"\"%s\"." -msgstr "" - -#: cinder/backup/api.py:343 -msgid "No backups available to do an incremental backup." -msgstr "" - -#: cinder/backup/api.py:350 -msgid "The parent backup must be available for incremental backup." -msgstr "" - -#: cinder/backup/api.py:405 -msgid "Backup status must be available" -msgstr "" - -#: cinder/backup/api.py:410 -msgid "Backup to be restored has invalid size" -msgstr "" - -#: cinder/backup/api.py:437 -msgid "Volume to be restored to must be available" -msgstr "" - -#: cinder/backup/api.py:443 -#, python-format -msgid "" -"volume size %(volume_size)d is too small to restore backup of size " -"%(size)d." -msgstr "" - -#: cinder/backup/api.py:504 -#, python-format -msgid "Backup status must be available and not %s." -msgstr "" - -#: cinder/backup/api.py:547 -msgid "Provided backup record is missing an id" -msgstr "" - -#: cinder/backup/api.py:568 -msgid "Backup already exists in database." -msgstr "" - -#: cinder/backup/chunkeddriver.py:85 -#, python-format -msgid "unsupported compression algorithm: %s" -msgstr "" - -#: cinder/backup/chunkeddriver.py:280 -#, python-format -msgid "volume size %d is invalid." -msgstr "" - -#: cinder/backup/chunkeddriver.py:428 -msgid "Chunk size is not multiple of block size for creating hash." -msgstr "" - -#: cinder/backup/chunkeddriver.py:443 -#, python-format -msgid "" -"Hash block size has changed since the last backup. New hash block size: " -"%(new)s. Old hash block size: %(old)s. Do a full backup." -msgstr "" - -#: cinder/backup/chunkeddriver.py:452 -msgid "Volume size increased since the last backup. Do a full backup." -msgstr "" - -#: cinder/backup/chunkeddriver.py:600 -msgid "" -"restore_backup aborted, actual object list does not match object list " -"stored in metadata." -msgstr "" - -#: cinder/backup/chunkeddriver.py:672 -#, python-format -msgid "No support to restore backup version %s" -msgstr "" - -#: cinder/backup/chunkeddriver.py:703 -msgid "Metadata restore failed due to incompatible version." -msgstr "" - -#: cinder/backup/driver.py:200 -#, python-format -msgid "The source volume type '%s' is not available." -msgstr "" - -#: cinder/backup/driver.py:215 -#, python-format -msgid "" -"The source volume type '%(src)s' is different than the destination volume" -" type '%(dest)s'." -msgstr "" - -#: cinder/backup/driver.py:307 -#, python-format -msgid "Unsupported backup metadata version (%s)" -msgstr "" - -#: cinder/backup/manager.py:284 -#, python-format -msgid "" -"Create backup aborted, expected volume status %(expected_status)s but got" -" %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:295 -#, python-format -msgid "" -"Create backup aborted, expected backup status %(expected_status)s but got" -" %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:379 -#, python-format -msgid "" -"Restore backup aborted, expected volume status %(expected_status)s but " -"got %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:390 -#, python-format -msgid "" -"Restore backup aborted: expected backup status %(expected_status)s but " -"got %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:410 -#, python-format -msgid "" -"Restore backup aborted, the backup service currently configured " -"[%(configured_service)s] is not the backup service that was used to " -"create this backup [%(backup_service)s]." -msgstr "" - -#: cinder/backup/manager.py:474 -#, python-format -msgid "" -"Delete_backup aborted, expected backup status %(expected_status)s but got" -" %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:485 -#, python-format -msgid "" -"Delete backup aborted, the backup service currently configured " -"[%(configured_service)s] is not the backup service that was used to " -"create this backup [%(backup_service)s]." -msgstr "" - -#: cinder/backup/manager.py:560 -#, python-format -msgid "" -"Export backup aborted, expected backup status %(expected_status)s but got" -" %(actual_status)s." -msgstr "" - -#: cinder/backup/manager.py:571 -#, python-format -msgid "" -"Export record aborted, the backup service currently configured " -"[%(configured_service)s] is not the backup service that was used to " -"create this backup [%(backup_service)s]." -msgstr "" - -#: cinder/backup/manager.py:624 -#, python-format -msgid "" -"Import record failed, cannot find backup service to perform the import. " -"Request service %(service)s" -msgstr "" - -#: cinder/backup/manager.py:658 -#, python-format -msgid "" -"Driver successfully decoded imported backup data, but there are missing " -"fields (%s)." -msgstr "" - -#: cinder/backup/manager.py:667 -#, python-format -msgid "Trying to import backup metadata from id %(meta_id)s into backup %(id)s." -msgstr "" - -#: cinder/backup/manager.py:726 -#, python-format -msgid "" -"Reset backup status aborted, the backup service currently configured " -"[%(configured_service)s] is not the backup service that was used to " -"create this backup [%(backup_service)s]." -msgstr "" - -#: cinder/backup/manager.py:746 -#, python-format -msgid "" -"Backup service %(configured_service)s does not support verify. Backup id " -"%(id)s is not verified. Skipping verify." -msgstr "" - -#: cinder/backup/manager.py:774 -#, python-format -msgid "" -"Backup service %(service)s does not support verify. Backup id %(id)s is " -"not verified. Skipping reset." -msgstr "" - -#: cinder/backup/manager.py:812 -msgid "Can't attach snapshot." -msgstr "" - -#: cinder/backup/drivers/ceph.py:129 cinder/tests/unit/test_backup_ceph.py:1015 -#, python-format -msgid "Metadata backup object '%s' already exists" -msgstr "" - -#: cinder/backup/drivers/ceph.py:201 -#, python-format -msgid "invalid user '%s'" -msgstr "" - -#: cinder/backup/drivers/ceph.py:267 -msgid "Backup id required" -msgstr "" - -#: cinder/backup/drivers/ceph.py:426 -#, python-format -msgid "image %s not found" -msgstr "" - -#: cinder/backup/drivers/ceph.py:551 -#, python-format -msgid "RBD diff op failed - (ret=%(ret)s stderr=%(stderr)s)" -msgstr "" - -#: cinder/backup/drivers/ceph.py:629 -#, python-format -msgid "" -"Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting " -"incremental backup" -msgstr "" - -#: cinder/backup/drivers/ceph.py:785 -#, python-format -msgid "Backup should only have one snapshot but instead has %s" -msgstr "" - -#: cinder/backup/drivers/ceph.py:811 -msgid "Need non-zero volume size" -msgstr "" - -#: cinder/backup/drivers/ceph.py:837 -#, python-format -msgid "Failed to backup volume metadata - %s" -msgstr "" - -#: cinder/backup/drivers/ceph.py:1128 -#: cinder/tests/unit/test_backup_ceph.py:1004 -msgid "Metadata restore failed due to incompatible version" -msgstr "" - -#: cinder/backup/drivers/google.py:149 -#, python-format -msgid "Unset gcs options: %s" -msgstr "" - -#: cinder/backup/drivers/google.py:272 -#, python-format -msgid "" -"MD5 of object: %(object_name)s before: %(md5)s and after: %(etag)s is not" -" same." -msgstr "" - -#: cinder/backup/drivers/nfs.py:66 -#, python-format -msgid "Required flag %s is not set" -msgstr "" - -#: cinder/backup/drivers/swift.py:148 -msgid "" -"Failed to parse the configuration option 'swift_catalog_info', must be in" -" the form ::" -msgstr "" - -#: cinder/backup/drivers/swift.py:164 -msgid "" -"Could not determine which Swift endpoint to use. This can either be set " -"in the service catalog or with the cinder.conf config option " -"'backup_swift_url'." -msgstr "" - -#: cinder/backup/drivers/swift.py:174 -msgid "" -"Failed to parse the configuration option 'keystone_catalog_info', must be" -" in the form ::" -msgstr "" - -#: cinder/backup/drivers/swift.py:190 -msgid "" -"Could not determine which Keystone endpoint to use. This can either be " -"set in the service catalog or with the cinder.conf config option " -"'backup_swift_auth_url'." -msgstr "" - -#: cinder/backup/drivers/swift.py:256 -#, python-format -msgid "" -"error writing object to swift, MD5 of object in swift %(etag)s is not the" -" same as MD5 of object sent to swift %(md5)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:79 -#, python-format -msgid "" -"%(op)s: backup %(bck_id)s, volume %(vol_id)s failed. Backup object has " -"unexpected mode. Image or file backups supported, actual mode is " -"%(vol_mode)s." -msgstr "" - -#: cinder/backup/drivers/tsm.py:114 -#, python-format -msgid "" -"backup: %(vol_id)s failed to create device hardlink from %(vpath)s to " -"%(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:212 -#, python-format -msgid "" -"backup: %(vol_id)s failed. %(path)s is unexpected file type. Block or " -"regular files supported, actual file mode is %(vol_mode)s." -msgstr "" - -#: cinder/backup/drivers/tsm.py:222 -#, python-format -msgid "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." -msgstr "" - -#: cinder/backup/drivers/tsm.py:229 -#, python-format -msgid "backup: %(vol_id)s failed. %(path)s is not a file." -msgstr "" - -#: cinder/backup/drivers/tsm.py:298 -#, python-format -msgid "" -"backup: %(vol_id)s failed to obtain backup success notification from " -"server.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:339 -#, python-format -msgid "" -"restore: %(vol_id)s failed.\n" -"stdout: %(out)s\n" -" stderr: %(err)s." -msgstr "" - -#: cinder/backup/drivers/tsm.py:362 -msgid "" -"Volume metadata backup requested but this driver does not yet support " -"this feature." -msgstr "" - -#: cinder/backup/drivers/tsm.py:387 -#, python-format -msgid "" -"backup: %(vol_id)s failed to run dsmc on %(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:397 -#, python-format -msgid "" -"backup: %(vol_id)s failed to run dsmc due to invalid arguments on " -"%(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:447 -#, python-format -msgid "" -"restore: %(vol_id)s failed to run dsmc on %(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:457 -#, python-format -msgid "" -"restore: %(vol_id)s failed to run dsmc due to invalid arguments on " -"%(bpath)s.\n" -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:502 -#, python-format -msgid "" -"delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/backup/drivers/tsm.py:510 -#, python-format -msgid "" -"delete: %(vol_id)s failed to run dsmc due to invalid arguments with " -"stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/cmd/manage.py:172 -msgid "" -"The above error may show that the database has not been created.\n" -"Please create a database using 'cinder-manage db sync' before running " -"this command." -msgstr "" - -#: cinder/cmd/manage.py:189 -#, python-format -msgid "%(host)-25s\t%(zone)-15s" -msgstr "" - -#: cinder/cmd/manage.py:200 -#, python-format -msgid "%(host)-25s\t%(availability_zone)-15s" -msgstr "" - -#: cinder/cmd/manage.py:229 -msgid "Must supply a positive, non-zero value for age" -msgstr "" - -#: cinder/cmd/manage.py:273 -msgid "Volume not yet assigned to host." -msgstr "" - -#: cinder/cmd/manage.py:274 -msgid "Deleting volume from database and skipping rpc." -msgstr "" - -#: cinder/cmd/manage.py:279 -msgid "Volume is in-use." -msgstr "" - -#: cinder/cmd/manage.py:280 -msgid "Detach volume from instance and then try again." -msgstr "" - -#: cinder/cmd/manage.py:346 -#, python-format -msgid "Line %(dis)d : %(line)s" -msgstr "" - -#: cinder/cmd/manage.py:349 -msgid "No errors in logfiles!" -msgstr "" - -#: cinder/cmd/manage.py:363 -msgid "Unable to find system log file!" -msgstr "" - -#: cinder/cmd/manage.py:367 -#, python-format -msgid "Last %s cinder syslog entries:-" -msgstr "" - -#: cinder/cmd/manage.py:371 -#, python-format -msgid "%s" -msgstr "" - -#: cinder/cmd/manage.py:376 -msgid "No cinder entries in syslog!" -msgstr "" - -#: cinder/cmd/manage.py:392 -msgid "ID" -msgstr "" - -#: cinder/cmd/manage.py:393 -msgid "User ID" -msgstr "" - -#: cinder/cmd/manage.py:394 -msgid "Project ID" -msgstr "" - -#: cinder/cmd/manage.py:395 cinder/cmd/manage.py:440 -msgid "Host" -msgstr "" - -#: cinder/cmd/manage.py:396 -msgid "Name" -msgstr "" - -#: cinder/cmd/manage.py:397 -msgid "Container" -msgstr "" - -#: cinder/cmd/manage.py:398 cinder/cmd/manage.py:442 -msgid "Status" -msgstr "" - -#: cinder/cmd/manage.py:399 -msgid "Size" -msgstr "" - -#: cinder/cmd/manage.py:400 -msgid "Object Count" -msgstr "" - -#: cinder/cmd/manage.py:439 -msgid "Binary" -msgstr "" - -#: cinder/cmd/manage.py:441 -msgid "Zone" -msgstr "" - -#: cinder/cmd/manage.py:443 -msgid "State" -msgstr "" - -#: cinder/cmd/manage.py:444 -msgid "Updated At" -msgstr "" - -#: cinder/cmd/manage.py:445 -msgid "RPC Version" -msgstr "" - -#: cinder/cmd/manage.py:446 -msgid "Object Version" -msgstr "" - -#: cinder/cmd/manage.py:475 -#, python-format -msgid "Host not found. Failed to remove %(service)s on %(host)s." -msgstr "" - -#: cinder/cmd/manage.py:480 -#, python-format -msgid "Service %(service)s on host %(host)s removed." -msgstr "" - -#: cinder/cmd/manage.py:566 -#, python-format -msgid "" -"\n" -"OpenStack Cinder version: %(version)s\n" -msgstr "" - -#: cinder/cmd/manage.py:569 -msgid "Available categories:" -msgstr "" - -#: cinder/cmd/manage.py:571 -#, python-format -msgid "\t%s" -msgstr "" - -#: cinder/cmd/manage.py:580 -#, python-format -msgid "Invalid directory: %s" -msgstr "" - -#: cinder/cmd/manage.py:586 -#, python-format -msgid "Could not read %s. Re-running with sudo" -msgstr "" - -#: cinder/cmd/manage.py:590 -msgid "sudo failed, continuing as if nothing happened" -msgstr "" - -#: cinder/cmd/manage.py:592 -msgid "Please re-run cinder-manage as root." -msgstr "" - -#: cinder/cmd/rtstool.py:52 cinder/cmd/rtstool.py:116 -msgid "Ensure that configfs is mounted at /sys/kernel/config." -msgstr "" - -#: cinder/cmd/rtstool.py:96 -#, python-format -msgid "" -"%(msg_type)s: creating NetworkPortal: ensure port %(port)d on ip %(ip)s " -"is not in use by another service." -msgstr "" - -#: cinder/cmd/rtstool.py:106 -#, python-format -msgid "" -"Error enabling iSER for NetworkPortal: please ensure that RDMA is " -"supported on your iSCSI port %(port)d on ip %(ip)s." -msgstr "" - -#: cinder/cmd/rtstool.py:123 -#, python-format -msgid "Could not find target %s" -msgstr "" - -#: cinder/cmd/rtstool.py:150 -#, python-format -msgid "delete_initiator: %s ACL not found. Continuing." -msgstr "" - -#: cinder/cmd/rtstool.py:178 -#, python-format -msgid "rtslib_fb is missing member %s: You may need a newer python-rtslib-fb." -msgstr "" - -#: cinder/cmd/rtstool.py:217 -#, python-format -msgid "" -"targetcli not installed and could not create default directory " -"(%(default_path)s): %(exc)s" -msgstr "" - -#: cinder/cmd/rtstool.py:223 -#, python-format -msgid "Could not save configuration to %(file_path)s: %(exc)s" -msgstr "" - -#: cinder/cmd/rtstool.py:237 -#, python-format -msgid "Could not restore configuration file %(file_path)s: %(exc)s" -msgstr "" - -#: cinder/cmd/volume.py:83 -#, python-format -msgid "Volume service %s failed to start." -msgstr "" - -#: cinder/cmd/volume.py:98 -msgid "No volume service(s) started successfully, terminating." -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:89 -#, python-format -msgid "The end time (%(end)s) must be after the start time (%(start)s)." -msgstr "" - -#: cinder/cmd/volume_usage_audit.py:95 -#, python-format -msgid "Creating usages for %(begin_period)s until %(end_period)s" -msgstr "" - -#: cinder/common/config.py:104 -msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "" - -#: cinder/common/config.py:107 -msgid "DEPRECATED: Deploy v2 of the Cinder API." -msgstr "" - -#: cinder/common/config.py:110 -msgid "Deploy v3 of the Cinder API." -msgstr "" - -#: cinder/common/sqlalchemyutils.py:116 -msgid "Unknown sort direction, must be 'desc' or 'asc'" -msgstr "" - -#: cinder/consistencygroup/api.py:236 -#, python-format -msgid "No host to create consistency group %s." -msgstr "" - -#: cinder/consistencygroup/api.py:253 -msgid "Cgsnahost is empty. No consistency group will be created." -msgstr "" - -#: cinder/consistencygroup/api.py:314 -msgid "Source CG is empty. No consistency group will be created." -msgstr "" - -#: cinder/consistencygroup/api.py:454 -#, python-format -msgid "" -"Consistency group status must be available or error, but current status " -"is: %s" -msgstr "" - -#: cinder/consistencygroup/api.py:461 -#, python-format -msgid "Consistency group %s still has dependent cgsnapshots." -msgstr "" - -#: cinder/consistencygroup/api.py:470 -#, python-format -msgid "" -"Consistency group %s still contains volumes. The force flag is required " -"to delete it." -msgstr "" - -#: cinder/consistencygroup/api.py:477 -#, python-format -msgid "Volume in consistency group %s is attached. Need to detach first." -msgstr "" - -#: cinder/consistencygroup/api.py:485 -msgid "Volume in consistency group still has dependent snapshots." -msgstr "" - -#: cinder/consistencygroup/api.py:500 -#, python-format -msgid "Consistency group status must be available, but current status is: %s." -msgstr "" - -#: cinder/consistencygroup/api.py:518 -#, python-format -msgid "UUIDs %s are in both add and remove volume list." -msgstr "" - -#: cinder/consistencygroup/api.py:544 -#, python-format -msgid "" -"Cannot update consistency group %(group_id)s because no valid name, " -"description, add_volumes, or remove_volumes were provided." -msgstr "" - -#: cinder/consistencygroup/api.py:583 cinder/volume/manager.py:2923 -#, python-format -msgid "" -"Cannot remove volume %(volume_id)s from consistency group %(group_id)s " -"because volume is in an invalid state: %(status)s. Valid states are: " -"%(valid)s." -msgstr "" - -#: cinder/consistencygroup/api.py:599 -#, python-format -msgid "" -"Cannot remove volume %(volume_id)s from consistency group %(group_id)s " -"because it is not in the group." -msgstr "" - -#: cinder/consistencygroup/api.py:619 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" volume cannot be found." -msgstr "" - -#: cinder/consistencygroup/api.py:631 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" it is already in consistency group %(orig_group)s." -msgstr "" - -#: cinder/consistencygroup/api.py:641 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" it has no volume type." -msgstr "" - -#: cinder/consistencygroup/api.py:648 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" volume type %(volume_type)s is not supported by the group." -msgstr "" - -#: cinder/consistencygroup/api.py:658 cinder/volume/manager.py:2894 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" volume is in an invalid state: %(status)s. Valid states are: %(valid)s." -msgstr "" - -#: cinder/consistencygroup/api.py:675 cinder/volume/manager.py:2908 -msgid "Volume is not local to this node." -msgstr "" - -#: cinder/consistencygroup/api.py:683 -#, python-format -msgid "" -"Cannot add volume %(volume_id)s to consistency group %(group_id)s because" -" volume does not exist." -msgstr "" - -#: cinder/consistencygroup/api.py:727 -#: cinder/tests/unit/test_storwize_svc.py:2840 -msgid "Consistency group is empty. No cgsnapshot will be created." -msgstr "" - -#: cinder/consistencygroup/api.py:765 -msgid "Cgsnapshot status must be available or error" -msgstr "" - -#: cinder/db/api.py:1145 -msgid "Condition has no field." -msgstr "" - -#: cinder/db/migration.py:68 -msgid "Database schema downgrade is not allowed." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:248 cinder/db/sqlalchemy/api.py:3075 -#: cinder/volume/qos_specs.py:83 -msgid "Error writing field to database" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:280 -#, python-format -msgid "Unrecognized read_deleted value '%s'" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:1791 -msgid "Unknown sort direction, must be 'desc' or 'asc'." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:1802 -msgid "Sort direction array size exceeds sort key array size." -msgstr "" - -#: cinder/db/sqlalchemy/api.py:3786 -#, python-format -msgid "No backup with id %s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:3870 -msgid "Volume must be available" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:3917 -#, python-format -msgid "" -"Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state " -"%(status)s, expected awaiting-transfer" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4096 -#, python-format -msgid "No consistency group with id %s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4210 -#, python-format -msgid "No cgsnapshot with id %s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4235 -#, python-format -msgid "Invalid value for age, %(age)s" -msgstr "" - -#: cinder/db/sqlalchemy/api.py:4239 -msgid "Must supply a positive value for age" -msgstr "" - -#: cinder/image/image_utils.py:91 -#, python-format -msgid "" -"qemu-img %(minimum_version)s or later is required by this volume driver. " -"Current qemu-img version: %(current_version)s" -msgstr "" - -#: cinder/image/image_utils.py:204 cinder/image/image_utils.py:314 -#: cinder/volume/drivers/solidfire.py:654 -msgid "'qemu-img info' parsing failed." -msgstr "" - -#: cinder/image/image_utils.py:211 -#, python-format -msgid "fmt=%(fmt)s backed by: %(backing_file)s" -msgstr "" - -#: cinder/image/image_utils.py:219 cinder/image/image_utils.py:307 -#, python-format -msgid "" -"Size is %(image_size)dGB and doesn't fit in a volume of size " -"%(volume_size)dGB." -msgstr "" - -#: cinder/image/image_utils.py:266 -#, python-format -msgid "" -"qemu-img is not installed and image is of type %s. Only RAW images can " -"be used if qemu-img is not installed." -msgstr "" - -#: cinder/image/image_utils.py:273 -msgid "" -"qemu-img is not installed and the disk format is not specified. Only RAW" -" images can be used if qemu-img is not installed." -msgstr "" - -#: cinder/image/image_utils.py:321 cinder/image/image_utils.py:384 -#: cinder/volume/drivers/solidfire.py:661 -#, python-format -msgid "fmt=%(fmt)s backed by:%(backing_file)s" -msgstr "" - -#: cinder/image/image_utils.py:340 cinder/volume/drivers/solidfire.py:706 -#, python-format -msgid "Converted to %(vol_format)s, but format is now %(file_format)s" -msgstr "" - -#: cinder/image/image_utils.py:394 -#, python-format -msgid "Converted to %(f1)s, but format is now %(f2)s" -msgstr "" - -#: cinder/keymgr/barbican.py:64 -#, python-format -msgid "" -"Invalid url: must be in the form " -"'http[s]://|[:port]/', url specified is: %s" -msgstr "" - -#: cinder/keymgr/barbican.py:70 -#, python-format -msgid "" -"Invalid barbican api url: version is required, e.g. " -"'http[s]://|[:port]/' url specified is: %s" -msgstr "" - -#: cinder/keymgr/barbican.py:90 -msgid "User is not authorized to use key manager." -msgstr "" - -#: cinder/keymgr/barbican.py:95 -msgid "Unable to create Barbican Client without project_id." -msgstr "" - -#: cinder/keymgr/conf_key_mgr.py:82 -msgid "keymgr.fixed_key not defined" -msgstr "" - -#: cinder/objects/backup.py:140 -msgid "Can't decode backup record." -msgstr "" - -#: cinder/objects/backup.py:142 -msgid "Can't parse backup record." -msgstr "" - -#: cinder/objects/base.py:161 cinder/objects/base.py:286 -#, python-format -msgid "VersionedObject %s cannot retrieve object by id." -msgstr "" - -#: cinder/objects/base.py:231 -#, python-format -msgid "VersionedObject %s does not support conditional update." -msgstr "" - -#: cinder/objects/cgsnapshot.py:75 cinder/objects/consistencygroup.py:83 -msgid "already_created" -msgstr "" - -#: cinder/objects/cgsnapshot.py:80 cinder/objects/volume.py:295 -msgid "consistencygroup assigned" -msgstr "" - -#: cinder/objects/cgsnapshot.py:89 cinder/objects/consistencygroup.py:102 -#: cinder/objects/snapshot.py:189 cinder/objects/volume.py:340 -#, python-format -msgid "attribute %s not lazy-loadable" -msgstr "" - -#: cinder/objects/cgsnapshot.py:110 cinder/objects/volume.py:309 -msgid "consistencygroup changed" -msgstr "" - -#: cinder/objects/cgsnapshot.py:113 cinder/objects/volume.py:315 -msgid "snapshots changed" -msgstr "" - -#: cinder/objects/consistencygroup.py:88 -msgid "cgsnapshots assigned" -msgstr "" - -#: cinder/objects/consistencygroup.py:92 -msgid "volumes assigned" -msgstr "" - -#: cinder/objects/consistencygroup.py:123 -msgid "cgsnapshots changed" -msgstr "" - -#: cinder/objects/consistencygroup.py:126 -msgid "volumes changed" -msgstr "" - -#: cinder/objects/service.py:88 cinder/objects/snapshot.py:145 -#: cinder/objects/volume.py:290 cinder/objects/volume_type.py:80 -msgid "already created" -msgstr "" - -#: cinder/objects/snapshot.py:150 -msgid "volume assigned" -msgstr "" - -#: cinder/objects/snapshot.py:153 -msgid "cgsnapshot assigned" -msgstr "" - -#: cinder/objects/snapshot.py:164 -msgid "volume changed" -msgstr "" - -#: cinder/objects/snapshot.py:167 -msgid "cgsnapshot changed" -msgstr "" - -#: cinder/objects/volume.py:298 -msgid "snapshots assigned" -msgstr "" - -#: cinder/objects/volume.py:312 -msgid "glance_metadata changed" -msgstr "" - -#: cinder/replication/api.py:71 -msgid "Replication is not enabled for volume" -msgstr "" - -#: cinder/replication/api.py:76 -#, python-format -msgid "" -"Replication status for volume must be active or active-stopped, but " -"current status is: %s" -msgstr "" - -#: cinder/replication/api.py:84 -#, python-format -msgid "Volume status for volume must be available, but current status is: %s" -msgstr "" - -#: cinder/replication/api.py:97 -msgid "Replication is not enabled" -msgstr "" - -#: cinder/replication/api.py:102 -#, python-format -msgid "" -"Replication status for volume must be inactive, active-stopped, or error," -" but current status is: %s" -msgstr "" - -#: cinder/scheduler/driver.py:98 -msgid "Must implement host_passes_filters" -msgstr "" - -#: cinder/scheduler/driver.py:103 -msgid "Must implement find_retype_host" -msgstr "" - -#: cinder/scheduler/driver.py:107 -msgid "Must implement a fallback schedule" -msgstr "" - -#: cinder/scheduler/driver.py:111 -msgid "Must implement schedule_create_volume" -msgstr "" - -#: cinder/scheduler/driver.py:117 -msgid "Must implement schedule_create_consistencygroup" -msgstr "" - -#: cinder/scheduler/driver.py:122 -msgid "Must implement schedule_get_pools" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:74 -#: cinder/scheduler/filter_scheduler.py:88 -msgid "No weighed hosts available" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:115 -#, python-format -msgid "Cannot place volume %(id)s on %(host)s" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:133 -#, python-format -msgid "No valid hosts for volume %(id)s with type %(type)s" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:159 -#, python-format -msgid "" -"Current host not valid for volume %(id)s with type %(type)s, migration " -"not allowed" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:199 -msgid "Invalid value for 'scheduler_max_attempts', must be >=1" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:247 -#, python-format -msgid "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s" -msgstr "" - -#: cinder/scheduler/filter_scheduler.py:276 -msgid "volume_type cannot be None" -msgstr "" - -#: cinder/scheduler/manager.py:144 -msgid "Failed to create scheduler manager volume flow" -msgstr "" - -#: cinder/scheduler/manager.py:227 -msgid "New volume type not specified in request_spec." -msgstr "" - -#: cinder/scheduler/manager.py:242 -#, python-format -msgid "Could not find a host for volume %(volume_id)s with type %(type_id)s." -msgstr "" - -#: cinder/scheduler/evaluator/evaluator.py:50 -#, python-format -msgid "KeyError: %s" -msgstr "" - -#: cinder/scheduler/evaluator/evaluator.py:53 -#, python-format -msgid "TypeError: %s" -msgstr "" - -#: cinder/scheduler/evaluator/evaluator.py:62 -#, python-format -msgid "ValueError: %s" -msgstr "" - -#: cinder/scheduler/evaluator/evaluator.py:108 -#, python-format -msgid "ZeroDivisionError: %s" -msgstr "" - -#: cinder/scheduler/evaluator/evaluator.py:295 -#, python-format -msgid "ParseException: %s" -msgstr "" - -#: cinder/scheduler/filters/instance_locality_filter.py:100 -#: cinder/scheduler/filters/instance_locality_filter.py:112 -#, python-format -msgid "Hint \"%s\" not supported." -msgstr "" - -#: cinder/tests/functional/api/client.py:30 -#, python-format -msgid "" -"%(message)s\n" -"Status Code: %(_status)s\n" -"Body: %(_body)s" -msgstr "" - -#: cinder/tests/functional/api/client.py:40 -msgid "Authentication error" -msgstr "" - -#: cinder/tests/functional/api/client.py:48 -msgid "Authorization error" -msgstr "" - -#: cinder/tests/functional/api/client.py:56 -msgid "Item not found" -msgstr "" - -#: cinder/tests/functional/api/client.py:146 -msgid "Unexpected status code" -msgstr "" - -#: cinder/tests/unit/test_backup_ceph.py:494 -#: cinder/tests/unit/test_backup_ceph.py:507 -#: cinder/tests/unit/test_backup_ceph.py:568 -msgid "mock" -msgstr "" - -#: cinder/tests/unit/test_backup_ceph.py:1028 -#, python-format -msgid "" -"Failed to backup volume metadata - Metadata backup object " -"'backup.%s.meta' already exists" -msgstr "" - -#: cinder/tests/unit/test_backup_google.py:100 -#: cinder/tests/unit/test_backup_swift.py:584 -#: cinder/tests/unit/test_backup_swift.py:611 -#: cinder/tests/unit/backup/drivers/test_backup_nfs.py:458 -#: cinder/tests/unit/backup/drivers/test_backup_nfs.py:485 -msgid "fake" -msgstr "" - -#: cinder/tests/unit/test_emc_vmax.py:2259 -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1338 -msgid "" -"V2 rollback - Volume in another storage group besides default storage " -"group." -msgstr "" - -#: cinder/tests/unit/test_emc_vmax.py:2268 -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1317 -msgid "V2 rollback, volume is not in any storage group." -msgstr "" - -#: cinder/tests/unit/test_glusterfs.py:670 -msgid "umount: : target is busy" -msgstr "" - -#: cinder/tests/unit/test_glusterfs.py:685 -msgid "umount: : some other error" -msgstr "" - -#: cinder/tests/unit/test_glusterfs.py:815 -#, python-format -msgid "umount: %s: not mounted" -msgstr "" - -#: cinder/tests/unit/test_glusterfs.py:827 -#: cinder/tests/unit/test_glusterfs.py:839 -#, python-format -msgid "umount: %s: target is busy" -msgstr "" - -#: cinder/tests/unit/test_ibm_xiv_ds8k.py:161 -#, python-format -msgid "Volume not found for instance %(instance_id)s." -msgstr "" - -#: cinder/tests/unit/test_misc.py:59 -#, python-format -msgid "" -"The following migrations have a downgrade, which are not allowed: \n" -"\t%s" -msgstr "" - -#: cinder/tests/unit/test_rbd.py:1110 -msgid "flush() not supported in this version of librbd" -msgstr "" - -#: cinder/tests/unit/test_sheepdog.py:438 -#: cinder/tests/unit/test_sheepdog.py:662 -#: cinder/tests/unit/test_sheepdog.py:798 cinder/volume/drivers/sheepdog.py:99 -#: cinder/volume/drivers/sheepdog.py:186 cinder/volume/drivers/sheepdog.py:231 -#, python-format -msgid "Failed to connect to sheep daemon. addr: %(addr)s, port: %(port)s" -msgstr "" - -#: cinder/tests/unit/test_sheepdog.py:546 cinder/volume/drivers/sheepdog.py:154 -msgid "" -"Cluster is not formatted. You should probably perform \"dog cluster " -"format\"." -msgstr "" - -#: cinder/tests/unit/test_sheepdog.py:560 cinder/volume/drivers/sheepdog.py:157 -msgid "" -"Waiting for all nodes to join cluster. Ensure all sheep daemons are " -"running." -msgstr "" - -#: cinder/tests/unit/test_sheepdog.py:573 cinder/volume/drivers/sheepdog.py:152 -msgid "Invalid sheepdog cluster status." -msgstr "" - -#: cinder/tests/unit/test_storwize_svc.py:311 -#, python-format -msgid "unrecognized argument %s" -msgstr "" - -#: cinder/tests/unit/test_storwize_svc.py:423 -#, python-format -msgid "obj missing quotes %s" -msgstr "" - -#: cinder/tests/unit/test_storwize_svc.py:658 -#: cinder/tests/unit/test_storwize_svc.py:1539 -#, python-format -msgid "mdiskgrp missing quotes %s" -msgstr "" - -#: cinder/tests/unit/test_storwize_svc.py:1766 -msgid "The copy should be primary or secondary" -msgstr "" - -#: cinder/tests/unit/api/contrib/test_backups.py:1484 -msgid "Invalid input" -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:557 -msgid "" -"Invalid ConsistencyGroup: Consistency group status must be available or " -"error, but current status is: in-use" -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:663 -#, python-format -msgid "volume_types must be provided to create consistency group %s." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:749 -#, python-format -msgid "" -"Invalid volume: Cannot add volume fake-volume-uuid to consistency group " -"%(group_id)s because volume cannot be found." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:775 -#, python-format -msgid "" -"Invalid volume: Cannot remove volume fake-volume-uuid from consistency " -"group %(group_id)s because it is not in the group." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:828 -#, python-format -msgid "" -"Invalid volume: Cannot add volume %(volume_id)s to consistency group " -"%(group_id)s because volume is in an invalid state: %(status)s. Valid " -"states are: ('available', 'in-use')." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:862 -#, python-format -msgid "" -"Invalid volume: Cannot add volume %(volume_id)s to consistency group " -"%(group_id)s because volume type %(volume_type)s is not supported by the " -"group." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:916 -#, python-format -msgid "" -"Invalid ConsistencyGroup: Consistency group status must be available, but" -" current status is: %s." -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:1095 -msgid "Invalid ConsistencyGroup: No host to create consistency group" -msgstr "" - -#: cinder/tests/unit/api/contrib/test_consistencygroups.py:1227 -msgid "Create volume failed." -msgstr "" - -#: cinder/tests/unit/api/middleware/test_faults.py:123 -#, python-format -msgid "String with params: %s" -msgstr "" - -#: cinder/tests/unit/volume/drivers/netapp/dataontap/test_block_base.py:687 -#: cinder/volume/drivers/netapp/dataontap/block_base.py:157 -msgid "Invalid value for NetApp configuration option netapp_lun_ostype." -msgstr "" - -#: cinder/tests/unit/volume/drivers/netapp/dataontap/test_block_base.py:701 -#: cinder/volume/drivers/netapp/dataontap/block_base.py:162 -msgid "Invalid value for NetApp configuration option netapp_host_type." -msgstr "" - -#: cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_api.py:362 -msgid "Error not a TypeError." -msgstr "" - -#: cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_api.py:371 -msgid "Error not a KeyError." -msgstr "" - -#: cinder/transfer/api.py:118 -msgid "status must be available" -msgstr "" - -#: cinder/transfer/api.py:157 -#, python-format -msgid "Attempt to transfer %s with invalid auth key." -msgstr "" - -#: cinder/transfer/api.py:165 cinder/volume/api.py:1278 -#, python-format -msgid "Volume %s must not be part of a consistency group." -msgstr "" - -#: cinder/volume/api.py:228 -#, python-format -msgid "" -"Invalid volume size provided for create request: %s (size argument must " -"be an integer (or string representation of an integer) and greater than " -"zero)." -msgstr "" - -#: cinder/volume/api.py:236 -msgid "" -"volume_type must be provided when creating a volume in a consistency " -"group." -msgstr "" - -#: cinder/volume/api.py:241 -#, python-format -msgid "" -"Invalid volume_type provided: %s (requested type must be supported by " -"this consistency group)." -msgstr "" - -#: cinder/volume/api.py:258 -#, python-format -msgid "" -"Invalid volume_type provided: %s (requested type is not compatible; " -"either match source volume, or omit type argument)." -msgstr "" - -#: cinder/volume/api.py:265 -msgid "No volume_type should be provided when creating test replica." -msgstr "" - -#: cinder/volume/api.py:275 -#, python-format -msgid "" -"Invalid volume_type provided: %s (requested type is not compatible; " -"recommend omitting the type argument)." -msgstr "" - -#: cinder/volume/api.py:319 -msgid "Failed to create api volume flow." -msgstr "" - -#: cinder/volume/api.py:393 cinder/volume/api.py:945 -#, python-format -msgid "status must be %s and" -msgstr "" - -#: cinder/volume/api.py:394 -#, python-format -msgid "" -"Volume %s must not be migrating, attached, belong to a consistency group " -"or have snapshots." -msgstr "" - -#: cinder/volume/api.py:412 -msgid "Failed to update snapshot." -msgstr "" - -#: cinder/volume/api.py:443 -msgid "The volume cannot be updated during maintenance." -msgstr "" - -#: cinder/volume/api.py:572 -#, python-format -msgid "Volume status must be %s to reserve." -msgstr "" - -#: cinder/volume/api.py:603 -msgid "" -"Unable to detach volume. Volume status must be 'in-use' and attach_status" -" must be 'attached' to detach." -msgstr "" - -#: cinder/volume/api.py:624 -msgid "The volume cannot be attached in maintenance mode." -msgstr "" - -#: cinder/volume/api.py:651 -msgid "The volume cannot be detached in maintenance mode." -msgstr "" - -#: cinder/volume/api.py:665 -msgid "The volume connection cannot be initialized in maintenance mode." -msgstr "" - -#: cinder/volume/api.py:690 -msgid "The volume cannot accept transfer in maintenance mode." -msgstr "" - -#: cinder/volume/api.py:720 cinder/volume/api.py:852 -msgid "The snapshot cannot be created when the volume is in maintenance mode." -msgstr "" - -#: cinder/volume/api.py:725 cinder/volume/api.py:857 -msgid "Snapshot cannot be created while volume is migrating." -msgstr "" - -#: cinder/volume/api.py:730 -msgid "Snapshot of secondary replica is not allowed." -msgstr "" - -#: cinder/volume/api.py:734 -#, python-format -msgid "" -"Volume %(vol_id)s status must be available, but current status is: " -"%(vol_status)s." -msgstr "" - -#: cinder/volume/api.py:861 -#, python-format -msgid "" -"Snapshot cannot be created because volume %(vol_id)s is not available, " -"current volume status: %(vol_status)s." -msgstr "" - -#: cinder/volume/api.py:946 -#, python-format -msgid "Snapshot %s must not be part of a consistency group." -msgstr "" - -#: cinder/volume/api.py:978 -msgid "" -"The volume metadata cannot be deleted when the volume is in maintenance " -"mode." -msgstr "" - -#: cinder/volume/api.py:991 -msgid "Metadata property key blank." -msgstr "" - -#: cinder/volume/api.py:995 -msgid "Metadata property key greater than 255 characters." -msgstr "" - -#: cinder/volume/api.py:999 -msgid "Metadata property value greater than 255 characters." -msgstr "" - -#: cinder/volume/api.py:1016 -msgid "" -"The volume metadata cannot be updated when the volume is in maintenance " -"mode." -msgstr "" - -#: cinder/volume/api.py:1134 cinder/volume/api.py:1249 -#, python-format -msgid "" -"Volume %(vol_id)s status must be available or in-use, but current status " -"is: %(vol_status)s." -msgstr "" - -#: cinder/volume/api.py:1140 -msgid "Volume status is in-use." -msgstr "" - -#: cinder/volume/api.py:1197 -#, python-format -msgid "" -"Volume %(vol_id)s status must be available to extend, but current status " -"is: %(vol_status)s." -msgstr "" - -#: cinder/volume/api.py:1205 -#, python-format -msgid "" -"New size for extend must be greater than current size. (current: " -"%(size)s, extended: %(new_size)s)." -msgstr "" - -#: cinder/volume/api.py:1258 cinder/volume/api.py:1404 -#, python-format -msgid "Volume %s is already part of an active migration." -msgstr "" - -#: cinder/volume/api.py:1266 -#, python-format -msgid "Volume %s must not have snapshots." -msgstr "" - -#: cinder/volume/api.py:1273 -#, python-format -msgid "Volume %s must not be replicated." -msgstr "" - -#: cinder/volume/api.py:1294 -#, python-format -msgid "No available service named %s" -msgstr "" - -#: cinder/volume/api.py:1300 -msgid "Destination host must be different than the current host." -msgstr "" - -#: cinder/volume/api.py:1358 -msgid "Source volume not mid-migration." -msgstr "" - -#: cinder/volume/api.py:1362 -msgid "Destination volume not mid-migration." -msgstr "" - -#: cinder/volume/api.py:1367 -#, python-format -msgid "Destination has migration_status %(stat)s, expected %(exp)s." -msgstr "" - -#: cinder/volume/api.py:1380 -#, python-format -msgid "" -"Volume %(vol_id)s status must be available to update readonly flag, but " -"current status is: %(vol_status)s." -msgstr "" - -#: cinder/volume/api.py:1395 -#, python-format -msgid "" -"Unable to update type due to incorrect status: %(vol_status)s on volume: " -"%(vol_id)s. Volume status must be available or in-use." -msgstr "" - -#: cinder/volume/api.py:1410 -#, python-format -msgid "migration_policy must be 'on-demand' or 'never', passed: %s" -msgstr "" - -#: cinder/volume/api.py:1416 -msgid "Volume must not be part of a consistency group." -msgstr "" - -#: cinder/volume/api.py:1429 -#, python-format -msgid "Invalid volume_type passed: %s." -msgstr "" - -#: cinder/volume/api.py:1442 -#, python-format -msgid "New volume_type same as original: %s." -msgstr "" - -#: cinder/volume/api.py:1457 -msgid "Retype cannot change encryption requirements." -msgstr "" - -#: cinder/volume/api.py:1469 -#, python-format -msgid "Retype cannot change front-end qos specs for in-use volume: %s." -msgstr "" - -#: cinder/volume/api.py:1496 cinder/volume/manager.py:2224 -msgid "Failed to update quota usage while retyping volume." -msgstr "" - -#: cinder/volume/api.py:1558 -msgid "Failed to manage api volume flow." -msgstr "" - -#: cinder/volume/api.py:1618 -#, python-format -msgid "Host replication_status must be %s to failover." -msgstr "" - -#: cinder/volume/api.py:1635 -msgid "Host is already Frozen." -msgstr "" - -#: cinder/volume/api.py:1655 -msgid "Host is NOT Frozen." -msgstr "" - -#: cinder/volume/driver.py:392 cinder/volume/driver.py:435 -#, python-format -msgid "Unable to terminate volume connection: %(err)s" -msgstr "" - -#: cinder/volume/driver.py:426 -msgid "detach snapshot from remote node" -msgstr "" - -#: cinder/volume/driver.py:560 -msgid "Sets thin provisioning." -msgstr "" - -#: cinder/volume/driver.py:567 -msgid "Enables compression." -msgstr "" - -#: cinder/volume/driver.py:574 -msgid "Enables QoS." -msgstr "" - -#: cinder/volume/driver.py:581 -msgid "Enables replication." -msgstr "" - -#: cinder/volume/driver.py:892 cinder/volume/driver.py:969 -#, python-format -msgid "Unable to fetch connection information from backend: %(err)s" -msgstr "" - -#: cinder/volume/driver.py:899 cinder/volume/driver.py:976 -#, python-format -msgid "Error encountered during cleanup of a failed attach: %(ex)s" -msgstr "" - -#: cinder/volume/driver.py:939 -msgid "attach snapshot from remote node" -msgstr "" - -#: cinder/volume/driver.py:1011 cinder/volume/manager.py:1611 -#: cinder/volume/drivers/ibm/flashsystem_common.py:789 -#, python-format -msgid "Unable to access the backend storage via the path %(path)s." -msgstr "" - -#: cinder/volume/driver.py:1433 -msgid "The method update_migrated_volume is not implemented." -msgstr "" - -#: cinder/volume/driver.py:1565 cinder/volume/driver.py:2003 -#: cinder/volume/driver.py:2007 -msgid "Manage existing volume not implemented." -msgstr "" - -#: cinder/volume/driver.py:1573 -msgid "Unmanage volume not implemented." -msgstr "" - -#: cinder/volume/driver.py:1999 -msgid "Extend volume not implemented" -msgstr "" - -#: cinder/volume/driver.py:2014 cinder/volume/driver.py:2018 -msgid "Manage existing snapshot not implemented." -msgstr "" - -#: cinder/volume/driver.py:2028 -msgid "sync_replica not implemented." -msgstr "" - -#: cinder/volume/driver.py:2032 -msgid "promote_replica not implemented." -msgstr "" - -#: cinder/volume/driver.py:2400 cinder/volume/targets/iscsi.py:94 -#, python-format -msgid "Could not find iSCSI export for volume %s" -msgstr "" - -#: cinder/volume/driver.py:2788 -msgid "Driver must implement initialize_connection" -msgstr "" - -#: cinder/volume/manager.py:591 -msgid "Create manager volume flow failed." -msgstr "" - -#: cinder/volume/manager.py:698 -msgid "volume is not local to this node" -msgstr "" - -#: cinder/volume/manager.py:704 -msgid "Unmanage and cascade delete options are mutually exclusive." -msgstr "" - -#: cinder/volume/manager.py:734 -#, python-format -msgid "" -"Snapshot %(id)s was found in state %(state)s rather than 'deleting' " -"during cascade delete." -msgstr "" - -#: cinder/volume/manager.py:958 -msgid "being attached by different mode" -msgstr "" - -#: cinder/volume/manager.py:963 -msgid "volume is already attached" -msgstr "" - -#: cinder/volume/manager.py:1068 -msgid "" -"Detach volume failed: More than one attachment, but no attachment_id " -"provided." -msgstr "" - -#: cinder/volume/manager.py:1210 cinder/volume/drivers/block_device.py:236 -msgid "Volume is not available." -msgstr "" - -#: cinder/volume/manager.py:1352 -msgid "Invalid initiator value received" -msgstr "" - -#: cinder/volume/manager.py:1434 -#, python-format -msgid "Validate volume connection failed (error: %(err)s)." -msgstr "" - -#: cinder/volume/manager.py:1443 -msgid "Create export for volume failed." -msgstr "" - -#: cinder/volume/manager.py:1466 -#, python-format -msgid "Driver initialize connection failed (error: %(err)s)." -msgstr "" - -#: cinder/volume/manager.py:1537 -#, python-format -msgid "Terminate volume connection failed: %(err)s" -msgstr "" - -#: cinder/volume/manager.py:1552 -msgid "Remove volume export failed." -msgstr "" - -#: cinder/volume/manager.py:1617 -msgid "Unable to access the backend storage via file handle." -msgstr "" - -#: cinder/volume/manager.py:1743 -msgid "failed to create new_volume on destination host" -msgstr "" - -#: cinder/volume/manager.py:1749 -msgid "timeout creating new_volume on destination host" -msgstr "" - -#: cinder/volume/manager.py:2132 -#, python-format -msgid "Volume %s: Error trying to extend volume" -msgstr "" - -#: cinder/volume/manager.py:2279 -msgid "Retype requires migration but is not allowed." -msgstr "" - -#: cinder/volume/manager.py:2287 -msgid "Volume must not have snapshots." -msgstr "" - -#: cinder/volume/manager.py:2296 -msgid "Volume must not be replicated." -msgstr "" - -#: cinder/volume/manager.py:2340 -msgid "Failed to create manage_existing flow." -msgstr "" - -#: cinder/volume/manager.py:2383 -msgid "Error promoting secondary volume to primary" -msgstr "" - -#: cinder/volume/manager.py:2393 cinder/volume/manager.py:2426 -#, python-format -msgid "Failed updating model with driver provided model %(model)s" -msgstr "" - -#: cinder/volume/manager.py:2416 -msgid "Synchronizing secondary volume to primary failed." -msgstr "" - -#: cinder/volume/manager.py:2469 -msgid "Create consistency group failed." -msgstr "" - -#: cinder/volume/manager.py:2524 -#, python-format -msgid "snapshot-%s" -msgstr "" - -#: cinder/volume/manager.py:2530 -#, python-format -msgid "" -"Cannot create consistency group %(group)s because snapshot %(snap)s is " -"not in a valid state. Valid states are: %(valid)s." -msgstr "" - -#: cinder/volume/manager.py:2552 -#, python-format -msgid "cg-%s" -msgstr "" - -#: cinder/volume/manager.py:2558 -#, python-format -msgid "" -"Cannot create consistency group %(group)s because source volume " -"%(source_vol)s is not in a valid state. Valid states are: %(valid)s." -msgstr "" - -#: cinder/volume/manager.py:2638 -msgid "Input volumes or snapshots are invalid." -msgstr "" - -#: cinder/volume/manager.py:2661 -msgid "Input volumes or source volumes are invalid." -msgstr "" - -#: cinder/volume/manager.py:2763 -msgid "Volume is not local to this node" -msgstr "" - -#: cinder/volume/manager.py:2790 -msgid "Delete consistency group failed." -msgstr "" - -#: cinder/volume/manager.py:2956 -#, python-format -msgid "Error occurred when updating consistency group %s." -msgstr "" - -#: cinder/volume/manager.py:3057 -#, python-format -msgid "Error occurred when creating cgsnapshot %s." -msgstr "" - -#: cinder/volume/manager.py:3160 -#, python-format -msgid "Error occurred when deleting cgsnapshot %s." -msgstr "" - -#: cinder/volume/manager.py:3354 -msgid "Update list, doesn't include volume_id" -msgstr "" - -#: cinder/volume/manager.py:3449 -msgid "Failed to create manage existing flow." -msgstr "" - -#: cinder/volume/qos_specs.py:56 -#, python-format -msgid "Valid consumer of QoS specs are: %s" -msgstr "" - -#: cinder/volume/qos_specs.py:126 cinder/volume/qos_specs.py:143 -#: cinder/volume/qos_specs.py:246 cinder/volume/volume_types.py:65 -#: cinder/volume/volume_types.py:91 cinder/volume/volume_types.py:117 -msgid "id cannot be None" -msgstr "" - -#: cinder/volume/qos_specs.py:159 -#, python-format -msgid "Failed to get all associations of qos specs %s" -msgstr "" - -#: cinder/volume/qos_specs.py:192 -#, python-format -msgid "" -"Type %(type_id)s is already associated with another qos specs: " -"%(qos_specs_id)s" -msgstr "" - -#: cinder/volume/qos_specs.py:258 cinder/volume/volume_types.py:129 -msgid "name cannot be None" -msgstr "" - -#: cinder/volume/rpcapi.py:193 -msgid "Cascade option is not supported." -msgstr "" - -#: cinder/volume/rpcapi.py:404 cinder/volume/rpcapi.py:416 -msgid "" -"One of cinder-volume services is too old to accept such request. Are you " -"running mixed Liberty-Mitaka cinder-volumes?" -msgstr "" - -#: cinder/volume/utils.py:420 -msgid "Failed to copy volume, source device unavailable." -msgstr "" - -#: cinder/volume/utils.py:424 -msgid "Failed to copy volume, destination device unavailable." -msgstr "" - -#: cinder/volume/volume_types.py:176 cinder/volume/volume_types.py:189 -msgid "volume_type_id cannot be None" -msgstr "" - -#: cinder/volume/volume_types.py:180 cinder/volume/volume_types.py:193 -msgid "Type access modification is not applicable to public volume type." -msgstr "" - -#: cinder/volume/drivers/block_device.py:100 -msgid "Failed to delete device." -msgstr "" - -#: cinder/volume/drivers/block_device.py:206 -msgid "No free disk" -msgstr "" - -#: cinder/volume/drivers/block_device.py:220 -msgid "No big enough free disk" -msgstr "" - -#: cinder/volume/drivers/block_device.py:228 -msgid "Insufficient free space available to extend volume." -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:39 -msgid "IP address/hostname of Blockbridge API." -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:41 -msgid "Override HTTPS port to connect to Blockbridge API server." -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:46 -msgid "Blockbridge API authentication scheme (token or password)" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:49 -msgid "Blockbridge API token (for auth scheme 'token')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:52 -msgid "Blockbridge API user (for auth scheme 'password')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:54 -msgid "Blockbridge API password (for auth scheme 'password')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:58 -msgid "" -"Defines the set of exposed pools and their associated backend query " -"strings" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:61 -msgid "Default pool name if unspecified." -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:114 -msgid "Failed to determine blockbridge API configuration" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:162 -msgid "Invalid credentials" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:164 -msgid "Insufficient privileges" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:195 -msgid "Blockbridge api host not configured" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:205 -msgid "Blockbridge user not configured (required for auth scheme 'password')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:209 -msgid "Blockbridge password not configured (required for auth scheme 'password')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:215 -msgid "Blockbridge token not configured (required for auth scheme 'token')" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:219 -#, python-format -msgid "Blockbridge configured with invalid auth scheme '%(auth_scheme)s'" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:226 -msgid "Blockbridge pools not configured" -msgstr "" - -#: cinder/volume/drivers/blockbridge.py:231 -msgid "Blockbridge default pool does not exist" -msgstr "" - -#: cinder/volume/drivers/coho.py:89 -msgid "Failed to establish connection with Coho cluster" -msgstr "" - -#: cinder/volume/drivers/coho.py:133 -#, python-format -msgid "no REPLY but %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:141 -#, python-format -msgid "MSG_DENIED: RPC_MISMATCH: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:145 -#, python-format -msgid "MSG_DENIED: AUTH_ERROR: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:146 -#, python-format -msgid "MSG_DENIED: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:149 -#, python-format -msgid "Neither MSG_DENIED nor MSG_ACCEPTED: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:153 -msgid "call failed: PROG_UNAVAIL" -msgstr "" - -#: cinder/volume/drivers/coho.py:158 -#, python-format -msgid "call failed: PROG_MISMATCH: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:160 -msgid "call failed: PROC_UNAVAIL" -msgstr "" - -#: cinder/volume/drivers/coho.py:162 -msgid "call failed: GARBAGE_ARGS" -msgstr "" - -#: cinder/volume/drivers/coho.py:164 -#, python-format -msgid "call failed: %r" -msgstr "" - -#: cinder/volume/drivers/coho.py:196 -msgid "Invalid response header from RPC server" -msgstr "" - -#: cinder/volume/drivers/coho.py:208 -msgid "RPC server response is incomplete" -msgstr "" - -#: cinder/volume/drivers/coho.py:315 -msgid "Coho rpc port is not configured" -msgstr "" - -#: cinder/volume/drivers/coho.py:319 -#, python-format -msgid "Invalid port number %(config)s for Coho rpc port" -msgstr "" - -#: cinder/volume/drivers/datera.py:130 -msgid "" -"san_login and/or san_password is not set for Datera driver in the " -"cinder.conf. Set this information and start the cinder-volume service " -"again." -msgstr "" - -#: cinder/volume/drivers/datera.py:146 -msgid "Resource not ready." -msgstr "" - -#: cinder/volume/drivers/datera.py:472 -#, python-format -msgid "" -"Failed to make a request to Datera cluster endpoint due to the following " -"reason: %s" -msgstr "" - -#: cinder/volume/drivers/datera.py:495 -#, python-format -msgid "Bad request sent to Datera cluster:Invalid args: %(args)s | %(message)s" -msgstr "" - -#: cinder/volume/drivers/datera.py:501 -#, python-format -msgid "Request to Datera cluster returned bad status: %(status)s | %(reason)s" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:193 -#, python-format -msgid "" -"DRBDmanage driver error: expected key \"%s\" not in answer, wrong " -"DRBDmanage version?" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:208 -msgid "" -"DRBDmanage driver setup error: some required libraries (dbus, " -"drbdmanage.*) not found." -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:213 -msgid "Cannot ping DRBDmanage backend" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:241 -#, python-format -msgid "Received error string: %s" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:378 -#, python-format -msgid "volume %s not found in drbdmanage" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:381 -#, python-format -msgid "multiple resources with name %s found by drbdmanage" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:387 -#, python-format -msgid "not exactly one volume with id %s" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:415 -#, python-format -msgid "no snapshot with id %s found in drbdmanage" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:419 -#, python-format -msgid "multiple resources with snapshot ID %s found" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:425 -#, python-format -msgid "not exactly one snapshot with id %s" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:450 -#, python-format -msgid "Got bad path information from DRBDmanage! (%s)" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:496 -#, python-format -msgid "" -"DRBDmanage timeout waiting for volume creation; resource \"%(res)s\", " -"volume \"%(vol)s\"" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:542 -#, python-format -msgid "DRBDmanage expected one resource (\"%(res)s\"), got %(n)d" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:582 -#, python-format -msgid "" -"DRBDmanage timeout waiting for new volume after snapshot restore; " -"resource \"%(res)s\", volume \"%(vol)s\"" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:668 -#, python-format -msgid "" -"DRBDmanage timeout waiting for volume size; volume ID \"%(id)s\" (res " -"\"%(res)s\", vnr %(vnr)d)" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:692 -#, python-format -msgid "Snapshot res \"%s\" that is not deployed anywhere?" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:705 -#, python-format -msgid "" -"DRBDmanage timeout waiting for snapshot creation; resource \"%(res)s\", " -"snapshot \"%(sn)s\"" -msgstr "" - -#: cinder/volume/drivers/drbdmanagedrv.py:869 -#, python-format -msgid "Expected exactly one node called \"%s\"" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:187 -msgid "The EQL array has closed the connection." -msgstr "" - -#: cinder/volume/drivers/eqlx.py:225 -msgid "Error executing EQL command" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:267 -#, python-format -msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'" -msgstr "" - -#: cinder/volume/drivers/eqlx.py:281 -msgid "eqlx_cli_max_retries must be greater than or equal to 0" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:84 -#, python-format -msgid "There's no Gluster config file configured (%s)" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:89 -#, python-format -msgid "Gluster config file at %(config)s doesn't exist" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:101 -msgid "mount.glusterfs is not installed" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:300 cinder/volume/drivers/quobyte.py:276 -#: cinder/volume/drivers/scality.py:199 -#, python-format -msgid "%s must be a valid raw or qcow2 image." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:321 cinder/volume/drivers/quobyte.py:306 -#: cinder/volume/drivers/scality.py:220 -#, python-format -msgid "Unrecognized backing format: %s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:339 -#, python-format -msgid "file already exists at %s" -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:446 -msgid "Backup is not supported for GlusterFS volumes with snapshots." -msgstr "" - -#: cinder/volume/drivers/glusterfs.py:465 -msgid "Backup is only supported for raw-formatted GlusterFS volumes." -msgstr "" - -#: cinder/volume/drivers/hgst.py:121 -msgid "Unable to get list of domain members, check that the cluster is running." -msgstr "" - -#: cinder/volume/drivers/hgst.py:130 -msgid "" -"Unable to get list of IP addresses on this host, check permissions and " -"networking." -msgstr "" - -#: cinder/volume/drivers/hgst.py:143 -msgid "Current host isn't part of HGST domain." -msgstr "" - -#: cinder/volume/drivers/hgst.py:182 -msgid "" -"Unable to get list of spaces to make new name. Please verify the cluster" -" is running." -msgstr "" - -#: cinder/volume/drivers/hgst.py:204 -#, python-format -msgid "" -"Unable to get information on space %(space)s, please verify that the " -"cluster is running and connected." -msgstr "" - -#: cinder/volume/drivers/hgst.py:262 -#, python-format -msgid "Command %(cmd)s blocked in the CLI and was cancelled" -msgstr "" - -#: cinder/volume/drivers/hgst.py:280 -#, python-format -msgid "Unable to add Cinder host to apphosts for space %(space)s" -msgstr "" - -#: cinder/volume/drivers/hgst.py:316 -#, python-format -msgid "Error in space-create for %(space)s of size %(size)d GB" -msgstr "" - -#: cinder/volume/drivers/hgst.py:419 -#, python-format -msgid "hgst_storage server %(svr)s not of format :" -msgstr "" - -#: cinder/volume/drivers/hgst.py:428 -#, python-format -msgid "Storage host %(svr)s not detected, verify name" -msgstr "" - -#: cinder/volume/drivers/hgst.py:440 -msgid "" -"Cannot run vgc-cluster command, please ensure software is installed and " -"permissions are set properly." -msgstr "" - -#: cinder/volume/drivers/hgst.py:452 -msgid "hgst_redundancy must be set to 0 (non-HA) or 1 (HA) in cinder.conf." -msgstr "" - -#: cinder/volume/drivers/hgst.py:461 -#, python-format -msgid "" -"hgst_group %(grp)s and hgst_user %(usr)s must map to valid users/groups " -"in cinder.conf" -msgstr "" - -#: cinder/volume/drivers/hgst.py:471 -msgid "hgst_space_mode must be an octal/int in cinder.conf" -msgstr "" - -#: cinder/volume/drivers/hgst.py:481 -#, python-format -msgid "hgst_net %(net)s specified in cinder.conf not found in cluster" -msgstr "" - -#: cinder/volume/drivers/hgst.py:489 -msgid "hgst_storage_servers must be defined in cinder.conf" -msgstr "" - -#: cinder/volume/drivers/hgst.py:567 -#, python-format -msgid "Error in space-extend for volume %(space)s with %(size)d additional GB" -msgstr "" - -#: cinder/volume/drivers/lvm.py:150 -#, python-format -msgid "Volume device file path %s does not exist." -msgstr "" - -#: cinder/volume/drivers/lvm.py:158 -#, python-format -msgid "Size for volume: %s not found, cannot secure delete." -msgstr "" - -#: cinder/volume/drivers/lvm.py:286 cinder/volume/drivers/lvm.py:295 -#, python-format -msgid "Volume Group %s does not exist" -msgstr "" - -#: cinder/volume/drivers/lvm.py:322 -msgid "Thin provisioning not supported on this version of LVM." -msgstr "" - -#: cinder/volume/drivers/lvm.py:330 -#, python-format -msgid "Failed to create thin pool, error message was: %s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:594 -#, python-format -msgid "Failed to rename logical volume %(name)s, error message was: %(err_msg)s" -msgstr "" - -#: cinder/volume/drivers/lvm.py:611 cinder/volume/drivers/rbd.py:1030 -#: cinder/volume/drivers/emc/xtremio.py:520 -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:911 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:623 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:851 -msgid "Reference must contain source-name element." -msgstr "" - -#: cinder/volume/drivers/lvm.py:628 -#, python-format -msgid "" -"Failed to manage existing %(type)s %(name)s, because reported size " -"%(size)s was not a floating-point number." -msgstr "" - -#: cinder/volume/drivers/lvm.py:731 -#, python-format -msgid "" -"Refusing to migrate volume ID: %(id)s. Please check your configuration " -"because source and destination are the same Volume Group: %(name)s." -msgstr "" - -#: cinder/volume/drivers/nfs.py:114 -#, python-format -msgid "There's no NFS config file configured (%s)" -msgstr "" - -#: cinder/volume/drivers/nfs.py:119 -#, python-format -msgid "NFS config file at %(config)s doesn't exist" -msgstr "" - -#: cinder/volume/drivers/nfs.py:135 cinder/volume/drivers/zfssa/zfssanfs.py:112 -#, python-format -msgid "%s is not installed" -msgstr "" - -#: cinder/volume/drivers/nimble.py:80 -msgid "Nimble Cinder Driver exception" -msgstr "" - -#: cinder/volume/drivers/nimble.py:84 -msgid "Unexpected response from Nimble API" -msgstr "" - -#: cinder/volume/drivers/nimble.py:115 -#: cinder/volume/drivers/ibm/flashsystem_common.py:939 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1991 -#, python-format -msgid "%s is not set." -msgstr "" - -#: cinder/volume/drivers/nimble.py:153 -msgid "No suitable discovery ip found" -msgstr "" - -#: cinder/volume/drivers/nimble.py:294 -msgid "SpaceInfo returned byarray is invalid" -msgstr "" - -#: cinder/volume/drivers/nimble.py:350 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1383 -msgid "Reference must contain source-name." -msgstr "" - -#: cinder/volume/drivers/nimble.py:370 -#, python-format -msgid "Volume %s is already managed by OpenStack." -msgstr "" - -#: cinder/volume/drivers/nimble.py:377 -msgid "Volume should have agent-type set as None." -msgstr "" - -#: cinder/volume/drivers/nimble.py:383 -#, python-format -msgid "Volume %s is online. Set volume to offline for managing using OpenStack." -msgstr "" - -#: cinder/volume/drivers/nimble.py:424 -msgid "Only volumes managed by OpenStack can be unmanaged." -msgstr "" - -#: cinder/volume/drivers/nimble.py:501 -#, python-format -msgid "No initiator group found for initiator %s" -msgstr "" - -#: cinder/volume/drivers/nimble.py:516 -#, python-format -msgid "API %(name)s failed with error string %(err)s" -msgstr "" - -#: cinder/volume/drivers/pure.py:194 -#, python-format -msgid "" -"Unable to do replication with Purity REST API version %(api_version)s, " -"requires one of %(required_versions)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:216 -msgid "" -"Missing 'purestorage' python module, ensure the library is installed and " -"available." -msgstr "" - -#: cinder/volume/drivers/pure.py:286 -#, python-format -msgid "Unable to determine snapshot name in Purity for snapshot %(id)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:798 -msgid "manage_existing requires a 'name' key to identify an existing volume." -msgstr "" - -#: cinder/volume/drivers/pure.py:827 -#, python-format -msgid "Unable to find Purity ref with name=%s" -msgstr "" - -#: cinder/volume/drivers/pure.py:845 -#, python-format -msgid "" -"%(driver)s manage_existing cannot manage a volume connected to hosts. " -"Please disconnect this volume from existing hosts before importing" -msgstr "" - -#: cinder/volume/drivers/pure.py:906 -#, python-format -msgid "" -"Unable to do manage snapshot operations with Purity REST API version " -"%(api_version)s, requires %(required_versions)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:972 -#, python-format -msgid "" -"HTTPS certificate verification was requested but cannot be enabled with " -"purestorage module version %(version)s. Upgrade to a newer version to " -"enable this feature." -msgstr "" - -#: cinder/volume/drivers/pure.py:1078 -msgid "Unable to connect or find connection to host" -msgstr "" - -#: cinder/volume/drivers/pure.py:1147 -msgid "" -"Unable to failback to \"default\", this can only be done after a failover" -" has completed." -msgstr "" - -#: cinder/volume/drivers/pure.py:1160 -#, python-format -msgid "" -"Secondary id can not be the same as primary array, backend_id = " -"%(secondary)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1249 -msgid "Protection Group not ready." -msgstr "" - -#: cinder/volume/drivers/pure.py:1261 -msgid "Replication not allowed yet." -msgstr "" - -#: cinder/volume/drivers/pure.py:1417 -msgid "Unable to find failover target, no secondary targets configured." -msgstr "" - -#: cinder/volume/drivers/pure.py:1429 -#, python-format -msgid "" -"Unable to determine secondary_array from supplied secondary: " -"%(secondary)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1457 -#, python-format -msgid "Unable to find viable secondary array fromconfigured targets: %(targets)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1464 -#, python-format -msgid "" -"Unable to find viable pg snapshot to use forfailover on selected " -"secondary array: %(id)s." -msgstr "" - -#: cinder/volume/drivers/pure.py:1553 -msgid "No iSCSI-enabled ports on target array." -msgstr "" - -#: cinder/volume/drivers/pure.py:1605 -msgid "" -"Unable to re-use a host that is not managed by Cinder with " -"use_chap_auth=True," -msgstr "" - -#: cinder/volume/drivers/pure.py:1613 -msgid "Unable to re-use host with unknown CHAP credentials configured." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:104 -#, python-format -msgid "" -"There's no Quobyte volume configured (%s). Example: quobyte:///" -msgstr "" - -#: cinder/volume/drivers/quobyte.py:298 cinder/volume/drivers/smbfs.py:520 -#: cinder/volume/drivers/vzstorage.py:256 -msgid "Extend volume is only supported for this driver when no snapshots exist." -msgstr "" - -#: cinder/volume/drivers/quobyte.py:468 -#, python-format -msgid "The mount %(mount_path)s is not a valid Quobyte USP volume. Error: %(exc)s" -msgstr "" - -#: cinder/volume/drivers/rbd.py:77 -msgid "Volumes will be chunked into objects of this size (in megabytes)." -msgstr "" - -#: cinder/volume/drivers/rbd.py:80 -msgid "" -"Timeout value (in seconds) used when connecting to ceph cluster. If value" -" < 0, no timeout is set and default librados value is used." -msgstr "" - -#: cinder/volume/drivers/rbd.py:84 -msgid "Number of retries if connection to ceph cluster failed." -msgstr "" - -#: cinder/volume/drivers/rbd.py:87 -msgid "Interval value (in seconds) between connection retries to ceph cluster." -msgstr "" - -#: cinder/volume/drivers/rbd.py:169 -#, python-format -msgid "Invalid argument - whence=%s not supported" -msgstr "" - -#: cinder/volume/drivers/rbd.py:173 -msgid "Invalid argument" -msgstr "" - -#: cinder/volume/drivers/rbd.py:193 -msgid "fileno() not supported by RBD()" -msgstr "" - -#: cinder/volume/drivers/rbd.py:290 -msgid "rados and rbd python libraries not found" -msgstr "" - -#: cinder/volume/drivers/rbd.py:342 -msgid "Error connecting to ceph cluster." -msgstr "" - -#: cinder/volume/drivers/rbd.py:442 -#, python-format -msgid "clone depth exceeds limit of %s" -msgstr "" - -#: cinder/volume/drivers/rbd.py:722 -msgid "" -"ImageBusy error raised while deleting rbd volume. This may have been " -"caused by a connection from a client that has crashed and, if so, may be " -"resolved by retrying the delete after 30 seconds has elapsed." -msgstr "" - -#: cinder/volume/drivers/rbd.py:832 -msgid "Not stored in rbd" -msgstr "" - -#: cinder/volume/drivers/rbd.py:837 -msgid "Blank components" -msgstr "" - -#: cinder/volume/drivers/rbd.py:840 -msgid "Not an rbd snapshot" -msgstr "" - -#: cinder/volume/drivers/rbd.py:991 -#, python-format -msgid "Failed to Extend Volume %(volname)s" -msgstr "" - -#: cinder/volume/drivers/rbd.py:1054 -#, python-format -msgid "" -"Failed to manage existing volume %(name)s, because reported size %(size)s" -" was not a floating-point number." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:123 -msgid "The decorated method must accept either a volume or a snapshot object" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:191 -#, python-format -msgid "" -"NAS config '%(name)s=%(value)s' invalid. Must be 'auto', 'true', or " -"'false'" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:420 cinder/volume/drivers/smbfs.py:590 -#, python-format -msgid "Expected volume size was %d" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:421 -#, python-format -msgid " but size is now %d" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:448 -#, python-format -msgid "" -"Share %s ignored due to invalid format. Must be of form address:/export. " -"Please check the nas_ip and nas_share_path settings." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:676 -msgid "'active' must be present when writing snap_info." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:699 -#, python-format -msgid "File %(path)s has invalid backing file %(bfile)s, aborting." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:824 -#, python-format -msgid "" -"Share at %(dir)s is not writable by the Cinder volume service. Snapshot " -"operations will not be supported." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:882 -msgid "Volume status must be 'available'." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:945 -msgid "Volume status must be \"available\" or \"in-use\"." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1049 -#, python-format -msgid "No file found with %s as backing file." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1058 -#, python-format -msgid "No snap found with %s as backing file." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1079 -msgid "Snapshot status must be \"available\" to clone." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1233 -#, python-format -msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)" -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1303 -msgid "Nova returned \"error\" status while creating snapshot." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1308 -#, python-format -msgid "" -"Snapshot %(id)s has been asked to be deleted while waiting for it to " -"become available. Perhaps a concurrent request was made." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1322 -#, python-format -msgid "Timed out while waiting for Nova update for creation of snapshot %s." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1392 -#, python-format -msgid "Unable to delete snapshot %(id)s, status: %(status)s." -msgstr "" - -#: cinder/volume/drivers/remotefs.py:1405 -#, python-format -msgid "Timed out while waiting for Nova update for deletion of snapshot %(id)s." -msgstr "" - -#: cinder/volume/drivers/scality.py:88 -msgid "Value required for 'scality_sofs_config'" -msgstr "" - -#: cinder/volume/drivers/scality.py:100 -#, python-format -msgid "Can't access 'scality_sofs_config': %s" -msgstr "" - -#: cinder/volume/drivers/scality.py:107 -msgid "Cannot execute /sbin/mount.sofs" -msgstr "" - -#: cinder/volume/drivers/scality.py:140 -msgid "Cannot mount Scality SOFS, check syslog for errors" -msgstr "" - -#: cinder/volume/drivers/scality.py:277 -msgid "Backup is only supported for raw-formatted SOFS volumes." -msgstr "" - -#: cinder/volume/drivers/scality.py:282 -msgid "Backup is only supported for SOFS volumes without backing file." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:334 -#, python-format -msgid "Sheepdog I/O Error, command was: \"%s\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:341 -#, python-format -msgid "An error occurred while reading volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:357 -#, python-format -msgid "An error occurred while writing to volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:370 -#, python-format -msgid "An error occured while seeking for volume \"%s\"." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:384 -#, python-format -msgid "Invalid argument - whence=%s not supported." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:388 -msgid "Invalid argument - negative seek offset." -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:404 -msgid "fileno is not supported by SheepdogIOWrapper" -msgstr "" - -#: cinder/volume/drivers/sheepdog.py:637 -#, python-format -msgid "Failed to create a temporary snapshot for volume %s." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:167 -msgid "SMBFS config file not set (smbfs_shares_config)." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:171 -#, python-format -msgid "SMBFS config file at %(config)s doesn't exist." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:176 -#, python-format -msgid "Invalid mount point base: %s" -msgstr "" - -#: cinder/volume/drivers/smbfs.py:180 -#, python-format -msgid "SMBFS config 'smbfs_oversub_ratio' invalid. Must be > 0: %s" -msgstr "" - -#: cinder/volume/drivers/smbfs.py:188 -#, python-format -msgid "SMBFS config 'smbfs_used_ratio' invalid. Must be > 0 and <= 1.0: %s" -msgstr "" - -#: cinder/volume/drivers/smbfs.py:349 -#, python-format -msgid "File already exists at %s." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:458 -msgid "This driver does not support snapshotting in-use volumes." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:462 -msgid "This driver does not support deleting in-use snapshots." -msgstr "" - -#: cinder/volume/drivers/smbfs.py:474 -#, python-format -msgid "Snapshots are not supported for this volume format: %s" -msgstr "" - -#: cinder/volume/drivers/smbfs.py:591 -#, python-format -msgid " but size is now %d." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:127 -#, python-format -msgid "Retry count exceeded for command: %s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:330 -#: cinder/volume/drivers/solidfire.py:499 -#, python-format -msgid "API response: %s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:518 -msgid "Failed to get model update from clone" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:753 -msgid "Failed to create SolidFire Image-Volume" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:813 -msgid "Volumes/account exceeded on both primary and secondary SolidFire accounts." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1199 -#, python-format -msgid "" -"Retrieved a different amount of SolidFire volumes for the provided Cinder" -" volumes. Retrieved: %(ret)s Desired: %(des)s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1240 -#, python-format -msgid "Failed to find group snapshot named: %s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1319 -#, python-format -msgid "" -"Retrieved a different amount of SolidFire volumes for the provided Cinder" -" snapshots. Retrieved: %(ret)s Desired: %(des)s" -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1549 -msgid "Manage existing volume requires 'source-id'." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1591 -msgid "Manage existing get size requires 'id'." -msgstr "" - -#: cinder/volume/drivers/solidfire.py:1608 -msgid "Failed to find account for volume." -msgstr "" - -#: cinder/volume/drivers/tegile.py:139 -#, python-format -msgid "API response: %(response)s" -msgstr "" - -#: cinder/volume/drivers/tegile.py:471 -#, python-format -msgid "%(attr)s is not set." -msgstr "" - -#: cinder/volume/drivers/tintri.py:206 -#, python-format -msgid "Failed to move volume %s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:210 -#, python-format -msgid "Volume %s not found." -msgstr "" - -#: cinder/volume/drivers/tintri.py:540 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:549 -#, python-format -msgid "Converted to raw, but format is now %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:570 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:251 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:582 -msgid "Resizing image file failed." -msgstr "" - -#: cinder/volume/drivers/tintri.py:624 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:679 -msgid "Image location not present." -msgstr "" - -#: cinder/volume/drivers/tintri.py:656 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:756 -msgid "Container size smaller than required file size." -msgstr "" - -#: cinder/volume/drivers/tintri.py:673 cinder/volume/drivers/tintri.py:689 -msgid "A volume ID or share was not specified." -msgstr "" - -#: cinder/volume/drivers/tintri.py:713 -#, python-format -msgid "Failed to manage volume %s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:737 -#, python-format -msgid "Failed to get size of volume %s" -msgstr "" - -#: cinder/volume/drivers/tintri.py:765 -msgid "Volume reference must contain source-name element." -msgstr "" - -#: cinder/volume/drivers/tintri.py:786 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2446 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2471 -msgid "Volume not found." -msgstr "" - -#: cinder/volume/drivers/tintri.py:874 -#, python-format -msgid "Failed to login for user %s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:908 -#, python-format -msgid "Failed to create snapshot for volume %s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:920 -#, python-format -msgid "Failed to get snapshot for volume %s." -msgstr "" - -#: cinder/volume/drivers/tintri.py:942 -msgid "Failed to get image snapshots." -msgstr "" - -#: cinder/volume/drivers/tintri.py:963 -#, python-format -msgid "Failed to clone volume from snapshot %s." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:133 -#, python-format -msgid "VzStorage config file at %(config)s doesn't exist." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:139 -#, python-format -msgid "Invalid mount point base: %s." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:145 -#, python-format -msgid "" -"VzStorage config 'vzstorage_used_ratio' invalid. Must be > 0 and <= 1.0: " -"%s." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:161 -#, python-format -msgid "%s is not installed." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:172 -#, python-format -msgid "" -"Invalid Virtuozzo Storage share specification: %r. Must be: " -"[MDS1[,MDS2],...:/][:PASSWORD]." -msgstr "" - -#: cinder/volume/drivers/vzstorage.py:313 -#, python-format -msgid "Volume %s does not have provider_location specified, skipping." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:144 -msgid "API key is missing for CloudByte driver." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:165 -#, python-format -msgid "Error executing CloudByte API [%(cmd)s], Error: %(err)s." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:172 -#, python-format -msgid "" -"Failed to execute CloudByte API [%(cmd)s]. Http status: %(status)s, " -"Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:246 -#, python-format -msgid "" -"TSM [%(tsm)s] was not found in CloudByte storage for account " -"[%(account)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:274 -#, python-format -msgid "" -"Null response received while querying for [%(operation)s] based job " -"[%(job)s] at CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:292 -#, python-format -msgid "" -"Error in Operation [%(operation)s] for volume [%(cb_volume)s] in " -"CloudByte storage: [%(cb_error)s], error code: [%(error_code)s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:327 -#, python-format -msgid "Null response received while creating volume [%s] at CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:334 -#, python-format -msgid "Job id not found in CloudByte's create volume [%s] response." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:360 -#, python-format -msgid "Null response received while deleting volume [%s] at CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:367 -#, python-format -msgid "Job id not found in CloudByte's delete volume [%s] response." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:393 -msgid "Null response received from CloudByte's list filesystem." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:400 -msgid "No volumes found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:411 -#, python-format -msgid "Volume [%s] not found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:472 -msgid "Null response received from CloudByte's list iscsi initiators." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:479 -msgid "No iscsi initiators were found in CloudByte." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:495 -msgid "Null response received from CloudByte's list volume iscsi service." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:502 -msgid "No iscsi services found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:513 -#, python-format -msgid "No iscsi service found for CloudByte volume [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:570 -#, python-format -msgid "Failed to get CloudByte account details for account [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:582 -msgid "No response was received from CloudByte's list filesystem api call." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:589 -msgid "No volume was found at CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:610 -msgid "No response was received from CloudByte storage list tsm API call." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:644 -msgid "Null response received from CloudByte's list iscsi auth groups." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:651 -msgid "No iscsi auth groups were found in CloudByte." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:661 -#, python-format -msgid "Auth group [%s] details not found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:678 -msgid "" -"No response was received from CloudByte storage list iSCSI auth user API " -"call." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:685 -msgid "Auth user details not found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:692 -msgid "Invalid chap user details found in CloudByte storage." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:984 -#, python-format -msgid "" -"Failed to create snapshot. CloudByte volume information not found for " -"OpenStack volume [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1182 -#, python-format -msgid "" -"Provider information w.r.t CloudByte storage was not found for OpenStack " -"volume [%s]." -msgstr "" - -#: cinder/volume/drivers/cloudbyte/cloudbyte.py:1201 -#, python-format -msgid "" -"Volume [%(cb_vol)s] was not found at CloudByte storage corresponding to " -"OpenStack volume [%(ops_vol)s]." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:212 -msgid "Configuration error: dell_sc_ssn not set." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:455 -msgid "Failed to connect to Dell REST API" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:506 -msgid "Failed to find Storage Center" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:768 -#, python-format -msgid "Unable to locate specified replay profiles %s " -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:849 -#, python-format -msgid "Storage Profile %s not found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:974 -#, python-format -msgid "Unable to complete failover of %s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:980 -#, python-format -msgid "Multiple copies of volume %s found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1001 -#, python-format -msgid "Error deleting volume %(ssn)s: %(volume)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:1582 -msgid "Unable to find iSCSI mappings." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2067 -msgid "Multiple profiles found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2112 -msgid "Error deleting replay profile." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2352 -msgid "Dell API 2.1 or later required for Consistency Group support" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2376 -msgid "Error retrieving volume size" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2428 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2464 -msgid "Volume size must multiple of 1 GB." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2433 -#, python-format -msgid "Volume is attached to a server. (%s)" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2439 -#, python-format -msgid "Unable to manage volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2443 -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2468 -msgid "Volume not unique." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2492 -#, python-format -msgid "Unable to rename volume %(existing)s to %(newname)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_api.py:2527 -msgid "Failed to find QoSnode" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:101 -msgid "" -"Dell Cinder driver configuration error replication not supported with " -"direct connect." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:116 -#, python-format -msgid "Dell Cinder driver configuration error replication_device %s not found" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:187 -#, python-format -msgid "Replication %(name)s to %(ssn)s failed." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:237 -#, python-format -msgid "Unable to create volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:255 -msgid "Unable to create volume. Backend down." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:351 -#, python-format -msgid "Failed to create snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:392 -#, python-format -msgid "Unable to create volume %(name)s from %(snap)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:417 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:478 -#, python-format -msgid "Failed to create volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:454 -#, python-format -msgid "Unable to create volume %(name)s from %(vol)s." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:498 -#, python-format -msgid "Failed to delete snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:528 -#, python-format -msgid "Unable to find volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:552 -#, python-format -msgid "Unable to extend volume %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:657 -#, python-format -msgid "Unable to create consistency group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:722 -#, python-format -msgid "Unable to update consistency group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:758 -#, python-format -msgid "Unable to snap Consistency Group %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:782 -#, python-format -msgid "Unable to delete Consistency Group snapshot %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:834 -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:853 -#: cinder/volume/drivers/huawei/huawei_driver.py:1337 -msgid "Must specify source-name or source-id." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:887 -#, python-format -msgid "" -"Unable to retype %(specname)s, expected to receive current and requested " -"%(spectype)s values. Value received: %(spec)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1050 -msgid "Backend has already been failed over. Unable to fail back." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1088 -#, python-format -msgid "replication_failover failed. %s not found." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1092 -msgid "replication_failover failed. Backend not configured for failover" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1100 -msgid "_get_unmanaged_replay: Must specify source-name." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1108 -#, python-format -msgid "_get_unmanaged_replay: Cannot find volume id %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1116 -#, python-format -msgid "_get_unmanaged_replay: Cannot find snapshot named %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1155 -#, python-format -msgid "" -"manage_existing_snapshot: Error managing existing replay %(ss)s on volume" -" %(vol)s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1184 -msgid "Volume size must be a multiple of 1 GB." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1203 -#, python-format -msgid "unmanage_snapshot: Cannot find volume id %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_common.py:1211 -#, python-format -msgid "unmanage_snapshot: Cannot find snapshot named %s" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:115 -msgid "Unable to map volume." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:142 -#: cinder/volume/drivers/dell/dell_storagecenter_iscsi.py:171 -msgid "Terminate connection failed" -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_fc.py:159 -msgid "Terminate connection unable to connect to backend." -msgstr "" - -#: cinder/volume/drivers/dell/dell_storagecenter_iscsi.py:143 -msgid "Unable to map volume" -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:123 -msgid "Could not find DISCO wsdl file." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:144 -#: cinder/volume/drivers/disco/disco.py:305 -#, python-format -msgid "Error while creating volume [status] %(stat)s - [result] %(res)s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:164 -#, python-format -msgid "Error while deleting volume [status] %(stat)s - [result] %(res)s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:191 -#, python-format -msgid "Error while creating snapshot [status] %(stat)s - [result] %(res)s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:228 -#, python-format -msgid "Error while deleting snapshot [status] %(stat)s - [result] %(res)s" -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:251 -#, python-format -msgid "" -"Error[%(stat)s - %(res)s] while restoring snapshot [%(snap_id)s] into " -"volume [%(vol)s]." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:276 -#, python-format -msgid "Error[status] %(stat)s - [result] %(res)s] while getting volume id." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:330 -#, python-format -msgid "Error[%(stat)s - %(res)s] while getting volume id." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:390 -#, python-format -msgid "Error while extending volume [status] %(stat)s - [result] %(res)s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:439 -#, python-format -msgid "Error while getting disco information [%s]." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:492 -#, python-format -msgid "Error while getting %(op)s details, returned code: %(status)s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:508 -#, python-format -msgid "Timeout while calling %s " -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:522 -#: cinder/volume/drivers/disco/disco.py:539 -#, python-format -msgid "Unknown operation %s." -msgstr "" - -#: cinder/volume/drivers/disco/disco.py:529 -msgid "Call returned a None object" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:99 -#, python-format -msgid "Failed to connect to %(vendor_name)s Array %(host)s: %(err)s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:106 -#, python-format -msgid "Failed to log on %s Array (invalid login?)." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:158 -#, python-format -msgid "%s configuration option is not set." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:302 -#, python-format -msgid "Unable to get stats for backend_name: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_common.py:312 -#, python-format -msgid "Connector does not provide: %s" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_iscsi.py:82 -#, python-format -msgid "Invalid IP address format: '%s'" -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_iscsi.py:87 -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:244 -msgid "At least one valid iSCSI IP address must be set." -msgstr "" - -#: cinder/volume/drivers/dothill/dothill_iscsi.py:180 -msgid "CHAP secret should be 12-16 bytes." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:232 -#, python-format -msgid "Cannot find Replication Service to create volume for snapshot %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:340 -#, python-format -msgid "" -"Cannot find Controller Configuration Service for storage system " -"%(storage_system)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:458 -#, python-format -msgid "Error Attaching volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:498 -msgid "Unable to get the name of the masking view." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:515 -msgid "Unable to get the name of the portgroup." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:520 -msgid "Cannot get the portgroup from the masking view." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:557 -#, python-format -msgid "Cannot find Volume: %(volumename)s. Extend operation. Exiting...." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:564 -#, python-format -msgid "" -"Your original size: %(originalVolumeSize)s GB is greater than: " -"%(newSize)s GB. Only Extend is supported. Exiting..." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:603 -#, python-format -msgid "" -"The requested size : %(requestedSize)s is not the same as resulting size:" -" %(resultSize)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1063 -#, python-format -msgid "" -"Failed to remove: %(volumename)s. from the default storage group for FAST" -" policy %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1312 -msgid "Cannot connect to ECOM server." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1343 -#, python-format -msgid "Pool %(poolNameInStr)s is not found." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1349 -#, python-format -msgid "Storage system not found for pool %(poolNameInStr)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1461 -#, python-format -msgid "Error finding %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1574 -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2468 -#, python-format -msgid "Unable to get target endpoints for hardwareId %(hardwareIdInstance)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1667 -#, python-format -msgid "Configuration file %(configurationFile)s does not exist." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1726 -msgid "Unable to get corresponding record for pool." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1742 -#, python-format -msgid "" -"Unable to get configuration information necessary to create a volume: " -"%(errorMessage)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1764 -msgid "You must supply an array in your EMC configuration file." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1770 -msgid "Cannot get necessary pool or storage system information." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1874 -#, python-format -msgid "" -"Error adding Volume: %(volumeName)s with instance path: " -"%(volumeInstancePath)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1885 -#, python-format -msgid "Rolling back %(volumeName)s by deleting it." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:1967 -#, python-format -msgid "Failed to unbind volume %(volume)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2070 -#, python-format -msgid "Clone feature is not licensed on %(storageSystem)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2150 -#: cinder/volume/drivers/emc/emc_vmax_common.py:2847 -#, python-format -msgid "" -"Unable to create or get default storage group for FAST policy: " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2311 -#, python-format -msgid "" -"Volume %(name)s not found on the array. Cannot determine if there are " -"volumes mapped." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2386 -#, python-format -msgid "Cannot find Replication Service to delete snapshot %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2436 -#, python-format -msgid "Failed to create consistency group: %(cgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2478 -#: cinder/volume/drivers/emc/emc_vmax_common.py:2582 -#: cinder/volume/drivers/emc/emc_vmax_common.py:3875 -#, python-format -msgid "Cannot find CG group %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2498 -#, python-format -msgid "Failed to delete consistency group: %(cgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2652 -#, python-format -msgid "Cannot find Replication service on system %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2669 -#, python-format -msgid "Failed to create snapshot for cg: %(cgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2718 -#, python-format -msgid "Failed to delete snapshot for cg: %(cgId)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2778 -#, python-format -msgid "" -"The striped meta count of %(memberCount)s is too small for volume: " -"%(volumeName)s, with size %(volumeSize)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2815 -#, python-format -msgid "" -"Pool: %(poolName)s. is not associated to storage tier for fast policy " -"%(fastPolicy)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2877 -#, python-format -msgid "" -"Either SLO: %(slo)s or workload %(workload)s is invalid. Examine previous" -" error statement for valid values." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2896 -msgid "Cannot determine storage pool settings." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2962 -#, python-format -msgid "" -"Volume: %(volumeName)s is not a concatenated volume. You can only perform" -" extend on concatenated volume. Exiting..." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:2997 -msgid "Error Creating unbound volume on an Extend operation." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3009 -#, python-format -msgid "" -"On an Extend Operation, error adding volume to composite volume: " -"%(volumename)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3416 -#: cinder/volume/drivers/emc/emc_vmax_common.py:3465 -#, python-format -msgid "Failed to delete volume %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3541 -msgid "Error Creating unbound volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3571 -#, python-format -msgid "Error appending volume %(volumename)s to target base volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3579 -#, python-format -msgid "Exception appending meta volume to target volume %(volumename)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3624 -#, python-format -msgid "" -"Exception during create element replica. Clone name: %(cloneName)s Source" -" name: %(sourceName)s Extra specs: %(extraSpecs)s " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3966 -#, python-format -msgid "Pool from volume['host'] %(host)s not found." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:3972 -#, python-format -msgid "Pool from volume['host'] failed with: %(ex)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4015 -#, python-format -msgid "" -"Manage volume is not supported if FAST is enable. FAST policy: " -"%(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4034 -#, python-format -msgid "" -"Unable to import volume %(deviceId)s to cinder. Volume is in masking view" -" %(mv)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4050 -#, python-format -msgid "" -"Unable to import volume %(deviceId)s to cinder. It is the source volume " -"of replication session %(sync)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4070 -#, python-format -msgid "" -"Unable to import volume %(deviceId)s to cinder. The external volume is " -"not in the pool managed by current cinder host." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4145 -#, python-format -msgid "Cannot find Volume: %(id)s. unmanage operation. Exiting..." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4208 -#, python-format -msgid "Failed to update consistency group: %(cgName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4264 -#, python-format -msgid "No source snapshots provided to create consistency group %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4277 -#, python-format -msgid "Cannot find replication service on system %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4324 -#, python-format -msgid "Cannot find source CG instance. consistencygroup_id: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_common.py:4356 -#, python-format -msgid "Failed to create CG %(cgName)s from snapshot %(cgSnapshot)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:324 -#, python-format -msgid "" -"Error associating storage group : %(storageGroupName)s. To fast Policy: " -"%(fastPolicyName)s with error description: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_fast.py:621 -msgid "FAST is not supported on this array." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:156 -#, python-format -msgid "" -"Host %(host)s does not match x509 certificate contents: CommonName " -"%(commonName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:162 -#, python-format -msgid "%(message)s, subjectAltName: %(sanList)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:170 -#, python-format -msgid "SSL Certificate expired on %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:197 -#, python-format -msgid "Unable to load cert from %(cert)s %(e)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:206 -#, python-format -msgid "No key file specified and unable to load key from %(cert)s %(e)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:216 -#, python-format -msgid "Unable to load key from %(cert)s %(e)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:225 -#, python-format -msgid "Unable to load CA from %(cert)s %(e)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:333 -#, python-format -msgid "Bad Status line returned: %(arg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:337 -#, python-format -msgid "SSL error: %(arg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_https.py:341 -#, python-format -msgid "Socket error: %(arg)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:211 -#, python-format -msgid "Unsuccessful iscsiadm. Exception is %(ex)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:215 -msgid "iscsiadm execution failed. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:247 -#, python-format -msgid "Could not find iSCSI export for volume %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_iscsi.py:258 -#, python-format -msgid "Cannot find device number for volume %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:169 -#, python-format -msgid "" -"Failed to get, create or add volume %(volumeName)s to masking view " -"%(maskingViewName)s. The error message received was %(errorMessage)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:356 -#, python-format -msgid "" -"Cannot get or create a storage group: %(sgGroupName)s for volume " -"%(volumeName)s " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:384 -#, python-format -msgid "" -"Cannot get storage group: %(sgGroupName)s from masking view " -"%(maskingViewInstanceName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:407 -#, python-format -msgid "Cannot get port group: %(pgGroupName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:435 -#, python-format -msgid "Cannot get or create initiator group: %(igGroupName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:466 -#, python-format -msgid "" -"Unable to verify initiator group: %(igGroupName)s in masking view " -"%(maskingViewName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:498 -#, python-format -msgid "Cannot create masking view: %(maskingViewName)s. " -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:556 -#, python-format -msgid "Volume: %(volumeName)s was not added to storage group %(sgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:588 -#, python-format -msgid "Cannot get the default storage group for FAST policy: %(fastPolicyName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:601 -#, python-format -msgid "Failed to remove volume %(volumeName)s from default SG." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:649 -#, python-format -msgid "Failed to remove volume %(volumeName)s from default SG: %(volumeName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:872 -#, python-format -msgid "Failed to create hardware id(s) on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:910 -msgid "FC is the protocol but wwpns are not supplied by OpenStack." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:916 -#, python-format -msgid "Error finding %(name)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1065 -#, python-format -msgid "" -"Error Create Masking View: %(groupName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1172 -#, python-format -msgid "Cannot create or find an storage group with name %(sgGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1282 -msgid "V3 rollback" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1341 -#, python-format -msgid "" -"Rollback for Volume: %(volumeName)s has failed. Please contact your " -"system administrator to manually return your volume to the default " -"storage group for fast policy %(fastPolicyName)s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1509 -#: cinder/volume/drivers/emc/emc_vmax_provision.py:171 -#: cinder/volume/drivers/emc/emc_vmax_provision.py:212 -#, python-format -msgid "" -"Error Create Group: %(groupName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1534 -#, python-format -msgid "" -"Error adding initiator to group : %(groupName)s. Return code: %(rc)lu. " -"Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:1594 -#, python-format -msgid "" -"Error Modifying masking view : %(groupName)s. Return code: %(rc)lu. " -"Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2116 -#, python-format -msgid "Masking view %(maskingViewName)s was not deleted successfully" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2184 -#, python-format -msgid "Failed to create storage group %(storageGroupName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2424 -#, python-format -msgid "Storage group %(storageGroupName)s was not deleted successfully" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2458 -#, python-format -msgid "" -"Error Deleting Group: %(storageGroupName)s. Return code: %(rc)lu. Error: " -"%(error)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_masking.py:2490 -#, python-format -msgid "" -"Error Deleting Initiator Group: %(initiatorGroupName)s. Return code: " -"%(rc)lu. Error: %(error)s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:77 -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:78 -#, python-format -msgid "" -"Error Delete Volume: %(volumeName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:127 -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:131 -#, python-format -msgid "" -"Error Create Volume: %(volumeName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:293 -#, python-format -msgid "Error removing volume %(vol)s. %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:331 -#, python-format -msgid "Error mapping volume %(vol)s. %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:369 -#, python-format -msgid "Error unbinding volume %(vol)s from pool. %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:411 -#, python-format -msgid "Error adding volume to composite volume. Error is: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:478 -#, python-format -msgid "" -"Error Create Volume: %(volumename)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:530 -#, python-format -msgid "" -"Error Creating new composite Volume Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:572 -#, python-format -msgid "" -"Error Migrating volume from one pool to another. Return code: %(rc)lu. " -"Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:618 -msgid "Failed to terminate migrate session." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:629 -msgid "Failed to migrate volume for the second time." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:636 -msgid "Failed to migrate volume for the first time." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:663 -#, python-format -msgid "" -"Error Terminating migrate session. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:733 -#, python-format -msgid "" -"Error Create Cloned Volume: Volume: %(cloneName)s Source " -"Volume:%(sourceName)s. Return code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:789 -#, python-format -msgid "" -"Error break clone relationship: Sync Name: %(syncName)s Return code: " -"%(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:830 -#, python-format -msgid "" -"Failed to create consistency group: %(consistencyGroupName)s Return " -"code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:875 -#, python-format -msgid "" -"Failed to delete consistency group: %(consistencyGroupName)s Return code:" -" %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:927 -#, python-format -msgid "" -"Failed to add volume %(volumeName)s to consistency group %(cgName)s. " -"Return code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:979 -#, python-format -msgid "" -"Failed to remove volume %(volumeName)s from consistency group %(cgName)s." -" Return code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision.py:1037 -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:651 -#, python-format -msgid "" -"Error CreateGroupReplica: source: %(source)s target: %(target)s. Return " -"code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:178 -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:196 -msgid "Unable to get storage volume from job." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:266 -#, python-format -msgid "" -"Error Create Cloned Volume: %(cloneName)s Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:440 -#, python-format -msgid "" -"The array does not support the storage pool setting for SLO %(slo)s and " -"workload %(workload)s. Please check the array for valid SLOs and " -"workloads." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:476 -#, python-format -msgid "" -"Cannot get supported size range for %(sps)s Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:596 -#, python-format -msgid "" -"Error modify replica synchronization: %(sv)s operation: %(operation)s. " -"Return code: %(rc)lu. Error: %(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_provision_v3.py:786 -#, python-format -msgid "" -"Error Extend Volume: %(volumeName)s. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:98 -#, python-format -msgid "Storage Configuration Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:129 -#, python-format -msgid "Controller Configuration Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:158 -#, python-format -msgid "Element Composition Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:187 -#, python-format -msgid "Storage Relocation Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:215 -#, python-format -msgid "Storage HardwareId mgmt Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:242 -#, python-format -msgid "Replication Service not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:271 -#, python-format -msgid "Tier Policy Service not found for %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:336 -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2102 -msgid "Issue encountered waiting for job." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:419 -msgid "Issue encountered waiting for synchronization." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1458 -#, python-format -msgid "StorageSystem %(array)s is not found." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1639 -#, python-format -msgid "Cannot verify the existence of object:%(instanceName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1666 -#, python-format -msgid "Replication Service Capability not found on %(storageSystemName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:1780 -msgid "" -"EcomServerIp, EcomServerPort, EcomUserName, EcomPassword must have valid " -"values." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2025 -msgid "No Port Group elements found in config file." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2076 -msgid "" -"Multiple SerialNumbers found, when only one was expected for this " -"operation. Please change your EMC config file." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2101 -#, python-format -msgid "SerialNumber must be in the file %(fileName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2114 -#, python-format -msgid "PoolName must be in the file %(fileName)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2151 -#, python-format -msgid "Volume %(deviceID)s not found." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2220 -msgid "Source volume device ID is required." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vmax_utils.py:2502 -#, python-format -msgid "" -"Error getting ReplicationSettingData. Return code: %(rc)lu. Error: " -"%(error)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:217 -msgid "Option map (cls._map) is not defined." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:221 -msgid "{} is not a valid option." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:337 -msgid "Initial tier: {}, policy: {} is not valid." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:375 -msgid "LUN number ({}) is not an integer." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:380 -msgid "LUN id({}) is not valid." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:452 -msgid "Input type {} is not supported." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:507 -msgid "'{}' object has no attribute '{}'" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:697 -#, python-format -msgid "naviseccli_path: Could not find NAVISECCLI tool %(path)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:711 -msgid "san_ip: Mandatory field configuration. san_ip is not set." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:726 -#, python-format -msgid "Invalid VNX authentication type: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:830 -#, python-format -msgid "Volume %(name)s was created in VNX, but in %(state)s state." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:920 -#, python-format -msgid "CommandLineHelper._wait_for_a_condition: %s timeout" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1161 -msgid "Failed to create snapshot as no LUN ID is specified" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:1349 -#, python-format -msgid "Migration of LUN %s has been stopped or faulted." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2181 -msgid "MirrorView/S enabler is not installed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2220 -#, python-format -msgid "" -"All the specified storage pools to be managed do not exist. Please check " -"your configuration. Non-existent pools: %s" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2269 -#, python-format -msgid "Invalid %(protocol)s ports %(port)s specified for io_port_list." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2430 -#, python-format -msgid "The extra_spec: %s is invalid." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2467 -msgid "deduplicated and auto tiering can't be both enabled." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2471 -msgid "Compression Enabler is not installed. Can not create compressed volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2477 -msgid "Deduplication Enabler is not installed. Can not create deduplicated volume" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2483 -msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2488 -msgid "FAST VP Enabler is not installed. Can't set tiering policy for the volume" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:2949 -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3027 -msgid "Unable to enable replication and snapcopy at the same time." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3153 -#, python-format -msgid "" -"Failed to create consistency group %s because VNX consistency group " -"cannot accept compressed LUNs as members." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3345 -#, python-format -msgid "Host %s has no iSCSI initiator" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3356 -#, python-format -msgid "Host %s has no FC initiators" -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3643 -#, python-format -msgid "" -"Reach limitation set by configuration option max_luns_per_storage_group. " -"Operation to add %(vol)s into Storage Group %(sg)s is rejected." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3659 -#, python-format -msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3853 -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3951 -msgid "Reference must contain source-id or source-name key." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3858 -#, python-format -msgid "" -"The imported lun %(lun_id)s is in pool %(lun_pool)s which is not managed " -"by the host %(host)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3910 -msgid "" -"Driver is not able to do retype because the volume (LUN {}) has snapshot " -"which is forbidden to migrate." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:3920 -msgid "Storage-assisted migration failed during manage volume." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4002 -#, python-format -msgid "Invalid secondary_backend_id specified. Valid backend id is %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4144 -#, python-format -msgid "replication_device should be configured on backend: %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4155 -#, python-format -msgid "replication_device with backend_id [%s] is missing." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4220 -msgid "" -"create_consistencygroup_from_src supports a cgsnapshot source or a " -"consistency group source. Multiple sources cannot be used." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4373 -#, python-format -msgid "Failed to find storage pool for source volume %s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4380 -#, python-format -msgid "" -"The source volume %s is not in the pool which is managed by the current " -"host." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4531 -#, python-format -msgid "Migrate volume failed between source vol %(src)s and dest vol %(dst)s." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4639 -#, python-format -msgid "Migrate volume %(src)s failed." -msgstr "" - -#: cinder/volume/drivers/emc/emc_vnx_cli.py:4666 -#, python-format -msgid "Invalid synchronize mode specified, allowed mode is %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:174 -msgid "Cannot specify both protection domain name and protection domain id." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:179 -msgid "REST server IP must by specified." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:183 -msgid "REST server username must by specified." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:187 -msgid "REST server password must by specified." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:195 -msgid "Path to REST server's certificate must be specified." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:199 -msgid "Cannot specify both storage pool name and storage pool id." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:204 -msgid "Must specify storage pool name or id." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:208 -msgid "Must specify storage pools. Option: sio_storage_pools." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:310 -msgid "Must specify protection domain name or protection domain id." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:334 -#: cinder/volume/drivers/emc/scaleio.py:761 -#, python-format -msgid "Domain with name %s wasn't found." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:339 -#, python-format -msgid "Error getting domain id from name %(name)s: %(id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:366 -#, python-format -msgid "Pool with name %(pool_name)s wasn't found in domain %(domain_id)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:373 -#, python-format -msgid "Error getting pool id from name %(pool_name)s: %(err_msg)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:412 -#, python-format -msgid "Error creating volume: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:426 -#, python-format -msgid "Cannot create volume of size %s: not multiple of 8GB." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:450 -#, python-format -msgid "Failed creating snapshot for volume %(volname)s: %(response)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:576 -#, python-format -msgid "Error extending volume %(vol)s: %(err)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:667 -#, python-format -msgid "Error deleting volume %(vol)s: %(err)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:766 -#, python-format -msgid "Error getting domain id from name %(name)s: %(err)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:792 -#, python-format -msgid "Pool with name %(pool)s wasn't found in domain %(domain)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:799 -#, python-format -msgid "Error getting pool id from name %(pool)s: %(err)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1015 -#, python-format -msgid "Error renaming volume %(vol)s: %(err)s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1035 -msgid "" -"manage_existing cannot manage a volume connected to hosts. Please " -"disconnect this volume from existing hosts before importing" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1069 -msgid "Reference must contain source-id." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1075 -msgid "Volume must have a volume type" -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1091 -#, python-format -msgid "Error managing volume: %s." -msgstr "" - -#: cinder/volume/drivers/emc/scaleio.py:1143 -#: cinder/volume/drivers/emc/scaleio.py:1198 -#, python-format -msgid "Failed creating snapshot for group: %(response)s." -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:112 -msgid "can't handle both name and index in req" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:139 -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:251 -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:323 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:127 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:248 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:237 -#, python-format -msgid "Exception: %s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:163 -msgid "Volume by this name already exists" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:175 -#, python-format -msgid "Bad response from XMS, %s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:219 -#, python-format -msgid "can't find lun-map, ig:%(ig)s vol:%(vol)s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:261 -#, python-format -msgid "iscsi portal, %s, not found" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:387 -#: cinder/volume/drivers/emc/xtremio.py:808 -msgid "XtremIO not initialized correctly, no clusters found" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:392 -#, python-format -msgid "Invalid XtremIO version %(cur)s, version %(min)s or up is required" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:555 -msgid "can't find the volume to extend" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:656 -msgid "" -"create_consistencygroup_from_src only supports a cgsnapshot source or a " -"consistency group source. Multiple sources cannot be used." -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:758 -#, python-format -msgid "Failed to create IG, %s" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:878 -msgid "XtremIO not configured correctly, no iscsi portals found" -msgstr "" - -#: cinder/volume/drivers/emc/xtremio.py:926 -msgid "Failed to get targets" -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:193 -#, python-format -msgid "" -"create_volume, volume: %(volume)s, volumename: %(volumename)s, " -"eternus_pool: %(eternus_pool)s, Storage Configuration Service not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:233 -#, python-format -msgid "" -"create_volume, volumename: %(volumename)s, poolname: %(eternus_pool)s, " -"Return code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:252 -#, python-format -msgid "" -"create_volume, volume: %(volume)s, EnumerateInstances, cannot connect to " -"ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:308 -msgid "create_volume_from_snapshot, Source Volume does not exist in ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:322 -#, python-format -msgid "" -"create_volume_from_snapshot, target volume instancename: " -"%(volume_instancename)s, Get Instance Failed." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:345 -msgid "create_cloned_volume, Source Volume does not exist in ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:358 -#, python-format -msgid "" -"create_cloned_volume, target volume instancename: " -"%(volume_instancename)s, Get Instance Failed." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:386 -msgid "_create_local_cloned_volume, Replication Service not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:400 -#, python-format -msgid "" -"_create_local_cloned_volume, volumename: %(volumename)s, " -"sourcevolumename: %(sourcevolumename)s, source volume instance: " -"%(source_volume)s, target volume instance: %(target_volume)s, Return " -"code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:507 -#, python-format -msgid "" -"_delete_volume, volumename: %(volumename)s, Storage Configuration Service" -" not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:526 -#, python-format -msgid "" -"_delete_volume, volumename: %(volumename)s, Return code: %(rc)lu, Error: " -"%(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:562 -#, python-format -msgid "" -"create_snapshot, volumename: %(s_volumename)s, source volume not found on" -" ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:570 -#, python-format -msgid "" -"create_snapshot, volumename: %(volumename)s, Replication Service not " -"found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:582 -#, python-format -msgid "create_snapshot, eternus_pool: %(eternus_pool)s, pool not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:612 -#, python-format -msgid "" -"create_snapshot, snapshotname: %(snapshotname)s, source volume name: " -"%(volumename)s, vol_instance.path: %(vol_instance)s, dest volume name: " -"%(d_volumename)s, pool: %(pool)s, Return code: %(rc)lu, Error: " -"%(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:678 -#, python-format -msgid "initialize_connection, volume: %(volume)s, Volume not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:779 -#, python-format -msgid "extend_volume, volumename: %(volumename)s, volume not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:798 -#, python-format -msgid "extend_volume, eternus_pool: %(eternus_pool)s, pool not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:813 -#, python-format -msgid "" -"extend_volume, volume: %(volume)s, volumename: %(volumename)s, " -"eternus_pool: %(eternus_pool)s, Storage Configuration Service not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:849 -#, python-format -msgid "" -"extend_volume, volumename: %(volumename)s, Return code: %(rc)lu, Error: " -"%(errordesc)s, PoolType: %(pooltype)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:952 -#, python-format -msgid "" -"_get_mapdata_fc, getting host-affinity from aglist/vol_instance failed, " -"affinitygroup: %(ag)s, ReferenceNames, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:972 -#, python-format -msgid "" -"_get_mapdata_fc, getting host-affinity instance failed, volmap: " -"%(volmap)s, GetInstance, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1002 -#, python-format -msgid "" -"_get_mapdata_iscsi, vol_instance: %(vol_instance)s, ReferenceNames: " -"CIM_ProtocolControllerForUnit, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1023 -msgid "" -"_get_mapdata_iscsi, Associators: FUJITSU_SAPAvailableForElement, cannot " -"connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1041 -#, python-format -msgid "" -"_get_mapdata_iscsi, affinitygroup: %(ag)s, ReferenceNames, cannot connect" -" to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1063 -#, python-format -msgid "" -"_get_mapdata_iscsi, volmap: %(volmap)s, GetInstance, cannot connect to " -"ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1111 -#, python-format -msgid "" -"_get_drvcfg, filename: %(filename)s, tagname: %(tagname)s, data is None!!" -" Please edit driver configuration file and correct." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1137 -#, python-format -msgid "" -"_get_eternus_connection, filename: %(filename)s, ip: %(ip)s, port: " -"%(port)s, user: %(user)s, passwd: ****, url: %(url)s, FAILED!!." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1161 -msgid "_create_volume_name, id_code is None." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1189 -#, python-format -msgid "" -"_find_pool, eternus_pool:%(eternus_pool)s, EnumerateInstances, cannot " -"connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1228 -#, python-format -msgid "" -"_find_eternus_service, classname: %(classname)s, EnumerateInstanceNames, " -"cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1262 -#, python-format -msgid "" -"_exec_eternus_service, classname: %(classname)s, InvokeMethod, cannot " -"connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1427 -#, python-format -msgid "" -"_find_lun, volumename: %(volumename)s, EnumerateInstanceNames, cannot " -"connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1470 -#, python-format -msgid "" -"_find_copysession, ReferenceNames, vol_instance: %(vol_instance_path)s, " -"Cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1509 -#, python-format -msgid "" -"_wait_for_copy_complete, cpsession: %(cpsession)s, copysession state is " -"BROKEN." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1538 -#, python-format -msgid "" -"_delete_copysession, copy session type is undefined! copy session: " -"%(cpsession)s, copy type: %(copytype)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1549 -msgid "_delete_copysession, Cannot find Replication Service" -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1579 -#, python-format -msgid "" -"_delete_copysession, copysession: %(cpsession)s, operation: " -"%(operation)s, Return code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1606 -msgid "_get_target_port, EnumerateInstances, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1638 -#, python-format -msgid "_get_target_port, protcol: %(protocol)s, target_port not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1665 -#, python-format -msgid "" -"_map_lun, vol_instance.path:%(vol)s, volumename: %(volumename)s, " -"volume_uid: %(uid)s, initiator: %(initiator)s, target: %(tgt)s, aglist: " -"%(aglist)s, Storage Configuration Service not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1780 -#, python-format -msgid "_find_initiator_names, connector: %(connector)s, initiator not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1805 -#, python-format -msgid "" -"_find_affinity_group, connector: %(connector)s, EnumerateInstanceNames, " -"cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1822 -#, python-format -msgid "" -"_find_affinity_group,connector: %(connector)s,AssocNames: " -"FUJITSU_ProtocolControllerForUnit, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1843 -#, python-format -msgid "" -"_find_affinity_group, connector: %(connector)s, Associators: " -"FUJITSU_AuthorizedTarget, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1903 -#, python-format -msgid "" -"_unmap_lun,vol_instance.path: %(volume)s, AssociatorNames: " -"CIM_ProtocolControllerForUnit, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1919 -#, python-format -msgid "" -"_unmap_lun, vol_instance.path: %(volume)s, volumename: %(volumename)s, " -"volume_uid: %(uid)s, aglist: %(aglist)s, Controller Configuration Service" -" not found." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1960 -#, python-format -msgid "" -"_unmap_lun, volumename: %(volumename)s, volume_uid: %(volume_uid)s, " -"AffinityGroup: %(ag)s, Return code: %(rc)lu, Error: %(errordesc)s." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:1992 -#, python-format -msgid "" -"_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, " -"EnumerateInstanceNames, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2011 -#, python-format -msgid "" -"_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, GetInstance, cannot " -"connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2030 -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2046 -#, python-format -msgid "" -"_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, AssociatorNames: " -"CIM_BindsTo, cannot connect to ETERNUS." -msgstr "" - -#: cinder/volume/drivers/fujitsu/eternus_dx_common.py:2067 -#, python-format -msgid "" -"_get_eternus_iscsi_properties, iscsiip list: %(iscsiip_list)s, iqn not " -"found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:58 -#, python-format -msgid "The parameter of the storage backend. (config_group: %(config_group)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:60 -#, python-format -msgid "The storage backend can be used. (config_group: %(config_group)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:61 -#, python-format -msgid "The volume %(volume_id)s is managed successfully. (LDEV: %(ldev)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:62 -#, python-format -msgid "The volume %(volume_id)s is unmanaged successfully. (LDEV: %(ldev)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:67 -#, python-format -msgid "A LUN (HLUN) was not found. (LDEV: %(ldev)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:68 -#, python-format -msgid "" -"Failed to specify a logical device for the volume %(volume_id)s to be " -"unmapped." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:70 -#, python-format -msgid "An iSCSI CHAP user could not be deleted. (username: %(user)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:71 -#, python-format -msgid "" -"Failed to specify a logical device to be deleted. (method: %(method)s, " -"id: %(id)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:73 -#, python-format -msgid "The logical device for specified %(type)s %(id)s was already deleted." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:75 -#, python-format -msgid "" -"A host group could not be deleted. (port: %(port)s, gid: %(gid)s, name: " -"%(name)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:77 -#, python-format -msgid "" -"An iSCSI target could not be deleted. (port: %(port)s, tno: %(tno)s, " -"alias: %(alias)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:79 -#, python-format -msgid "A host group could not be added. (port: %(port)s, name: %(name)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:81 -#, python-format -msgid "" -"An iSCSI target could not be added. (port: %(port)s, alias: %(alias)s, " -"reason: %(reason)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:83 -#, python-format -msgid "Failed to unmap a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:85 -#, python-format -msgid "" -"A free LUN (HLUN) was not found. Add a different host group. (LDEV: " -"%(ldev)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:87 -#, python-format -msgid "" -"Failed to get a storage resource. The system will attempt to get the " -"storage resource again. (resource: %(resource)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:89 -#, python-format -msgid "Failed to delete a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:91 -#, python-format -msgid "" -"Failed to map a logical device. (LDEV: %(ldev)s, LUN: %(lun)s, port: " -"%(port)s, id: %(id)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:93 -#, python-format -msgid "" -"Failed to perform a zero-page reclamation. (LDEV: %(ldev)s, reason: " -"%(reason)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:95 -#, python-format -msgid "" -"Failed to assign the iSCSI initiator IQN. (port: %(port)s, reason: " -"%(reason)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:100 -#, python-format -msgid "" -"The command %(cmd)s failed. (ret: %(ret)s, stdout: %(out)s, stderr: " -"%(err)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:102 -#, python-format -msgid "A parameter is invalid. (%(param)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:103 -#, python-format -msgid "A parameter value is invalid. (%(meta)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:104 -#, python-format -msgid "" -"Failed to acquire a resource lock. (serial: %(serial)s, inst: %(inst)s, " -"ret: %(ret)s, stderr: %(err)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:106 -msgid "Cannot set both hitachi_serial_number and hitachi_unit_name." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:107 -msgid "Either hitachi_serial_number or hitachi_unit_name is required." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:108 -#, python-format -msgid "" -"A pair could not be created. The maximum number of pair is exceeded. " -"(copy method: %(copy_method)s, P-VOL: %(pvol)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:110 -#, python-format -msgid "A pair cannot be deleted. (P-VOL: %(pvol)s, S-VOL: %(svol)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:111 -#, python-format -msgid "" -"The specified operation is not supported. The volume size must be the " -"same as the source %(type)s. (volume: %(volume_id)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:113 -#, python-format -msgid "" -"The volume %(volume_id)s could not be extended. The volume type must be " -"Normal." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:115 -#, python-format -msgid "The volume %(volume_id)s to be mapped was not found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:116 -#, python-format -msgid "The %(type)s %(id)s source to be replicated was not found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:117 -#, python-format -msgid "Failed to create a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:119 -#, python-format -msgid "Failed to open a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:121 -#, python-format -msgid "%(file)s: Permission denied." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:122 -msgid "Failed to add the logical device." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:123 -#, python-format -msgid "The method %(method)s is timed out. (timeout value: %(timeout)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:124 -#, python-format -msgid "A pool could not be found. (pool id: %(pool_id)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:125 -msgid "The host group or iSCSI target could not be added." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:126 -#, python-format -msgid "An iSCSI CHAP user could not be added. (username: %(user)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:127 -#, python-format -msgid "The iSCSI CHAP user %(user)s does not exist." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:128 -#, python-format -msgid "There are no resources available for use. (resource: %(resource)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:130 -msgid "The host group or iSCSI target was not found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:131 -#, python-format -msgid "The resource %(resource)s was not found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:132 -msgid "The IP Address was not found." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:133 -#, python-format -msgid "The creation of a logical device could not be completed. (LDEV: %(ldev)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:135 -#, python-format -msgid "A volume status is invalid. (status: %(status)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:136 -#, python-format -msgid "A snapshot status is invalid. (status: %(status)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:137 -#, python-format -msgid "A host group is invalid. (host group: %(gid)s)" -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:138 -#, python-format -msgid "The specified %(desc)s is busy." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:139 -#, python-format -msgid "" -"There is no designation of the %(param)s. The specified storage is " -"essential to manage the volume." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:141 -msgid "" -"There is no designation of the ldev. The specified ldev is essential to " -"manage the volume." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:143 -#, python-format -msgid "" -"The specified ldev %(ldev)s could not be managed. The volume type must be" -" DP-VOL." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:145 -#, python-format -msgid "" -"The specified ldev %(ldev)s could not be managed. The ldev size must be " -"in multiples of gigabyte." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:147 -#, python-format -msgid "" -"The specified ldev %(ldev)s could not be managed. The ldev must not be " -"mapping." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:149 -#, python-format -msgid "" -"The specified ldev %(ldev)s could not be managed. The ldev must not be " -"paired." -msgstr "" - -#: cinder/volume/drivers/hitachi/hbsd_basiclib.py:151 -#, python-format -msgid "" -"The volume %(volume_id)s could not be unmanaged. The volume type must be " -"%(volume_type)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:69 -#: cinder/volume/drivers/hitachi/hnas_backend.py:115 -msgid "Failed to establish SSC connection." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_backend.py:73 -msgid "HNAS has disconnected SSC" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:108 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:92 -#, python-format -msgid "Can't open config file: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:114 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:98 -#, python-format -msgid "Error parsing config file: %s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:687 -#, python-format -msgid "Error attaching volume %s. Target limit might be reached!" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:863 -msgid "" -"Failed to manage existing volume because the pool of the volume type " -"chosen does not match the file system passed in the volume reference." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:872 -#: cinder/volume/drivers/hitachi/hnas_nfs.py:730 -msgid "" -"Failed to manage existing volume because the pool of the volume type " -"chosen does not match the pool of the host." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:895 -msgid "" -"The reference to the volume in the backend should have the format " -"file_system/volume_name (volume_name cannot contain '/')" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_iscsi.py:942 -msgid "" -"Volume not found on configured storage backend. If your volume name " -"contains \"/\", please rename it and try to manage again." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:272 -#, python-format -msgid "" -"Cannot create volume of size %(vol_size)s from snapshot of size " -"%(snap_size)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:405 -#, python-format -msgid "" -"Cannot create clone of size %(vol_size)s from volume of size " -"%(src_vol_size)s" -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:660 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:888 -msgid "Volume not found on configured storage backend." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:698 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:928 -#, python-format -msgid "" -"Failed to manage existing volume %(name)s, because rename operation " -"failed: Error msg: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:721 -msgid "" -"Failed to manage existing volume because the pool of the volume type " -"chosen does not match the NFS share passed in the volume reference." -msgstr "" - -#: cinder/volume/drivers/hitachi/hnas_nfs.py:758 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:964 -#, python-format -msgid "" -"Failed to manage existing volume %(name)s, because of error in getting " -"volume size." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:306 -#, python-format -msgid "%s is not set" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:313 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:355 -#, python-format -msgid "%s is not set and is required for the replication device to be valid." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:324 -#, python-format -msgid "" -"Invalid hpe3parclient version found (%(found)s). Version %(minimum)s or " -"greater required. Run \"pip install --upgrade python-3parclient\" to " -"upgrade the hpe3parclient." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:341 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:370 -#, python-format -msgid "Failed to Login to 3PAR (%(url)s) because %(err)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:396 -msgid "" -"You must install hpe3parclient before using 3PAR drivers. Run \"pip " -"install python-3parclient\" to install the hpe3parclient." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:476 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1289 -#, python-format -msgid "CPG (%s) doesn't exist on array" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:484 -#, python-format -msgid "Failed to get domain because CPG (%s) doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:648 -#, python-format -msgid "There was an error creating the cgsnapshot: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:709 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:895 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1093 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1280 -#, python-format -msgid "Virtual volume '%s' doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:742 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1108 -#, python-format -msgid "Volume type ID '%s' is invalid." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:811 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1180 -msgid "Managing of snapshots to failed-over volumes is not allowed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:822 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:922 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1207 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1313 -#, python-format -msgid "Snapshot '%s' doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:830 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1223 -#, python-format -msgid "The provided snapshot '%s' is not a snapshot of the provided volume." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:886 -msgid "Reference must be for an unmanaged virtual volume." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:913 -msgid "Reference must be for an unmanaged snapshot." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:950 -msgid "Unmanaging of snapshots from failed-over volumes is not allowed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:985 -msgid "Reference must contain source-name or source-id." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1565 -#, python-format -msgid "" -"Flash Cache Policy requires WSAPI version '%(fcache_version)s' version " -"'%(version)s' is installed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1599 -#, python-format -msgid "VV Set %s does not exist." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1642 -#, python-format -msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1733 -#, python-format -msgid "" -"Must specify a valid provisioning type %(valid)s, value '%(prov)s' is " -"invalid." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1749 -#, python-format -msgid "" -"Dedup is a valid provisioning type, but requires WSAPI version " -"'%(dedup_version)s' version '%(version)s' is installed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:1861 -#, python-format -msgid "Volume (%s) already exists on array" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2023 -#, python-format -msgid "" -"Copy volume task failed: create_cloned_volume id=%(id)s, " -"status=%(status)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2097 -msgid "" -"The volume is currently busy on the 3PAR and cannot be deleted at this " -"time. You can try again later." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2120 -msgid "Volume has a temporary snapshot that can't be deleted at this time." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2127 -msgid "Volume has children and cannot be deleted!" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2301 -#, python-format -msgid "Failure in update_volume_key_value_pair:%s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2469 -#, python-format -msgid "" -"Copy volume task failed: convert_to_base_volume: id=%(id)s, " -"status=%(status)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2493 -#, python-format -msgid "Volume (%s) already exists on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2625 -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2666 -#, python-format -msgid "" -"Tune volume task stopped before it was done: volume_name=%(volume_name)s," -" task-status=%(status)s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2689 -#, python-format -msgid "Cannot retype from HPE3PARDriver to %s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2695 -msgid "Cannot retype from one 3PAR array to another." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2701 -#, python-format -msgid "Invalid new snapCPG name for retype. new_snap_cpg='%s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2708 -msgid "Cannot retype to a CPG in a different domain." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2712 -msgid "Cannot retype to a snap CPG in a different domain." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2934 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1418 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2470 -msgid "A valid secondary target MUST be specified in order to failover." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:2990 -msgid "" -"The host is not ready to be failed back. Please resynchronize the volumes" -" and resume replication on the 3PAR backends." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3320 -msgid "" -"The replication mode was not configured correctly in the volume type " -"extra_specs. If replication:mode is periodic, replication:sync_period " -"must also be specified and be between 300 and 31622400 seconds." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3358 -#, python-format -msgid "There was an error creating the remote copy group: %s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3378 -#, python-format -msgid "There was an error adding the volume to the remote copy group: %s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3392 -#, python-format -msgid "There was an error setting the sync period for the remote copy group: %s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3402 -#, python-format -msgid "There was an error starting remote copy: %s." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3410 -#, python-format -msgid "" -"There was an error setting up a remote copy group on the 3PAR arrays: " -"('%s'). The volume will not be recognized as replication type." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_common.py:3472 -#, python-format -msgid "The failed-over volume could not be deleted: %s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_3par_fc.py:608 -#: cinder/volume/drivers/hpe/hpe_3par_iscsi.py:926 -#, python-format -msgid "Volume %s doesn't exist on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:180 -msgid "HPELeftHand url not found" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:260 -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:307 -msgid "LeftHand cluster not found" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:323 -#, python-format -msgid "" -"Invalid hpelefthandclient version found (%(found)s). Version %(minimum)s " -"or greater required. Run 'pip install --upgrade python-lefthandclient' to" -" upgrade the hpelefthandclient." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:361 -#, python-format -msgid "REST %(proxy_ver)s hpelefthandclient %(rest_ver)s" -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:458 -msgid "Creating a consistency group from a source is not currently supported." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1216 -#, python-format -msgid "Could not find the parent volume for Snapshot '%s' on array." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1237 -#, python-format -msgid "An error occured while attempting to modifySnapshot '%s'." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1269 -msgid "Reference must be the volume name of an unmanaged virtual volume." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1302 -msgid "Reference must be the name of an unmanaged snapshot." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1353 -msgid "Unmanaging of snapshots from 'failed-over' volumes is not allowed." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1393 -#, python-format -msgid "" -"Invalid HPELeftHand API version found: %(found)s. Version %(minimum)s or " -"greater required for manage/unmanage support." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1581 -msgid "" -"The host is not ready to be failed back. Please resynchronize the volumes" -" and resume replication on the LeftHand backends." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1755 -#, python-format -msgid "The replication sync period must be at least %s seconds." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1776 -#, python-format -msgid "The retention count must be %s or less." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1797 -#, python-format -msgid "The remote retention count must be %s or less." -msgstr "" - -#: cinder/volume/drivers/hpe/hpe_lefthand_iscsi.py:1868 -#, python-format -msgid "" -"There was an error setting up a remote schedule on the LeftHand arrays: " -"('%s'). The volume will not be recognized as replication type." -msgstr "" - -#: cinder/volume/drivers/huawei/fc_zone_helper.py:121 -msgid "No FC port connected to fabric." -msgstr "" - -#: cinder/volume/drivers/huawei/fc_zone_helper.py:124 -msgid "No initiator connected to fabric." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:93 -msgid "RestURL is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:104 -msgid "UserName is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:114 -msgid "UserPassword is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:124 -msgid "SAN product is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:134 -msgid "SAN protocol is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:152 -#, python-format -msgid "Invalid lun type %s is configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:193 -#, python-format -msgid "Invalid prefetch type '%s' is configured. PrefetchType must be in 0,1,2,3." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:220 -msgid "Storage pool is not configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_conf.py:228 -msgid "Invalid storage pool is configured." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:64 -msgid "Configuration is not found." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:98 -msgid "Get active client failed." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:298 -#, python-format -msgid "Create volume error. Because %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:342 -#: cinder/volume/drivers/huawei/huawei_driver.py:637 -msgid "Hypermetro and Replication can not be used in the same volume_type." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:433 -msgid "Lun migration error." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:438 -msgid "Cannot find migration task." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:647 -#, python-format -msgid "create_volume_from_snapshot: Snapshot %(name)s does not exist." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:731 -#: cinder/volume/drivers/huawei/huawei_driver.py:745 -#, python-format -msgid "Volume %s does not exist on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:758 -#, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:766 -#, python-format -msgid "Can't extend replication volume, volume: %(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:784 -#, python-format -msgid "" -"New size should be bigger than the real size from backend storage. " -"realsize: %(oldsize)s, newsize: %(newsize)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:805 -#, python-format -msgid "Can't get volume id from snapshot, snapshot: %(id)s" -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:988 -#, python-format -msgid "Can't find cache name on the array, cache name is: %(name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1000 -#, python-format -msgid "Can't find partition name on the array, partition name is: %(name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1140 -#, python-format -msgid "" -"An error occurred during the LUNcopy operation. LUNcopy name: " -"%(luncopyname)s. LUNcopy status: %(luncopystatus)s. LUNcopy state: " -"%(luncopystate)s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1166 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a LUN group." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1173 -#, python-format -msgid "Can't import LUN %s to Cinder. LUN status is not normal." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1187 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a HyperMetroPair." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1202 -msgid "Failed to get SplitMirror." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1209 -msgid "Failed to get target LUN of SplitMirror." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1213 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a SplitMirror." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1228 -msgid "Failed to get migration task." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1234 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a migration task." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1242 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a LUN copy task." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1250 -#, python-format -msgid "" -"Can't import LUN %s to Cinder. Already exists in a remote replication " -"task." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1257 -#, python-format -msgid "Can't import LUN %s to Cinder. Already exists in a LUN mirror." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1278 -#, python-format -msgid "The specified LUN does not belong to the given pool: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1295 -#, python-format -msgid "Can't import LUN %(lun_id)s to Cinder. LUN type mismatched." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1343 -msgid "Can't find LUN on the array, please check the source-name or source-id." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1378 -msgid "Volume size must be multiple of 1 GB." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1387 -#, python-format -msgid "" -"Can't import snapshot %s to Cinder. Snapshot status is not normal or " -"running status is not online." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1394 -#, python-format -msgid "Can't import snapshot %s to Cinder. Snapshot is exposed to initiator." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1404 -msgid "Must specify snapshot source-name or source-id." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1410 -msgid "Can't find snapshot on array, please check the source-name or source-id." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1424 -#, python-format -msgid "Can't import snapshot %s to Cinder. Snapshot doesn't belong to volume." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1453 -msgid "Snapshot size must be multiple of 1 GB." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1577 -#, python-format -msgid "Invalid secondary id %s." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1855 -msgid "No FC initiator can be added to host." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_driver.py:1938 -msgid "Can't find the same host id from arrays." -msgstr "" - -#: cinder/volume/drivers/huawei/huawei_utils.py:61 -#, python-format -msgid "wait_for_condition: %s timed out." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:43 -msgid "Remote pool cannot be found." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:70 -#, python-format -msgid "Create hypermetro error. %s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:127 -#, python-format -msgid "Can't get volume id. Volume name: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:153 -msgid "Can not add FC port to host." -msgstr "" - -#: cinder/volume/drivers/huawei/hypermetro.py:170 -msgid "Map info is None due to array version not supporting hypermetro." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:112 -#, python-format -msgid "Create replication pair failed. Error: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:202 -msgid "Split replication failed." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:240 -msgid "We should not do switch over on primary array." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:267 -#, python-format -msgid "Wait synchronize failed. Running status: %s." -msgstr "" - -#: cinder/volume/drivers/huawei/replication.py:480 -msgid "Get remote device info failed." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:137 -msgid "Failed to login with all rest URLs." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:180 -msgid "Logout session error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:184 -#, python-format -msgid "" -"%(err)s\n" -"result: %(res)s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:191 -#, python-format -msgid "%s \"data\" is not in result." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:203 -msgid "Create lun error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:228 -msgid "Delete lun error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:233 -msgid "Query resource pool error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:268 -#, python-format -msgid "Can not get pool info. pool: %s" -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:283 -msgid "Get lun id by name error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:291 -msgid "Activate snapshot error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:302 -msgid "Create snapshot error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:312 -#, python-format -msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:332 -msgid "Stop snapshot error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:338 -msgid "Delete snapshot error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:347 -msgid "Get snapshot id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:365 -msgid "Create luncopy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:390 -msgid "Find portgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:402 -msgid "Associate portgroup to mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:409 -msgid "Check portgroup associate error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:494 -msgid "Get iSCSI target port error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:504 -msgid "Get hostgroup information error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:512 -msgid "Get lungroup information error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:537 -#, python-format -msgid "Failed to create hostgroup: %(name)s. Check if it exists on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:558 -msgid "Create hostgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:572 -msgid "Create lungroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:581 -msgid "Delete lungroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:587 -#: cinder/volume/drivers/huawei/rest_client.py:699 -msgid "Check lungroup associate error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:597 -#: cinder/volume/drivers/huawei/rest_client.py:686 -msgid "Check hostgroup associate error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:607 -msgid "Find host lun id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:627 -msgid "Find host in hostgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:651 -#, python-format -msgid "Failed to create host: %(name)s. Please check if it exists on the array." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:675 -msgid "Add new host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:714 -msgid "Associate host to hostgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:724 -msgid "Associate lun to lungroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:733 -msgid "Delete associated lun from lungroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:740 -msgid "Check initiator added to array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:751 -msgid "Check initiator associated to host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:767 -msgid "Add initiator to array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:778 -msgid "Associate initiator to host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:816 -msgid "Invalid ALUA value. ALUA value must be 1 or 0." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:839 -msgid "" -"Use CHAP to associate initiator to host error. Please check the CHAP " -"username and password." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:851 -msgid "Use ALUA to associate initiator to host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:861 -msgid "Remove CHAP error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:868 -msgid "Find mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:877 -msgid "Add mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:888 -msgid "Associate host to mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:900 -msgid "Associate lungroup to mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:910 -msgid "Delete lungroup from mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:923 -msgid "Delete hostgroup from mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:935 -msgid "Delete portgroup from mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:941 -msgid "Delete mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:952 -msgid "Find lun number error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:962 -msgid "Find portgroup from mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:974 -msgid "Find lun group from mapping view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:989 -msgid "Start LUNcopy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1009 -msgid "Get LUNcopy information error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1026 -msgid "Delete LUNcopy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1051 -msgid "Get connected free FC wwn error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1070 -msgid "Add FC port to host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1077 -msgid "Get iSCSI port information error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1094 -msgid "" -"Get iSCSI port info error, please check the target IP configured in " -"huawei conf file." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1125 -msgid "Get FC target wwpn error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1167 -msgid "Get QoS policy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1189 -msgid "Update QoS policy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1197 -msgid "Get target IP error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1239 -#, python-format -msgid "" -"get_iscsi_params: Failed to get target IP for initiator %(ini)s, please " -"check config file." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1308 -msgid "Create QoS policy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1318 -msgid "Delete QoS policy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1332 -msgid "Activate or deactivate QoS error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1338 -#: cinder/volume/drivers/huawei/rest_client.py:1530 -msgid "Get QoS information error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1362 -msgid "Remove lun from QoS error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1374 -msgid "Change lun priority error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1385 -msgid "Change lun smarttier policy error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1391 -msgid "Get QoS id by lun id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1401 -msgid "Get lungroup id by lun id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1414 -msgid "Get volume error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1424 -msgid "Get snapshot error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1436 -msgid "Extend volume error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1451 -msgid "Create lun migration error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1458 -msgid "Get lun migration task error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1464 -msgid "Delete lun migration error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1471 -msgid "Get partition by name error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1480 -msgid "Get partition by partition id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1490 -msgid "Add lun to partition error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1497 -msgid "Remove lun from partition error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1502 -msgid "Get cache by name error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1513 -msgid "Get smartcache by cache id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1525 -msgid "Remove lun from cache error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1591 -msgid "Associate lun to QoS error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1603 -msgid "Add lun to cache error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1608 -msgid "Get array info error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1618 -msgid "Remove host from array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1623 -msgid "Delete hostgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1631 -msgid "Remove host from hostgroup error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1638 -msgid "Remove iscsi from host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1683 -msgid "Rename lun on array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1693 -msgid "Rename snapshot on array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1715 -msgid "Remove fc from host error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1720 -msgid "Get host initiators info failed." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1742 -msgid "Add fc initiator to array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1754 -msgid "Get FC ports from array error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1780 -msgid "get_hyper_domain_id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1788 -msgid "create_hypermetro_pair error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1797 -msgid "delete_hypermetro error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1807 -msgid "sync_hypermetro error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1817 -msgid "stop_hypermetro error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1824 -msgid "get_hypermetro_by_id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1842 -msgid "check_hypermetro_exist error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1872 -msgid "Change hostlun id error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1880 -msgid "Get HyperMetroPair error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1889 -#: cinder/volume/drivers/huawei/rest_client.py:1912 -msgid "License is unavailable." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1891 -msgid "Get SplitMirror error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1900 -msgid "Get target LUN of SplitMirror error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1914 -msgid "Get migration task error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1922 -msgid "Get volume by name error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1939 -msgid "Get port groups by port error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1951 -msgid "Get views by port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1962 -msgid "Get LUN group by view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1973 -msgid "Get port group by view error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1983 -msgid "Get FC ports by port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:1995 -msgid "Create port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2006 -msgid "Add port to port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2011 -msgid "Delete port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2018 -msgid "Remove port from port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2024 -msgid "Get engines error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2031 -msgid "Get port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2043 -msgid "Append port group description error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2052 -msgid "Get ports by port group error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2061 -msgid "Get remote devices error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2068 -msgid "Create replication error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2077 -msgid "Get pair failed." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2087 -msgid "Switch over pair error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2096 -msgid "Split pair error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2107 -msgid "delete_replication error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2116 -msgid "Sync pair error." -msgstr "" - -#: cinder/volume/drivers/huawei/rest_client.py:2130 -msgid "Set pair secondary access error." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:53 -#, python-format -msgid "QoS config is wrong. %s must > 0." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:58 -msgid "Illegal value specified for IOTYPE: 0, 1, or 2." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:67 -#, python-format -msgid "" -"QoS policy must specify for IOTYPE: 0, 1, or 2, QoS policy: " -"%(qos_policy)s " -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:74 -#, python-format -msgid "" -"QoS policy must specify for IOTYPE and another qos_specs, QoS policy: " -"%(qos_policy)s." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:83 -#, python-format -msgid "" -"QoS policy upper_limit and lower_limit conflict, QoS policy: " -"%(qos_policy)s." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:144 -#: cinder/volume/drivers/huawei/smartx.py:228 -msgid "Partition name is None, please set smartpartition:partitionname in key." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:151 -#, python-format -msgid "Can not find partition id by name %(name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:166 -#: cinder/volume/drivers/huawei/smartx.py:217 -msgid "Cache name is None, please set smartcache:cachename in key." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:172 -#, python-format -msgid "Can not find cache id by cache name %(name)s." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:193 -msgid "Illegal value specified for smarttier: set to either 0, 1, 2, or 3." -msgstr "" - -#: cinder/volume/drivers/huawei/smartx.py:204 -msgid "" -"Illegal value specified for thin: Can not set thin and thick at the same " -"time." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:98 -#, python-format -msgid "" -"CLI Exception output:\n" -" command: %(cmd)s\n" -" stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:119 -#, python-format -msgid "" -"%(fun)s: Failed with unexpected CLI output.\n" -" Command: %(cmd)s\n" -" stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:166 -msgid "" -"_create_host: Can not translate host name. Host name is not unicode or " -"string." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:250 -#, python-format -msgid "_create_and_copy_vdisk_data: Failed to get attributes for vdisk %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:287 -#, python-format -msgid "" -"_create_vdisk %(name)s - did not find success message in CLI output.\n" -" stdout: %(out)s\n" -" stderr: %(err)s" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:389 -#, python-format -msgid "" -"_get_hdr_dic: attribute headers and values do not match.\n" -" Headers: %(header)s\n" -" Values: %(row)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:454 -msgid "Could not get system name." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:464 -msgid "open_access_enabled is not off." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:473 -msgid "Unable to parse attributes." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:478 -#, python-format -msgid "Array does not exist or is offline. Current status of array is %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:590 -#, python-format -msgid "Did not find expected column in %(fun)s: %(hdr)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:690 -msgid "_create_host failed to return the host name." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:701 -msgid "" -"flashsystem_multihostmap_enabled is set to False, not allow multi host " -"mapping. CMMVC6071E The VDisk-to-host mapping was not created because the" -" VDisk is already mapped to a host." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:802 -msgid "_get_host_from_connector failed to return the host name for connector." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:870 -msgid "_update_volume_stats: Could not get storage pool data." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:930 -msgid "check_for_setup_error: Unable to determine system name." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:933 -msgid "check_for_setup_error: Unable to determine system id." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:945 -msgid "" -"check_for_setup_error: Password or SSH private key is required for " -"authentication: set either san_password or san_private_key option." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:995 -#, python-format -msgid "" -"create_snapshot: Volume status must be \"available\" or \"in-use\" for " -"snapshot. The invalid status is %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:1032 -msgid "" -"create_volume_from_snapshot: Volume size is different from snapshot based" -" volume." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:1039 -#, python-format -msgid "" -"create_volume_from_snapshot: Snapshot status must be \"available\" for " -"creating volume. The invalid status is: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_common.py:1060 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2407 -msgid "create_cloned_volume: Source and destination size differ." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:86 -#, python-format -msgid "" -"Illegal value '%(prot)s' specified for flashsystem_connection_protocol: " -"valid value(s) are %(enabled)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:113 -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:117 -msgid "_create_host: No connector ports." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:211 -#, python-format -msgid "" -"_get_vdisk_map_properties: No node found in I/O group %(gid)s for volume " -"%(vol)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:226 -msgid "" -"_get_vdisk_map_properties: Could not get FC connection information for " -"the host-volume connection. Is the host configured properly for FC " -"connections?" -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_fc.py:280 -#, python-format -msgid "initialize_connection: vdisk %s is not defined." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:84 -#, python-format -msgid "" -"'%(prot)s' is invalid for flashsystem_connection_protocol in config file." -" valid value(s) are %(enabled)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:94 -msgid "iscsi_ip_address must be set in config file when using protocol 'iSCSI'." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:180 -#, python-format -msgid "No node found in I/O group %(gid)s for volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:237 -#, python-format -msgid "vdisk %s is not defined." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:305 -msgid "No config node found." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:321 -#, python-format -msgid "State of node is wrong. Current state is %s." -msgstr "" - -#: cinder/volume/drivers/ibm/flashsystem_iscsi.py:332 -msgid "No ip address found." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:156 -#, python-format -msgid "GPFS is not running, state: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:200 -#, python-format -msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:221 -#, python-format -msgid "Invalid storage pool %s requested. Retype failed." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:336 -#, python-format -msgid "Could not find GPFS cluster id: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:344 -#, python-format -msgid "Could not find GPFS file system device: %s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:352 -#, python-format -msgid "Invalid storage pool %s specificed." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:373 -msgid "Option gpfs_mount_point_base is not set correctly." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:380 -msgid "Option gpfs_images_share_mode is not set correctly." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:386 -msgid "Option gpfs_images_dir is not set correctly." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:393 -#, python-format -msgid "" -"gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s " -"belong to different file systems." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:404 -#, python-format -msgid "" -"gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s " -"belong to different filesets." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:413 -#, python-format -msgid "" -"Downlevel GPFS Cluster Detected. GPFS Clone feature not enabled in " -"cluster daemon level %(cur)s - must be at least at level %(min)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:427 -#, python-format -msgid "%s must be an absolute path." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:432 -#, python-format -msgid "%s is not a directory." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:442 -#, python-format -msgid "" -"The GPFS filesystem %(fs)s is not at the required release level. Current" -" level is %(cur)s, must be at least %(min)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1092 -#, python-format -msgid "mkfs failed on volume %(vol)s, error message was: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1125 -#, python-format -msgid "" -"%s cannot be accessed. Verify that GPFS is active and file system is " -"mounted." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1140 -#, python-format -msgid "Failed to create consistency group: %(cgid)s. Error: %(excmsg)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1150 -#, python-format -msgid "Failed to link fileset for the share %(cgname)s. Error: %(excmsg)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1159 -#, python-format -msgid "" -"Failed to set permissions for the consistency group %(cgname)s. Error: " -"%(excmsg)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1183 -#, python-format -msgid "" -"Failed to unlink fileset for consistency group %(cgname)s. Error: " -"%(excmsg)s." -msgstr "" - -#: cinder/volume/drivers/ibm/gpfs.py:1192 -#, python-format -msgid "" -"Failed to delete fileset for consistency group %(cgname)s. Error: " -"%(excmsg)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:125 -#, python-format -msgid "Unable to create replica clone for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:136 -#, python-format -msgid "" -"Unable to promote replica to primary for volume %s. No secondary copy " -"available." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:163 -#, python-format -msgid "Primary copy status: %(status)s and synchronized: %(sync)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:192 -#, python-format -msgid "" -"Secondary copy status: %(status)s and synchronized: %(sync)s, sync " -"progress is: %(progress)s%%." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:248 -#, python-format -msgid "Unable to establish the partnership with the Storwize cluster %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:331 -#, python-format -msgid "Unable to set up mirror mode replication for %(vol)s. Exception: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:346 -#, python-format -msgid "Unable to create the relationship for %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:360 -#, python-format -msgid "Failed to get remote copy information for %(volume)s due to %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:371 -#, python-format -msgid "Unable to delete the target volume for volume %(vol)s. Exception: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:403 -#, python-format -msgid "Unable to access the Storwize back-end for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:409 -#, python-format -msgid "Unable to get the replication relationship for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/replication.py:422 -#, python-format -msgid "" -"Unable to fail-over the volume %(id)s to the secondary back-end, because " -"the replication relationship is unable to switch: %(error)s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:133 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:375 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:417 -#, python-format -msgid "" -"CLI Exception output:\n" -" command: %(cmd)s\n" -" stdout: %(out)s\n" -" stderr: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:151 -#, python-format -msgid "Expected no output from CLI command %(cmd)s, got %(out)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:163 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:429 -#, python-format -msgid "" -"Failed to parse CLI output:\n" -" command: %(cmd)s\n" -" stdout: %(out)s\n" -" stderr: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:247 -msgid "Must pass wwpn or host to lsfabric." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:269 -msgid "" -"CMMVC6071E The VDisk-to-host mapping was not created because the VDisk is" -" already mapped to a host.\n" -"\"" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:548 -#, python-format -msgid "Could not find key in output of command %(cmd)s: %(out)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:580 -#, python-format -msgid "Failed to get code level (%s)." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:602 -#, python-format -msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:691 -#, python-format -msgid "Failed to find host %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:764 -msgid "create_host: Host name is not unicode or string." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:775 -msgid "create_host: No initiators or wwpns supplied." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:913 -msgid "" -"Illegal value specified for storwize_svc_vol_grainsize: set to either 32," -" 64, 128, or 256." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:920 -msgid "System does not support compression." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:925 -msgid "If compression is set to True, rsize must also be set (not equal to -1)." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:931 -#, python-format -msgid "I/O group %(iogrp)d is not valid; available I/O groups are %(avail)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:938 -msgid "If nofmtdisk is set to True, rsize must also be set to -1." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1037 -#, python-format -msgid "CommandLineHelper._wait_for_condition: %s timeout." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1120 -msgid "Failed to find a vdisk copy in the expected pool." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1166 -#, python-format -msgid "" -"Unexecpted mapping status %(status)s for mapping %(id)s. Attributes: " -"%(attr)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1176 -#, python-format -msgid "" -"Mapping %(id)s prepare failed to complete within theallotted %(to)d " -"seconds timeout. Terminating." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1256 -#, python-format -msgid "" -"Unexpected mapping status %(status)s for mapping%(id)s. Attributes: " -"%(attr)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1346 -#, python-format -msgid "create_copy: Source vdisk %(src)s does not exist." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1410 -#, python-format -msgid "Vdisk %(name)s not involved in mapping %(src)s -> %(tgt)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1536 -#, python-format -msgid "create_copy: Source vdisk %(src)s (%(src_id)s) does not exist." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1566 -#, python-format -msgid "" -"add_vdisk_copy failed: A copy of volume %s exists. Adding another copy " -"would exceed the limit of 2 copies." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1573 -msgid "add_vdisk_copy started without a vdisk copy in the expected pool." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1677 -#, python-format -msgid "" -"Expected single vdisk returned from lsvdisk when filtering on vdisk_UID." -" %(count)s were returned." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1732 -#, python-format -msgid "Did not find the expected key %(key)s in %(fun)s: %(raw)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1768 -#, python-format -msgid "" -"Unexpected CLI response: header/row mismatch. header: %(header)s, row: " -"%(row)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1957 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:3159 -#, python-format -msgid "Failed getting details for pool %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1966 -msgid "Unable to determine system name." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1969 -msgid "Unable to determine system id." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1974 -msgid "do_setup: No configured nodes." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1982 -#, python-format -msgid "" -"The storage device does not support %(prot)s. Please configure the device" -" to support %(prot)s or switch to a driver using a different protocol." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:1997 -msgid "" -"Password or SSH private key is required for authentication: set either " -"san_password or san_private_key option." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2183 -msgid "create_snapshot: get source volume failed." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2197 -msgid "create_volume_from_snapshot: Source and destination size differ." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2230 -#, python-format -msgid "" -"create_cloned_volume: source volume %(src_vol)s size is %(src_size)dGB " -"and doesn't fit in target volume %(tgt_vol)s of size %(tgt_size)dGB." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2285 -msgid "_extend_volume_op: Extending a volume with snapshots is not supported." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2303 -#, python-format -msgid "Failed to get remote copy information for %(volume)s. Exception: %(err)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2534 -msgid "" -"The host is not ready to be failed back. Please resynchronize the volumes" -" and resume replication on the Storwize backends." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2558 -msgid "Issuing a fail-over failed because replication is not properly configured." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2566 -#, python-format -msgid "" -"Volume %s is not of replicated type. This volume needs to be of a volume " -"type with the extra spec replication_enabled set to ' True' to " -"support replication actions." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2574 -msgid "" -"The back-end where the volume is created does not have replication " -"enabled." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2778 -#, python-format -msgid "" -"Unable to retype: Current action needs volume-copy, it is not allowed " -"when new type is replication. Volume = %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2795 -#, python-format -msgid "" -"Unable to retype: A copy of volume %s exists. Retyping would exceed the " -"limit of 2 copies." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2868 -msgid "" -"Failed to manage existing volume due to the volume to be managed is not " -"in a valid I/O group." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2879 -msgid "" -"Failed to manage existing volume due to the volume to be managed is thin," -" but the volume type chosen is thick." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2885 -msgid "" -"Failed to manage existing volume due to the volume to be managed is " -"thick, but the volume type chosen is thin." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2892 -msgid "" -"Failed to manage existing volume due to the volume to be managed is not " -"compress, but the volume type chosen is compress." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2899 -msgid "" -"Failed to manage existing volume due to the volume to be managed is " -"compress, but the volume type chosen is not compress." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2905 -#, python-format -msgid "" -"Failed to manage existing volume due to I/O group mismatch. The I/O group" -" of the volume to be managed is %(vdisk_iogrp)s. I/O groupof the chosen " -"type is %(opt_iogrp)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2914 -#, python-format -msgid "" -"Failed to manage existing volume due to the pool of the volume to be " -"managed does not match the backend pool. Pool of the volume to be managed" -" is %(vdisk_pool)s. Pool of the backend is %(backend_pool)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:2945 -msgid "The specified vdisk is mapped to a host." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:3030 -msgid "" -"create_consistencygroup_from_src must be creating from a CG snapshot, or " -"a source CG." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:3087 -#, python-format -msgid "get_pool: Failed to get attributes for volume %s" -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:3177 -msgid "Reference must contain source-id or source-name element." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py:3183 -#, python-format -msgid "No vdisk with the UID specified by ref %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:131 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:137 -#, python-format -msgid "initialize_connection: Failed to get attributes for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:146 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:152 -#, python-format -msgid "initialize_connection: Missing volume attribute for volume %s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:160 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:168 -#, python-format -msgid "" -"initialize_connection: No node found in I/O group %(gid)s for volume " -"%(vol)s." -msgstr "" - -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py:247 -#: cinder/volume/drivers/ibm/storwize_svc/storwize_svc_iscsi.py:238 -msgid "terminate_connection: Failed to get host name from connector." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:86 -msgid "Failed to create partition." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:87 -msgid "Failed to delete partition." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:88 -msgid "Failed to set partition." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:91 -msgid "Failed to create map." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:95 -msgid "Failed to delete map." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:97 -msgid "Failed to create snapshot." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:98 -msgid "Failed to delete snapshot." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:99 -msgid "Failed to create replica." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:100 -msgid "Failed to delete replica." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:103 -msgid "Failed to create iqn." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:110 -msgid "Failed to delete iqn." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:112 -msgid "Failed to get lv info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:113 -msgid "Failed to get partition info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:114 -msgid "Failed to get snapshot info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:115 -msgid "Failed to get device info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:116 -msgid "Failed to get channel info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:117 -msgid "Failed to get map info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:118 -msgid "Failed to get network info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:119 -msgid "Failed to get license info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:120 -msgid "Failed to get replica info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:121 -msgid "Failed to get wwn info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:122 -msgid "Failed to get iqn info." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:123 -msgid "Failed to execute common command." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:190 -msgid "san_ip is not set." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:230 -msgid "Pools name is not set." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:438 -#, python-format -msgid "Please create %(tier_levels)s tier in pool %(pool)s in advance!" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:457 -#, python-format -msgid "Please create %(pool_list)s pool in advance!" -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:551 -#, python-format -msgid "Have not created %(tier_levels)s tier(s)." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:590 -msgid "Failed to create map on mcs, no channel can map." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:652 -#, python-format -msgid "Failed to get pool id with volume %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:676 -#, python-format -msgid "LUN number is out of bound on channel id: %(ch_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:720 -msgid "Raid did not have MCS Channel." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:787 -msgid "LUN map overflow on every channel." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:819 -#, python-format -msgid "Cannot get mcs_id by channel id: %(channel_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:877 -#, python-format -msgid "Failed to delete SI for volume_id: %(volume_id)s because it has pair." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:896 -#, python-format -msgid "Failed to delete volume for volume_id: %(volume_id)s because it has pair." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1095 -#, python-format -msgid "Failed to get Partition ID for volume %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1145 -#, python-format -msgid "Failed to delete snapshot for snapshot_id: %s because it has pair." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1151 -#, python-format -msgid "Failed to get Raid Snapshot ID from Snapshot %(snapshot_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1196 -#, python-format -msgid "Failed to get Raid Snapshot ID from snapshot: %(snapshot_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1268 -#, python-format -msgid "Unknown protocol: %(protocol)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1391 -#, python-format -msgid "Failed to get ip on Channel %(channel_id)s with volume: %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1508 -#, python-format -msgid "Could not find iSCSI target for volume: %(volume_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1661 -#, python-format -msgid "Failed to get new part id in new pool: %(pool_id)s." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1706 -msgid "Wait replica complete timeout." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1717 -#, python-format -msgid "The extraspec: %(extraspec)s is not valid." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1739 -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1760 -msgid "Specified logical volume does not exist." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1747 -msgid "The specified volume is mapped to a host." -msgstr "" - -#: cinder/volume/drivers/infortrend/eonstor_ds_cli/common_cli.py:1788 -msgid "Reference must contain source-id or source-name." -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:72 -msgid "Required configuration not found" -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:101 -#, python-format -msgid "Storage family %s is not supported." -msgstr "" - -#: cinder/volume/drivers/netapp/common.py:107 -#, python-format -msgid "" -"Protocol %(storage_protocol)s is not supported for storage family " -"%(storage_family)s." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:78 -#, python-format -msgid "Configuration value %s is not set." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:185 -#, python-format -msgid "Unrecognized QOS keyword: \"%s\"" -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:190 -msgid "Only one limit can be set in a QoS spec." -msgstr "" - -#: cinder/volume/drivers/netapp/utils.py:329 -#, python-format -msgid "" -"Conflicting QoS specifications in volume type %s: when QoS spec is " -"associated to volume type, legacy \"netapp:qos_policy_group\" is not " -"allowed in the volume type extra specs." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:108 -#: cinder/volume/drivers/netapp/dataontap/nfs_7mode.py:72 -msgid "" -"Unsupported Data ONTAP version. Data ONTAP version 7.3.1 and above is " -"supported." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:112 -msgid "API version could not be determined." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:118 -#: cinder/volume/drivers/netapp/dataontap/block_cmode.py:87 -#: cinder/volume/drivers/netapp/eseries/library.py:229 -msgid "" -"No pools are available for provisioning volumes. Ensure that the " -"configuration option netapp_pool_name_search_pattern is set correctly." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:128 -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:202 -msgid "Data ONTAP operating in 7-Mode does not support QoS policy groups." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:423 -msgid "" -"Setting LUN QoS policy group is not supported on this storage family and " -"ONTAP version." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_7mode.py:431 -msgid "" -"Back-end QoS specs are not supported on this storage family and ONTAP " -"version." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:189 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:111 -#: cinder/volume/drivers/netapp/eseries/library.py:517 -msgid "Pool is not available in the volume host field." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:215 -#, python-format -msgid "Volume %s could not be created." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:334 -#, python-format -msgid "Volume %s could not be created from source volume." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:436 -msgid "Object is not a NetApp LUN." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:572 -#, python-format -msgid "" -"%s cannot be resized using clone operation as it is hosted on compressed " -"volume" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:578 -#, python-format -msgid "%s cannot be resized using clone operation as it contains no blocks." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:609 -#, python-format -msgid "Failure staging LUN %s to tmp." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:614 -#, python-format -msgid "Failure moving new cloned LUN to %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:631 -#, python-format -msgid "Failure getting LUN info for %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:695 -msgid "Reference must contain either source-id or source-name element." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:718 -#, python-format -msgid "LUN not found with given ref %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:758 -#, python-format -msgid "Failed to get LUN target list for the LUN %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:767 -#, python-format -msgid "Failed to get target portal for the LUN %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:774 -#, python-format -msgid "Failed to get target IQN for the LUN %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_base.py:895 -#, python-format -msgid "Failed to get LUN target details for the LUN %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_cmode.py:150 -#, python-format -msgid "No cloned LUN named %s found on the filer" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_cmode.py:367 -#, python-format -msgid "" -"LUN with given ref %(ref)s does not satisfy volume type. Ensure LUN " -"volume with ssc features is present on vserver %(vs)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/block_cmode.py:400 -#, python-format -msgid "Invalid QoS specification detected while getting QoS policy for volume %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_7mode.py:76 -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:667 -msgid "Data ONTAP API version could not be determined." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_7mode.py:202 -msgid "" -"Setting file qos policy group is not supported on this storage family and" -" ontap version." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_7mode.py:207 -msgid "QoS specs are not supported on this storage family and ONTAP version." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:134 -#, python-format -msgid "Volume %(vol)s could not be created in pool %(pool)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:173 -#, python-format -msgid "Volume %s could not be created on shares." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:197 -#, python-format -msgid "Resizing clone %s failed." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:200 -#, python-format -msgid "NFS file %s not discovered." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:567 -msgid "NFS file could not be discovered." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:712 -#, python-format -msgid "Failed to extend volume %(name)s, Error msg: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:727 -#: cinder/volume/drivers/netapp/dataontap/nfs_base.py:937 -#, python-format -msgid "Failed to set QoS for existing volume %(name)s, Error msg: %(msg)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:127 -#, python-format -msgid "Volume type does not match for share %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:460 -#, python-format -msgid "Unable to locate an SVM that is managing the IP address '%s'" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:530 -msgid "Source host details not found." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/nfs_cmode.py:586 -#, python-format -msgid "Converted to raw, but format is now %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:521 -msgid "Backend server not NaServer." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/ssc_cmode.py:634 -msgid "Fatal error: User not permitted to query NetApp volumes." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:467 -#, python-format -msgid "No element by given name %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:487 -msgid "Not a valid value for NaElement." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:491 -msgid "NaElement name cannot be null." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:534 -msgid "Type cannot be converted into NaElement." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:572 -msgid "Requires an NaServer instance." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/api.py:681 -#, python-format -msgid "Unexpected output. Expected [%(expected)s] but received [%(output)s]" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_7mode.py:161 -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:133 -#, python-format -msgid "Failed to set CHAP authentication for target IQN %(iqn)s. Details: %(ex)s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_7mode.py:367 -#, python-format -msgid "No storage path found for export path %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_7mode.py:557 -#, python-format -msgid "No snapshots could be found on volume %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_7mode.py:578 -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:947 -#, python-format -msgid "Could not find unique snapshot %(snap)s on volume %(vol)s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:310 -#: cinder/volume/drivers/netapp/dataontap/performance/perf_base.py:192 -#: cinder/volume/drivers/netapp/dataontap/performance/perf_base.py:204 -#, python-format -msgid "Counter %s not found" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_base.py:416 -#, python-format -msgid "Could not start consistency group snapshot %s." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:538 -#, python-format -msgid "No interface found on cluster for ip %s" -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:564 -#, python-format -msgid "" -"No volume on cluster with vserver %(vserver)s and junction path " -"%(junction)s " -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:664 -msgid "Unsupported Clustered Data ONTAP version." -msgstr "" - -#: cinder/volume/drivers/netapp/dataontap/client/client_cmode.py:930 -#, python-format -msgid "" -"Could not read information for snapshot %(name)s. Code: %(code)s. Reason:" -" %(reason)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:60 -msgid "One of the required inputs from host, port or scheme was not found." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:64 -msgid "Invalid transport type." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:91 -msgid "Invoking web service failed." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:258 -msgid "Storage system id not set." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:294 -msgid "Content type not supported." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:338 -#, python-format -msgid "Response error - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:343 -#, python-format -msgid "" -"The storage array password for %s is incorrect, please update the " -"configured password." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:347 -msgid "Response error - The storage-system is offline." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:349 -#, python-format -msgid "Response error code - %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:402 -#, python-format -msgid "" -"E-series proxy API version %(current_version)s does not support full set " -"of SSC extra specs. The proxy version must be at at least " -"%(min_version)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:678 -#, python-format -msgid "Failed to move LUN mapping. Return code: %s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:705 -#, python-format -msgid "Host group with ref %s not found" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/client.py:715 -#, python-format -msgid "Host group with name %s not found" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/exception.py:21 -#, python-format -msgid "Volume %(volume_id)s is not currently mapped to host %(host)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/exception.py:26 -#, python-format -msgid "" -"Volume %(volume_id)s is currently mapped to unsupported host group " -"%(group)s" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/host_mapper.py:81 -#, python-format -msgid "" -"Cannot attach already attached volume %s; multiattach is disabled via the" -" 'netapp_enable_multiattach' configuration option." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/host_mapper.py:106 -#, python-format -msgid "" -"Specified host to map to volume %(vol)s is in unsupported host group with" -" %(group)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/host_mapper.py:135 -#, python-format -msgid "" -"Currently mapped host for volume %(vol)s is in unsupported host group " -"with %(group)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/host_mapper.py:168 -msgid "" -"No unused LUN IDs are available on the host; multiattach is enabled which" -" requires that all LUN IDs to be unique across the entire host group." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/host_mapper.py:177 -#, python-format -msgid "" -"No free LUN IDs left. Maximum number of volumes that can be attached to " -"host (%s) has been exceeded." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:215 -msgid "Configured host type is not supported." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:257 -#, python-format -msgid "Controller IP '%(host)s' could not be resolved: %(e)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:357 -#, python-format -msgid "System %(id)s found with bad status - %(status)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:361 -#, python-format -msgid "System %(id)s found with bad password status - %(pass_status)s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:378 -msgid "The volume label is required as input." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:391 -#, python-format -msgid "Specified snapshot group with id %s could not be found." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:419 -#: cinder/volume/drivers/netapp/eseries/library.py:443 -#, python-format -msgid "Snapshot with id of %s could not be found." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:450 -#, python-format -msgid "Unable to retrieve snapshot group with id of %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:470 -#: cinder/volume/drivers/netapp/eseries/library.py:479 -#, python-format -msgid "No snapshot image found in snapshot group %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:542 -#, python-format -msgid "" -"Cannot create more than %(req)s volumes on the ESeries array when " -"'netapp_enable_multiattach' is set to true." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:578 -#, python-format -msgid "Pools %s does not exist" -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:632 -#, python-format -msgid "Failure creating volume %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:693 -#, python-format -msgid "Vol copy job for dest %s failed." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1179 -#, python-format -msgid "Failed to get LUN target details for the LUN %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1320 -#, python-format -msgid "No good iscsi portals found for %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1332 -#, python-format -msgid "No good iscsi portal found in supplied list for %s." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1368 -#, python-format -msgid "Host with ports %(ports)s not found." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:1389 -#, python-format -msgid "Host type %s not supported." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2085 -msgid "Reference must contain either source-name or source-id element." -msgstr "" - -#: cinder/volume/drivers/netapp/eseries/library.py:2092 -msgid "Volume not found on configured storage pools." -msgstr "" - -#: cinder/volume/drivers/nexenta/iscsi.py:112 -#, python-format -msgid "Volume %s does not exist in Nexenta SA" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:119 -#, python-format -msgid "Volume %s does not exist in Nexenta Store appliance" -msgstr "" - -#: cinder/volume/drivers/nexenta/nfs.py:123 -#, python-format -msgid "Folder %s does not exist in Nexenta Store appliance" -msgstr "" - -#: cinder/volume/drivers/nexenta/utils.py:47 -#, python-format -msgid "Invalid value: \"%s\"" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/iscsi.py:108 -msgid "No service VIP configured and no nexenta_client_address" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/jsonrpc.py:58 -msgid "Wrong resource call syntax" -msgstr "" - -#: cinder/volume/drivers/nexenta/nexentaedge/jsonrpc.py:99 -#, python-format -msgid "Error response: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:119 -#, python-format -msgid "Dataset group %s not found at Nexenta SA" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:406 -#, python-format -msgid "LU does not exist for volume: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/iscsi.py:421 -#, python-format -msgid "No views found for LUN: %s" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/nfs.py:102 -#, python-format -msgid "Pool %s does not exist in Nexenta Store appliance" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/nfs.py:107 -#, python-format -msgid "filesystem %s does not exist in Nexenta Store appliance" -msgstr "" - -#: cinder/volume/drivers/nexenta/ns5/nfs.py:118 -#, python-format -msgid "Dataset %s is not shared in Nexenta Store appliance" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:162 -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:57 -#, python-format -msgid "Flexvisor failed to assign volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:168 -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:63 -#, python-format -msgid "" -"Flexvisor failed to assign volume %(id)s due to unable to query status by" -" event id." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:173 -#, python-format -msgid "Flexvisor assign volume failed:%(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:192 -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:125 -#, python-format -msgid "Flexvisor failed to unassign volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:197 -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:130 -#, python-format -msgid "Flexvisor failed to unassign volume (get event) %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:201 -#, python-format -msgid "Flexvisor unassign volume failed:%(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:248 -msgid "Backend storage did not configure fiber channel target." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:263 -#: cinder/volume/drivers/prophetstor/dpl_fc.py:363 -#: cinder/volume/drivers/prophetstor/dpl_fc.py:370 -#, python-format -msgid "Invalid wwpns format %(wwpns)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:313 -#, python-format -msgid "Invalid connection initialization response of volume %(name)s: %(output)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:331 -#, python-format -msgid "Invalid connection initialization response of volume %(name)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_fc.py:389 -#, python-format -msgid "Faield to unassign %(volume)s" -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:68 -#, python-format -msgid "Flexvisor assign volume failed.:%(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:105 -#, python-format -msgid "Flexvisor failed to assign volume %(volume)s iqn %(iqn)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dpl_iscsi.py:137 -#, python-format -msgid "Flexvisor failed to unassign volume:%(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:801 -#, python-format -msgid "Fexvisor failed to add volume %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:806 -#, python-format -msgid "Flexvisor failed to add volume %(id)s to group %(cgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:824 -#, python-format -msgid "Fexvisor failed to remove volume %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:829 -#, python-format -msgid "Flexvisor failed to remove volume %(id)s from group %(cgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:846 -#, python-format -msgid "Flexvisor failed to get snapshot id of volume %(id)s from group %(vgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:851 -#, python-format -msgid "" -"Flexvisor could not find volume %(id)s snapshot in the group %(vgid)s " -"snapshot %(vgsid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:879 -#, python-format -msgid "Failed to create consistency group %(id)s:%(ret)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:886 -#, python-format -msgid "Failed to create consistency group %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:903 -#, python-format -msgid "Failed to delete consistency group %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:939 -#, python-format -msgid "Failed to create cg snapshot %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:965 -#, python-format -msgid "Failed to delete cgsnapshot %(id)s due to %(reason)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:999 -#, python-format -msgid "" -"Fexvisor failed to join the volume %(vol)s in the group %(group)s due to " -"%(ret)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1011 -#, python-format -msgid "" -"Fexvisor failed to remove the volume %(vol)s in the group %(group)s due " -"to %(ret)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1024 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1105 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1195 -msgid "Pool is not available in the volume host fields." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1043 -#, python-format -msgid "Flexvisor failed to create volume %(volume)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1048 -#, python-format -msgid "Flexvisor failed to create volume (get event) %s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1053 -#, python-format -msgid "Flexvisor create volume failed.:%(volumeid)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1068 -#, python-format -msgid "Flexvisor failed to create volume %(id)s in the group %(vgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1087 -#, python-format -msgid "Flexvisor unable to find the source volume %(id)s info." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1124 -#, python-format -msgid "Flexvisor failed to create volume from snapshot %(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1131 -#, python-format -msgid "" -"Flexvisor failed to create volume from snapshot (failed to get event) " -"%(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1136 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1179 -#, python-format -msgid "Flexvisor failed to create volume from snapshot %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1169 -#, python-format -msgid "Flexvisor failed to spawn volume from snapshot %(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1174 -#, python-format -msgid "" -"Flexvisor failed to spawn volume from snapshot (failed to get event) " -"%(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1215 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1225 -#, python-format -msgid "Flexvisor failed to clone volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1220 -#, python-format -msgid "Flexvisor failed to clone volume (failed to get event) %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1239 -#, python-format -msgid "Flexvisor volume %(id)s failed to join group %(vgid)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1272 -#, python-format -msgid "Flexvisor failed deleting volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1280 -#, python-format -msgid "Flexvisor failed to delete volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1298 -#, python-format -msgid "Flexvisor failed to extend volume %(id)s:%(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1304 -#, python-format -msgid "Flexvisor failed to extend volume (failed to get event) %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1309 -#, python-format -msgid "Flexvisor failed to extend volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1333 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1343 -#, python-format -msgid "Flexvisor failed to create snapshot for volume %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1338 -#, python-format -msgid "" -"Flexvisor failed to create snapshot for volume (failed to get event) " -"%(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1360 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1372 -#, python-format -msgid "Flexvisor failed to delete snapshot %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1365 -#, python-format -msgid "Flexvisor failed to delete snapshot (failed to get event) %(id)s." -msgstr "" - -#: cinder/volume/drivers/prophetstor/dplcommon.py:1480 -#: cinder/volume/drivers/prophetstor/dplcommon.py:1492 -#, python-format -msgid "Flexvisor failed to get pool info %(id)s: %(status)s." -msgstr "" - -#: cinder/volume/drivers/san/san.py:170 -msgid "Specify san_password or san_private_key" -msgstr "" - -#: cinder/volume/drivers/san/san.py:174 -msgid "san_ip must be set" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:94 -msgid "Gateway VIP is not set" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:102 -msgid "Failed to connect to array" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:108 -msgid "vmemclient python library not found" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:114 -msgid "CONCERTO version is not supported" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:221 -msgid "Dedup luns cannot be extended" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:539 -#, python-format -msgid "Failed to ensure snapshot resource area, could not locate volume for id %s" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:584 -#, python-format -msgid "Failed to create snapshot resource area on volume %(vol)s: %(res)s." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:612 -#, python-format -msgid "Failed to create snapshot policy on volume %(vol)s: %(res)s." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:629 -#, python-format -msgid "Cannot delete LUN %s while snapshots exist." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_common.py:645 -#, python-format -msgid "Unable to delete snapshot policy on volume %s." -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:91 -msgid "No FCP targets found" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:203 -msgid "No initiators found, cannot proceed" -msgstr "" - -#: cinder/volume/drivers/violin/v7000_fcp.py:225 -msgid "LUN export failed!" -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:27 -#, python-format -msgid "Invalid disk adapter type: %(invalid_type)s." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:32 -#, python-format -msgid "Invalid disk type: %(disk_type)s." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:37 -msgid "There is no virtual disk device." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:42 -#, python-format -msgid "Storage profile: %(storage_profile)s not found." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:47 -msgid "There are no valid datastores." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:52 -#, python-format -msgid "Compute cluster: %(cluster)s not found." -msgstr "" - -#: cinder/volume/drivers/vmware/exceptions.py:57 -msgid "There are no valid ESX hosts." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:203 -#, python-format -msgid "Invalid disk type: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:258 -#, python-format -msgid "%s not set." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:297 -#, python-format -msgid "Not able to find a suitable datastore for the volume: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:587 -#, python-format -msgid "Snapshot of volume not supported in state: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:619 -#, python-format -msgid "Delete snapshot of volume not supported in state: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:657 -#, python-format -msgid "Cannot create image of disk format: %s. Only vmdk disk format is accepted." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:986 -#, python-format -msgid "Exception in _select_ds_for_volume: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1081 -#, python-format -msgid "" -"Container format: %s is unsupported by the VMDK driver, only 'bare' is " -"supported." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1153 -msgid "Upload to glance of attached volume is not supported." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1620 -msgid "Volume cannot be restored since it contains snapshots." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1670 -msgid "source-name cannot be empty." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1676 -msgid "source-name format should be: 'vmdk_path@vm_inventory_path'." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1682 -#, python-format -msgid "%s does not exist." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1785 -#, python-format -msgid "Running Cinder with a VMware vCenter version less than %s is not allowed." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:1910 -#, python-format -msgid "" -"Clone type '%(clone_type)s' is invalid; valid values are: " -"'%(full_clone)s' and '%(linked_clone)s'." -msgstr "" - -#: cinder/volume/drivers/vmware/vmdk.py:2012 -#, python-format -msgid "Linked clone of source volume not supported in state: %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:493 -#, python-format -msgid "There are no valid datastores attached to %s." -msgstr "" - -#: cinder/volume/drivers/vmware/volumeops.py:1416 -#, python-format -msgid "Invalid disk backing: %s." -msgstr "" - -#: cinder/volume/drivers/windows/remotefs.py:52 -msgid "Link path already exists and its not a symlink" -msgstr "" - -#: cinder/volume/drivers/windows/smbfs.py:71 -#, python-format -msgid "" -"This system platform (%s) is not supported. This driver supports only " -"Win32 platforms." -msgstr "" - -#: cinder/volume/drivers/windows/smbfs.py:81 -#, python-format -msgid "File already exists at: %s" -msgstr "" - -#: cinder/volume/drivers/windows/smbfs.py:86 -#, python-format -msgid "Unsupported volume format: %s " -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:29 -msgid "" -"Check the state of the http service. Also ensure that the https port " -"number is the same as the one specified in cinder.conf." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:34 -msgid "User not authorized to perform WebDAV operations." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:37 -msgid "Check access permissions for the ZFS share assigned to this driver." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:39 -msgid "The source volume for this WebDAV operation not found." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:41 -msgid "Not enough storage space in the ZFS share to perform this operation." -msgstr "" - -#: cinder/volume/drivers/zfssa/webdavclient.py:46 -msgid "" -"http service may have been abruptly disabled or put to maintenance state " -"in the middle of this operation." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:239 -#, python-format -msgid "" -"zfssa_manage_policy property needs to be set to 'strict' or 'loose'. " -"Current value is: %s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:395 -#, python-format -msgid "" -"Error verifying clone size on Volume clone: %(clone)s Size: %(size)d " -"onSnapshot: %(snapshot)s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:607 -#, python-format -msgid "Cache volume %s does not have required properties" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:624 -#, python-format -msgid "Cache volume %(cache_vol)sdoes not have snapshot %(cache_snap)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:636 -#, python-format -msgid "" -"Cannot delete cache volume: %(cachevol_name)s. It was updated at " -"%(updated_at)s and currently has %(numclones)s volume instances." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:699 -#: cinder/volume/drivers/zfssa/zfssanfs.py:463 -#, python-format -msgid "Fail to create cache volume %(volume)s. Error: %(err)s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:739 -#, python-format -msgid "Failed to find iSCSI initiator group containing %(initiator)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1080 -#, python-format -msgid "" -"Unknown if the volume: %s to be managed is already being managed by " -"Cinder. Aborting manage volume. Please add 'cinder_managed' custom schema" -" property to the volume and set its value to False. Alternatively, set " -"the value of cinder config policy 'zfssa_manage_policy' to 'loose' to " -"remove this restriction." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1091 -#: cinder/volume/drivers/zfssa/zfssanfs.py:729 -#, python-format -msgid "Volume: %s is already being managed by Cinder." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1099 -#, python-format -msgid "Reference to volume: %s to be managed must contain source-name." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1108 -#: cinder/volume/drivers/zfssa/zfssanfs.py:659 -#, python-format -msgid "Volume %s doesn't exist on the ZFSSA backend." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssaiscsi.py:1161 -#, python-format -msgid "" -"Source with host ip/name: %s not found on the target appliance for " -"backend enabled volume migration, procedding with default migration." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:102 -#, python-format -msgid "Config 'max_over_subscription_ratio' invalid. Must be > 0: %s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:129 -#, python-format -msgid "%s not set in cinder.conf" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:416 -#, python-format -msgid "" -"Cannot delete cache volume: %(cachevol_name)s. It was updated at " -"%(updated_at)s and currently has %(numclones)d volume instances." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:701 -msgid "Failed to get size of existing volume: %(vol). Volume Manage failed." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:718 -#, python-format -msgid "" -"Unknown if the volume: %s to be managed is already being managed by " -"Cinder. Aborting manage volume. Please add 'cinder_managed' custom schema" -" property to the volume and set its value to False. Alternatively, Set " -"the value of cinder config policy 'zfssa_manage_policy' to 'loose' to " -"remove this restriction." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssanfs.py:759 -msgid "Reference to volume to be managed must contain source-name." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:51 -#, python-format -msgid "" -"Error getting version: svc: %(svc)s.Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:70 -#, python-format -msgid "" -"Error Getting Pool Stats: Pool: %(pool)s Return code: %(status)d Message:" -" %(data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:83 -#, python-format -msgid "Error Pool ownership: Pool %(pool)s is not owned by %(host)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:111 -#: cinder/volume/drivers/zfssa/zfssarest.py:1130 -#, python-format -msgid "" -"Error Verifying Service: %(service)s Return code: %(ret.status)d Message:" -" %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:125 -#: cinder/volume/drivers/zfssa/zfssarest.py:1147 -#, python-format -msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:138 -msgid "" -"Error getting appliance version details. Return code: %(ret.status)d " -"Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:154 -msgid "" -"Error getting replication target details. Return code: %(ret.status)d " -"Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:176 -#, python-format -msgid "" -"Error setting replication inheritance to %(set)s for volume: %(vol)s " -"project %(project)s Return code: %(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:204 -#, python-format -msgid "" -"Error Creating replication action on: pool: %(pool)s Project: %(proj)s " -"volume: %(vol)s for target: %(tgt)s and pool: %(tgt_pool)sReturn code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:229 -#, python-format -msgid "" -"Error Deleting replication action: %(id)s Return code: %(ret.status)d " -"Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:249 -#, python-format -msgid "" -"Error sending replication update for action id: %(id)s . Return code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:263 -#, python-format -msgid "" -"Error getting replication action: %(id)s. Return code: %(ret.status)d " -"Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:279 -#, python-format -msgid "Error sending replication update. Returned error: %(err)s. Action: %(id)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:295 -msgid "" -"Error getting replication source details. Return code: %(ret.status)d " -"Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:328 -#, python-format -msgid "" -"Error severing the package: %(package)s from source: %(src)s Return code:" -" %(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:350 -#, python-format -msgid "" -"Error moving volume: %(vol)s from source project: %(src)s to target " -"project: %(tgt)s Return code: %(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:370 -#, python-format -msgid "" -"Error Deleting project: %(project)s on pool: %(pool)s Return code: " -"%(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:391 -#, python-format -msgid "" -"Error Getting Project Stats: Pool: %(pool)s Project: %(project)s Return " -"code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:429 -#, python-format -msgid "" -"Error Creating Project: %(project)s on Pool: %(pool)s Return code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:459 -#, python-format -msgid "" -"Error Creating Initiator: %(initiator)s on Alias: %(alias)s Return code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:483 -#: cinder/volume/drivers/zfssa/zfssarest.py:518 -#, python-format -msgid "" -"Error Adding Initiator: %(initiator)s on groupInitiatorGroup: " -"%(initiatorgroup)s Return code: %(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:498 -#, python-format -msgid "" -"Error Getting Initiators: InitiatorGroup: %(initiatorgroup)s Return code:" -" %(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:557 -#, python-format -msgid "" -"Error Creating Target: %(alias)sReturn code: %(ret.status)d Message: " -"%(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:575 -#, python-format -msgid "" -"Error Getting Target: %(alias)sReturn code: %(ret.status)d Message: " -"%(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:601 -#, python-format -msgid "" -"Error Creating TargetGroup: %(targetgroup)s withIQN: %(iqn)sReturn code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:621 -#, python-format -msgid "" -"Error Adding to TargetGroup: %(targetgroup)s withIQN: %(iqn)sReturn code:" -" %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:638 -#, python-format -msgid "" -"Error Verifying Pool: %(pool)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:653 -#, python-format -msgid "" -"Error Verifying Project: %(project)s on Pool: %(pool)s Return code: " -"%(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:670 -#, python-format -msgid "" -"Error Verifying Initiator: %(iqn)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:685 -#, python-format -msgid "" -"Error Verifying Target: %(alias)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:713 -#, python-format -msgid "" -"Error Creating Volume: %(lun)s Size: %(size)s Return code: %(ret.status)d" -" Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:734 -#, python-format -msgid "" -"Error Getting Volume: %(lun)s on Pool: %(pool)s Project: %(project)s " -"Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:829 -#, python-format -msgid "" -"Error Deleting Volume: %(lun)s from Pool: %(pool)s, Project: %(project)s." -" Return code: %(ret.status)d, Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:853 -#, python-format -msgid "" -"Error Creating Snapshot: %(snapshot)s onVolume: %(lun)s to Pool: %(pool)s" -" Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:876 -#, python-format -msgid "" -"Error Deleting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: " -"%(pool)s Project: %(project)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:904 -#, python-format -msgid "" -"Error Cloning Snapshot: %(snapshot)s on Volume: %(lun)s of Pool: %(pool)s" -" Project: %(project)s Clone project: %(clone_proj)s Return code: " -"%(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:934 -#, python-format -msgid "" -"Error Setting props Props: %(props)s on Volume: %(lun)s of Pool: %(pool)s" -" Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:957 -#, python-format -msgid "" -"Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s" -" Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:982 -msgid "Error getting initiator groups." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1003 -#, python-format -msgid "" -"Error Creating Property: %(property)s Type: %(type)s Description: " -"%(description)s Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1051 -#, python-format -msgid "" -"Error Verifying share: %(share)s on Project: %(project)s and Pool: " -"%(pool)s Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1075 -#, python-format -msgid "" -"Error Creating Snapshot: %(snapshot)s onshare: %(share)s to Pool: " -"%(pool)s Project: %(project)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1097 -#, python-format -msgid "" -"Error Deleting Snapshot: %(snapshot)s on Share: %(share)s to Pool: " -"%(pool)s Project: %(project)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1173 -#, python-format -msgid "" -"Error modifying Service: %(service)s Return code: %(ret.status)d Message:" -" %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1198 -#, python-format -msgid "" -"Error Creating Share: %(name)s Return code: %(ret.status)d Message: " -"%(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1211 -#, python-format -msgid "" -"Error editing share: %(share)s on Pool: %(pool)s Return code: " -"%(ret.status)d Message: %(ret.data)s ." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1228 -#, python-format -msgid "" -"Error Getting Share: %(share)s on Pool: %(pool)s Project: %(project)s " -"Return code: %(ret.status)d Message: %(ret.data)s." -msgstr "" - -#: cinder/volume/drivers/zfssa/zfssarest.py:1296 -#, python-format -msgid "Cannot create directory %s." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:98 -#, python-format -msgid "Originating %(res)s %(prop)s must be one of '%(vals)s' values" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:147 -#, python-format -msgid "" -"Volume size '%(size)s'GB cannot be smaller than the snapshot size " -"%(snap_size)sGB. They must be >= original snapshot size." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:156 -#, python-format -msgid "" -"Volume size '%(size)s'GB cannot be smaller than original volume size " -"%(source_size)sGB. They must be >= original volume size." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:165 -#, python-format -msgid "Volume size '%(size)s' must be an integer and greater than 0" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:205 -#: cinder/volume/flows/api/create_volume.py:237 -#, python-format -msgid "Image %(image_id)s is not active." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:213 -#, python-format -msgid "" -"Size of specified image %(image_size)sGB is larger than volume size " -"%(volume_size)sGB." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:221 -#, python-format -msgid "" -"Volume size %(volume_size)sGB cannot be smaller than the image minDisk " -"size %(min_disk)sGB." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:278 -msgid "Metadata property key blank" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:282 -#, python-format -msgid "Metadata property key %s greater than 255 characters" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:287 -#, python-format -msgid "Metadata property key %s value greater than 255 characters" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:336 -#, python-format -msgid "Availability zone '%(s_az)s' is invalid." -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:349 -msgid "Volume must be in the same availability zone as the snapshot" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:358 -msgid "Volume must be in the same availability zone as the source volume" -msgstr "" - -#: cinder/volume/flows/api/create_volume.py:444 -#, python-format -msgid "" -"Create encrypted volumes with type %(type)s from image %(image)s is not " -"supported." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:218 -msgid "Volume create failed while extracting volume ref." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:378 -#, python-format -msgid "Copying metadata from %(src_type)s %(src_id)s to %(vol_id)s." -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:380 -#, python-format -msgid "" -"Failed updating volume %(vol_id)s metadata using the provided " -"%(src_type)s %(src_id)s metadata" -msgstr "" - -#: cinder/volume/flows/manager/create_volume.py:753 -#, python-format -msgid "" -"Image virtual size is %(image_size)dGB and doesn't fit in a volume of " -"size %(volume_size)dGB." -msgstr "" - -#: cinder/volume/flows/manager/manage_existing.py:49 -#: cinder/volume/flows/manager/manage_existing_snapshot.py:114 -#, python-format -msgid "Volume driver %s not initialized." -msgstr "" - -#: cinder/volume/targets/iscsi.py:318 cinder/volume/targets/scst.py:390 -msgid "valid iqn needed for show_target" -msgstr "" - -#: cinder/volume/targets/scst.py:45 -msgid "The volume driver requires the iSCSI initiator name in the connector." -msgstr "" - -#: cinder/volume/targets/scst.py:157 -msgid "Failed to set attribute 'Incoming user' for SCST target." -msgstr "" - -#: cinder/wsgi/common.py:92 -msgid "You must implement __call__" -msgstr "" - -#: cinder/zonemanager/fc_san_lookup_service.py:82 -msgid "" -"Lookup service not configured. Config option for fc_san_lookup_service " -"needs to specify a concrete implementation of the lookup service." -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:178 -#, python-format -msgid "Failed adding connection for fabric=%(fabric)s: Error: %(err)s" -msgstr "" - -#: cinder/zonemanager/fc_zone_manager.py:243 -#, python-format -msgid "Failed removing connection for fabric=%(fabric)s: Error: %(err)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:94 -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:104 -msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:132 -#, python-format -msgid "SSH connection failed for %(fabric)s with error: %(err)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:212 -#, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py:237 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:379 -#, python-format -msgid "Malformed nameserver string: %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:109 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:122 -#, python-format -msgid "" -"Malformed zone configuration: (switch=%(switch)s " -"zone_config=%(zone_config)s)." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:193 -#, python-format -msgid "" -"Creating and activating zone set failed: (Zone set=%(cfg_name)s " -"error=%(err)s)." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:248 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:286 -#, python-format -msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:300 -#, python-format -msgid "Error while checking transaction status: %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:316 -#, python-format -msgid "Error while running zoning CLI: (command=%(cmd)s error=%(err)s)." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:344 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_client_cli.py:357 -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:201 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:330 -#, python-format -msgid "Error while getting data via ssh: (command=%(cmd)s error=%(err)s)." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:207 -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:240 -msgid "Failed to add zoning configuration." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:349 -msgid "Failed to update or delete zoning configuration." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:387 -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:427 -#, python-format -msgid "" -"Unsupported firmware on switch %s. Make sure switch is running firmware " -"v6.4 or higher" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:395 -msgid "Failed to get name server info." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:435 -#, python-format -msgid "Failed to retrieve active zoning configuration %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py:464 -#, python-format -msgid "Failed to create south bound connector for %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:114 -#, python-format -msgid "Error while querying page %(url)s on the switch, reason %(error)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:121 -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:849 -#, python-format -msgid "" -"Error while connecting the switch %(switch_id)s with protocol " -"%(protocol)s. Error: %(error)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:129 -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:857 -#, python-format -msgid "" -"Unexpected status code from the switch %(switch_id)s with protocol " -"%(protocol)s for url %(page)s. Error: %(error)s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:166 -#, python-format -msgid "Error while creating authentication token: %s" -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:201 -#, python-format -msgid "Authentication failed, verify the switch credentials, error code %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:206 -#, python-format -msgid "Error while authenticating with switch: %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:223 -#, python-format -msgid "Error while getting session information %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:243 -#, python-format -msgid "Error while parsing the data: %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:261 -#, python-format -msgid "Error while getting nvp value: %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:280 -#, python-format -msgid "Error while checking whether VF is available for management %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:314 -msgid "Cannot change VF context in the session." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:319 -#, python-format -msgid "" -"Cannot change VF context, specified VF is not available in the manageable" -" VF list %(vf_list)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:326 -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:401 -#, python-format -msgid "Error while changing VF context %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:438 -#, python-format -msgid "Error while checking the firmware version %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:476 -#, python-format -msgid "Failed getting active zone set from fabric %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:526 -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:763 -#, python-format -msgid "" -"Applying the zones and cfgs to the switch failed (error code=%(err_code)s" -" error msg=%(err_msg)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:577 -#, python-format -msgid "Exception while forming the zone string: %s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:632 -#, python-format -msgid "" -"Error while updating the new zones and cfgs in the zone string. Error " -"%(description)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:721 -#, python-format -msgid "" -"Error while removing the zones and cfgs in the zone string: " -"%(description)s." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:826 -msgid "No VF ID is defined in the configuration file." -msgstr "" - -#: cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py:833 -msgid "VF is not enabled." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:223 -#, python-format -msgid "Malformed fcns output string: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_san_lookup_service.py:342 -#, python-format -msgid "Error executing command via ssh: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:195 -#, python-format -msgid "" -"Creating and activating zone set failed: (Zone set=%(zoneset)s " -"error=%(err)s)." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:243 -#, python-format -msgid "Malformed zone status: (switch=%(switch)s zone_config=%(zone_config)s)." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_client_cli.py:352 -#, python-format -msgid "Malformed show fcns database string: %s" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:214 -#, python-format -msgid "Zoning Policy: %s, not recognized" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:402 -msgid "Failed to update or delete zoning configuration" -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:457 -msgid "Failed to get show fcns database info." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:493 -msgid "Failed to access active zoning configuration." -msgstr "" - -#: cinder/zonemanager/drivers/cisco/cisco_fc_zone_driver.py:514 -#, python-format -msgid "Failed to access zoneset status:%s" -msgstr "" - diff -Nru cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po --- cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-error.po 2016-08-09 15:32:57.000000000 +0000 @@ -8,9 +8,9 @@ # Zbyněk Schwarz , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -1151,12 +1151,6 @@ msgid "Failed collecting name server info from fabric %s" msgstr "Shromáždění informací o jmenném serveru z fabric %s selhalo" -msgid "Failed collecting nscamshow" -msgstr "Shromažďování nscamshow selhalo" - -msgid "Failed collecting nsshow info for fabric" -msgstr "Shromáždění informací nsshow pro fabric selhalo" - #, python-format msgid "Failed collecting nsshow info for fabric %s" msgstr "Shromáždění informací nsshow pro fabric %s selhalo" diff -Nru cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-info.po cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-info.po --- cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-info.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-info.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # Zbyněk Schwarz , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev24\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-04-21 16:43+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff -Nru cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po --- cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # Zbyněk Schwarz , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev24\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-04-21 16:43+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff -Nru cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/cs/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/cs/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -10,9 +10,9 @@ # Zbyněk Schwarz , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -5725,10 +5725,6 @@ msgstr "Příkaz SSH selhal po '%(total_attempts)r' pokusech : '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "Příkaz SSH selhal s chybou: '%(err)s', příkaz: '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "Zjištěno vložení příkazů SSH: %(command)s" @@ -5779,9 +5775,6 @@ msgid "Service is unavailable at this time." msgstr "Služba je v tuto chvíli nedostupná." -msgid "Service not found." -msgstr "Služba nenalezena." - msgid "Sets thin provisioning." msgstr "Nastaví mělké poskytování." diff -Nru cinder-8.0.0/cinder/locale/de/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/de/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/de/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/de/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -6,20 +6,17 @@ # Alec Hans , 2013 # Ettore Atalan , 2014 # FIRST AUTHOR , 2011 -# OpenStack Infra , 2015. #zanata -# Tom Cocozzello , 2015. #zanata # Frank Kloeker , 2016. #zanata # Monika Wolf , 2016. #zanata -# Tom Cocozzello , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev21\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-24 10:43+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-24 03:10+0000\n" +"PO-Revision-Date: 2016-04-27 08:22+0000\n" "Last-Translator: Monika Wolf \n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -60,8 +57,8 @@ "disconnect this volume from existing hosts before importing" msgstr "" "%(driver)s manage_existing kann einen Datenträger, der mit Hosts verbunden " -"ist, nicht verwalten. Trennen Sie die Verbindung dieses Datenträgers zu " -"vorhandenen Hosts vor dem Importieren" +"ist, nicht verwalten. Trennen Sie vor dem Importieren die Verbindung dieses " +"Datenträgers zu vorhandenen Hosts." #, python-format msgid "%(err)s" @@ -131,7 +128,7 @@ "not in use by another service." msgstr "" "%(msg_type)s: Erstellen von NetworkPortal: Stellen Sie sicher, dass Port " -"%(port)d unter IP %(ip)s nicht durch einen anderen Service verwendet wird." +"%(port)d unter IP %(ip)s nicht durch einen anderen Dienst verwendet wird." #, python-format msgid "%(name)s has a minimum character requirement of %(min_length)s." @@ -139,7 +136,7 @@ #, python-format msgid "%(name)s has more than %(max_length)s characters." -msgstr "%(name)s hast mehr als %(max_length)s Zeichen." +msgstr "%(name)s hat mehr als %(max_length)s Zeichen." #, python-format msgid "" @@ -148,27 +145,29 @@ "%(vol_mode)s." msgstr "" "%(op)s: Sicherung %(bck_id)s, Datenträger %(vol_id)s fehlgeschlagen. " -"Sicherungsobjekt weist unerwarteten Modus auf. Image- oder Dateisicherungen " -"unterstützt, tatsächlicher Modus ist %(vol_mode)s." +"Sicherungsobjekt hat unerwarteten Modus. Abbild- oder Dateisicherungen " +"werden unterstützt, tatsächlicher Modus ist %(vol_mode)s." #, python-format msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" msgstr "" -"%(service)s-Service ist nicht %(status)s auf Speicher-Appliance %(host)s" +"%(service)s-Dienst befindet sich nicht %(status)s auf der Speicher-" +"Appliance: %(host)s" #, python-format msgid "%(value_name)s must be <= %(max_value)d" -msgstr "%(value_name)s muss <= %(max_value)d sein" +msgstr "%(value_name)s muss <= %(max_value)d sein." #, python-format msgid "%(value_name)s must be >= %(min_value)d" -msgstr "%(value_name)s muss >= %(min_value)d sein" +msgstr "%(value_name)s muss >= %(min_value)d sein." #, python-format msgid "" "%(worker_name)s value of %(workers)d is invalid, must be greater than 0." msgstr "" -"Wert %(worker_name)s von %(workers)d ist ungültig; muss größer als 0 sein." +"Wert %(worker_name)s von %(workers)d ist ungültig. Der Wert muss größer als " +"0 sein." #, python-format msgid "%s" @@ -183,7 +182,7 @@ "%s cannot be accessed. Verify that GPFS is active and file system is mounted." msgstr "" "Auf %s kann nicht zugegriffen werden. Überprüfen Sie, ob GPFS aktiv ist und " -"das Dateisystem angehängt ist." +"das Dateisystem eingehängt ist." #, python-format msgid "%s cannot be resized using clone operation as it contains no blocks." @@ -197,7 +196,7 @@ "volume" msgstr "" "Größe von %s kann nicht mithilfe der Klonoperation geändert werden, da auf " -"einem komprimierten Datenträger gehostet" +"einem komprimierten Datenträger gehostet." #, python-format msgid "%s configuration option is not set." @@ -213,11 +212,11 @@ #, python-format msgid "%s is not a string or unicode" -msgstr "%s ist keine Zeichenkette oder Unicode" +msgstr "%s ist keine Zeichenkette oder Unicode." #, python-format msgid "%s is not installed" -msgstr "%s ist nicht installiert" +msgstr "%s ist nicht installiert." #, python-format msgid "%s is not installed." @@ -239,7 +238,7 @@ #, python-format msgid "%s must be a valid raw or qcow2 image." -msgstr "%s muss ein gültiges raw- oder qcow2-Image sein." +msgstr "%s muss ein gültiges raw- oder qcow2-Abbild sein." #, python-format msgid "%s must be an absolute path." @@ -263,13 +262,13 @@ "valid value(s) are %(enabled)s." msgstr "" "'%(prot)s' ist für flashsystem_connection_protocol in Konfigurationsdatei " -"ungültig. gültige Werte sind %(enabled)s." +"ungültig. Gültige Werte sind %(enabled)s." msgid "'active' must be present when writing snap_info." msgstr "'active' muss vorhanden sein, wenn snap_info geschrieben wird." msgid "'consistencygroup_id' must be specified" -msgstr "'consistencygroup_id' muss angegeben werden" +msgstr "'consistencygroup_id' muss angegeben werden." msgid "'qemu-img info' parsing failed." msgstr "Auswertung von 'qemu-img info' fehlgeschlagen." @@ -278,7 +277,7 @@ msgstr "'status' muss angegeben werden." msgid "'volume_id' must be specified" -msgstr "'volume_id' muss angegeben werden" +msgstr "'volume_id' muss angegeben werden." msgid "'{}' object has no attribute '{}'" msgstr "'{}'-Objekt hat kein Attribut '{}'." @@ -305,7 +304,7 @@ "A free LUN (HLUN) was not found. Add a different host group. (LDEV: %(ldev)s)" msgstr "" "Es wurde keine freie LUN (HLUN) gefunden. Fügen Sie eine andere Hostgruppe " -"hinzu (Logische Einheit: '%(ldev)s')" +"hinzu. (Logische Einheit: '%(ldev)s')" #, python-format msgid "A host group could not be added. (port: %(port)s, name: %(name)s)" @@ -352,7 +351,7 @@ #, python-format msgid "A snapshot status is invalid. (status: %(status)s)" -msgstr "Ein Momentaufnahmenstatus ist ungültig. (Status: %(status)s)" +msgstr "Ein Schattenkopiestatus ist ungültig. (Status: %(status)s)" msgid "A valid secondary target MUST be specified in order to failover." msgstr "Für ein Failover muss ein gültiges sekundäres Ziel angegeben werden." @@ -373,8 +372,8 @@ "API Version String %(version)s is of invalid format. Must be of format " "MajorNum.MinorNum." msgstr "" -"API-Versionszeichenkette %(version)s ist im falschen Format. Muss im Format " -"sein MajorNum.MinorNum." +"API-Versionszeichenkette %(version)s ist im falschen Format. Erforderliches " +"Format: MajorNum.MinorNum." msgid "API key is missing for CloudByte driver." msgstr "API-Schlüssel für CloudByte-Treiber fehlt." @@ -389,7 +388,7 @@ #, python-format msgid "API version %(version)s is not supported on this method." -msgstr "API Version %(version)s ist nicht unterstützt für diese Methode." +msgstr "Die API-Version %(version)s wird für diese Methode nicht unterstützt." msgid "API version could not be determined." msgstr "API-Version konnte nicht bestimmt werden." @@ -398,8 +397,8 @@ "About to delete child projects having non-zero quota. This should not be " "performed" msgstr "" -"Es wird versucht, untergeordnete Projekte mit einer Quote ungleich null zu " -"löschen. Dies sollte nicht ausgeführt werden" +"Es wird versucht, untergeordnete Projekte mit einem Kontingent ungleich null " +"zu löschen. Dies sollte nicht ausgeführt werden." msgid "Access list not available for public volume types." msgstr "Zugriffsliste ist für öffentliche Datenträgertypen nicht verfügbar." @@ -408,7 +407,7 @@ msgstr "Fehler beim Aktivieren oder Inaktivieren von QoS." msgid "Activate snapshot error." -msgstr "Fehler beim Aktivieren der Momentaufnahme." +msgstr "Fehler beim Aktivieren der Schattenkopie." msgid "Add FC port to host error." msgstr "Fehler beim Hinzufügen des FC-Ports zum Host." @@ -420,7 +419,7 @@ msgstr "Fehler beim Hinzufügen des Initiators zum Array." msgid "Add lun to cache error." -msgstr "Fehler beim Hinzufügen der LUN zum Cache." +msgstr "Fehler beim Hinzufügen der LUN zum Zwischenspeicher." msgid "Add lun to partition error." msgstr "Fehler beim Hinzufügen der LUN zur Partition." @@ -439,7 +438,7 @@ "All the specified storage pools to be managed do not exist. Please check " "your configuration. Non-existent pools: %s" msgstr "" -"Alle angegebenen Speicherpools, die verwaltet werden sollen, sind nicht " +"Keine der angegebenen Speicherpools, die verwaltet werden sollen, sind " "vorhanden. Überprüfen Sie Ihre Konfiguration. Nicht vorhandene Pools: %s" msgid "An API version request must be compared to a VersionedMethod object." @@ -449,10 +448,10 @@ #, python-format msgid "An error has occured in SheepdogDriver. (Reason: %(reason)s)" -msgstr "In SheepdogDriver ist ein Fehler aufgetreten. (Grund: %(reason)s)" +msgstr "In SheepdogDriver ist ein Fehler aufgetreten. (Ursache: %(reason)s)" msgid "An error has occurred during backup operation" -msgstr "Während dem Datensicherungsvorgang ist ein Fehler aufgetreten" +msgstr "Während des Datensicherungsvorgangs ist ein Fehler aufgetreten." #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." @@ -517,7 +516,8 @@ "of its parents." msgstr "" "Ein Benutzer mit einem Token, als dessen Bereich ein Unterprojekt festgelegt " -"wurde, darf die Quote der zugehörigen übergeordneten Elemente sehen." +"wurde, darf das Kontingent der zugehörigen übergeordneten Elemente nicht " +"anzeigen." msgid "Append port group description error." msgstr "Fehler beim Anhängen der Portgruppenbeschreibung." @@ -561,17 +561,17 @@ #, python-format msgid "Attempt to transfer %s with invalid auth key." -msgstr "Versuch, %s mit ungültigem Schlüssel zu übertragen." +msgstr "Versuch, %s mit ungültigem Autorisierungsschlüssel zu übertragen." #, python-format msgid "Auth group [%s] details not found in CloudByte storage." msgstr "" -"Details der Authentifizierungsgruppe [%s] in CloudByte-Speicher nicht " +"Details der Authentifizierungsgruppe [%s] nicht im CloudByte-Speicher " "gefunden." msgid "Auth user details not found in CloudByte storage." msgstr "" -"Details des Authentifizierungsbenutzers in CloudByte-Speicher nicht gefunden." +"Details des Authentifizierungsbenutzers nicht im CloudByte-Speicher gefunden." msgid "Authentication error" msgstr "Authentifizierungsfehler" @@ -596,12 +596,12 @@ "Back-end QoS specs are not supported on this storage family and ONTAP " "version." msgstr "" -"Back-End-QoS-Spezifikationen werden für diese Speicherfamilie und ONTAP-" +"Backend-QoS-Spezifikationen werden für diese Speicherfamilie und ONTAP-" "Version nicht unterstützt." #, python-format msgid "Backend doesn't exist (%(backend)s)" -msgstr "Back-End ist nicht vorhanden (%(backend)s)" +msgstr "Backend ist nicht vorhanden (%(backend)s)." msgid "Backend has already been failed over. Unable to fail back." msgstr "" @@ -610,49 +610,49 @@ #, python-format msgid "Backend reports: %(message)s" -msgstr "Back-End-Berichte: %(message)s" +msgstr "Backendberichte: %(message)s" msgid "Backend reports: item already exists" -msgstr "Back-End-Berichte: Element bereits vorhanden" +msgstr "Backendberichte: Element ist bereits vorhanden." msgid "Backend reports: item not found" -msgstr "Back-End-Berichte: Element nicht gefunden" +msgstr "Backendberichte: Element nicht gefunden." msgid "Backend server not NaServer." -msgstr "Back-End-Server ist kein NaServer." +msgstr "Backend-Server ist kein NaServer." #, python-format msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "Zeitlimittreffer bei Back-End-Service-Wiederholung: %(timeout)s s" +msgstr "Zeitlimittreffer für Wiederholungen bei Backenddienst: %(timeout)s s" msgid "Backend storage did not configure fiber channel target." -msgstr "Back-End-Speicher hat Fibre Channel-Ziel nicht konfiguriert. " +msgstr "Backend-Speicher hat Fibre Channel-Ziel nicht konfiguriert. " msgid "Backing up an in-use volume must use the force flag." msgstr "" -"Um einen Datenträger, der im Gebrauch ist, zu sichern, muss das force-Flag " -"verwendet werden." +"Für die Sicherung eines Datenträgers mit dem Status 'in-use' muss das force-" +"Flag verwendet werden." #, python-format msgid "Backup %(backup_id)s could not be found." -msgstr "Sicherung %(backup_id)s konnte nicht gefunden werden." +msgstr "Die Sicherung %(backup_id)s wurde nicht gefunden." msgid "Backup RBD operation failed" -msgstr "RBD-Sicherungsoperation ist fehlgeschlagen" +msgstr "RBD-Sicherungsoperation ist fehlgeschlagen." msgid "Backup already exists in database." -msgstr "Sicherungskopie ist bereits in Datenbank vorhanden." +msgstr "Die Sicherungskopie ist bereits in Datenbank vorhanden." #, python-format msgid "Backup driver reported an error: %(message)s" -msgstr "Datensicherungstreiber meldete einen Fehler: %(message)s" +msgstr "Sicherungstreiber meldete einen Fehler: %(message)s" msgid "Backup id required" -msgstr "Datensicherungskennung erforderlich" +msgstr "Datensicherungs-ID erforderlich" msgid "Backup is not supported for GlusterFS volumes with snapshots." msgstr "" -"Sicherung wird für GlusterFS-Datenträger mit Momentaufnahmen nicht " +"Die Sicherung von GlusterFS-Datenträgern mit Schattenkopien wird nicht " "unterstützt." msgid "Backup is only supported for SOFS volumes without backing file." @@ -661,49 +661,51 @@ msgid "Backup is only supported for raw-formatted GlusterFS volumes." msgstr "" -"Sicherung wird nur für unformatierte GlusterFS-Datenträger unterstützt." +"Die Sicherung wird nur für unformatierte GlusterFS-Datenträger unterstützt." msgid "Backup is only supported for raw-formatted SOFS volumes." msgstr "Sicherung wird nur für unformatierte SOFS-Datenträger unterstützt." msgid "Backup operation of an encrypted volume failed." msgstr "" -"Sicherungsoperation eines verschlüsselten Datenträgers ist fehlgeschlagen." +"Die Sicherungsoperation eines verschlüsselten Datenträgers ist " +"fehlgeschlagen." #, python-format msgid "" "Backup service %(configured_service)s does not support verify. Backup id " "%(id)s is not verified. Skipping verify." msgstr "" -"Sicherungsservice %(configured_service)s unterstützt keine Überprüfung. " -"Sicherungs-ID %(id)s wurde nicht überprüft. Überprüfung wird übersprungen." +"Der Sicherungsdienst %(configured_service)s unterstützt keine Überprüfung. " +"Die Sicherungs-ID %(id)s wird nicht überprüft. Die Überprüfung wird " +"übersprungen." #, python-format msgid "" "Backup service %(service)s does not support verify. Backup id %(id)s is not " "verified. Skipping reset." msgstr "" -"Sicherungsservice %(service)s unterstützt keine Überprüfung. Sicherungs-ID " -"%(id)s wurde nicht überprüft. Zurücksetzung wird übersprungen." +"Der Sicherungsdienst %(service)s unterstützt keine Überprüfung. Die " +"Sicherungs-ID %(id)s wird nicht überprüft. Zurücksetzung wird übersprungen." #, python-format msgid "Backup should only have one snapshot but instead has %s" msgstr "" -"Sicherung sollte nur eine Momentaufnahme enthalten, stattdessen enthält sie " -"%s" +"Die Sicherung sollte nur eine Schattenkopie enthalten, stattdessen enthält " +"sie %s." msgid "Backup status must be available" -msgstr "Sicherungsstatus muss 'available' sein" +msgstr "Sicherungsstatus muss 'available' sein." #, python-format msgid "Backup status must be available and not %s." -msgstr "Datensicherungsstatus muss verfügbar sein und nicht %s." +msgstr "Sicherungsstatus muss 'verfügbar' sein und nicht '%s'." msgid "Backup status must be available or error" -msgstr "Sicherungsstatus muss 'available' oder 'error' sein" +msgstr "Sicherungsstatus muss 'available' oder 'error' sein." msgid "Backup to be restored has invalid size" -msgstr "Wiederherzustellende Sicherung hat ungültige Größe" +msgstr "Wiederherzustellende Sicherung hat ungültige Größe." #, python-format msgid "Bad Status line returned: %(arg)s." @@ -711,19 +713,19 @@ #, python-format msgid "Bad key(s) in quota set: %s" -msgstr "Falsche(r) Schlüssel in Quotensatz: %s" +msgstr "Falsche(r) Schlüssel in Kontingentsatz: %s" #, python-format msgid "" "Bad or unexpected response from the storage volume backend API: %(data)s" msgstr "" -"Fehlerhafte oder nicht erwartete Antwort von Back-End-API des Datenträgers: " +"Fehlerhafte oder nicht erwartete Antwort von Backend-API des Datenträgers: " "%(data)s" #, python-format msgid "Bad project format: project is not in proper format (%s)" msgstr "" -"Fehlerhaftes Projektformat: Projekt weist nicht das richtige Format auf (%s)" +"Fehlerhaftes Projektformat: Projekt weist nicht das richtige Format (%s) auf." #, python-format msgid "Bad request sent to Datera cluster:Invalid args: %(args)s | %(message)s" @@ -765,11 +767,11 @@ #, python-format msgid "Blockbridge configured with invalid auth scheme '%(auth_scheme)s'" msgstr "" -"Blockbridge mit ungültigem Authentifizierungsschema '%(auth_scheme)s' " -"konfiguriert" +"Blockbridge wurde mit dem ungültigen Authentifizierungsschema " +"'%(auth_scheme)s' konfiguriert." msgid "Blockbridge default pool does not exist" -msgstr "Blockbridge-Standardpool ist nicht vorhanden" +msgstr "Blockbridge-Standardpool ist nicht vorhanden." msgid "" "Blockbridge password not configured (required for auth scheme 'password')" @@ -778,7 +780,7 @@ "Authentifizierungsschema 'password')" msgid "Blockbridge pools not configured" -msgstr "Blockbridge-Pools nicht konfiguriert" +msgstr "Blockbridge-Pools wurden nicht konfiguriert." msgid "Blockbridge token not configured (required for auth scheme 'token')" msgstr "" @@ -792,14 +794,14 @@ #, python-format msgid "Brocade Fibre Channel Zoning CLI error: %(reason)s" -msgstr "Fehler bei der Brocade Fibre Channel-Zoning-CLI: %(reason)s" +msgstr "CLI-Fehler beim Brocade Fibre Channel-Zoning: %(reason)s" #, python-format msgid "Brocade Fibre Channel Zoning HTTP error: %(reason)s" -msgstr "Fehler bei Brocade Fibre Channel-Zoning-HTTP: %(reason)s" +msgstr "HTTP-Fehler beim Brocade Fibre Channel-Zoning: %(reason)s" msgid "CHAP secret should be 12-16 bytes." -msgstr "Geheimer CHAP-Schlüssel sollte aus 12-16 Bytes bestehen." +msgstr "Geheimer CHAP-Schlüssel sollte aus 12 bis 16 Bytes bestehen." #, python-format msgid "" @@ -835,19 +837,22 @@ "\"" msgid "CONCERTO version is not supported" -msgstr "CONCERTO-Version wird nicht unterstützt" +msgstr "CONCERTO-Version wird nicht unterstützt." #, python-format msgid "CPG (%s) doesn't exist on array" -msgstr "CPG (%s) ist auf Platteneinheit nicht vorhanden" +msgstr "CPG (%s) ist im Array nicht vorhanden." msgid "Cache name is None, please set smartcache:cachename in key." -msgstr "Cachename ist None. Legen Sie smartcache:cachename im Schlüssel fest." +msgstr "" +"Zwischenspeichername ist None. Legen Sie smartcache:cachename im Schlüssel " +"fest." #, python-format msgid "Cache volume %(cache_vol)sdoes not have snapshot %(cache_snap)s." msgstr "" -"Cachedatenträger %(cache_vol)s enthält Momentaufnahme %(cache_snap)s nicht." +"Der Zwischenspeicherdatenträger %(cache_vol)s enthält nicht die " +"Schattenkopie %(cache_snap)s." #, python-format msgid "Cache volume %s does not have required properties" @@ -863,7 +868,8 @@ #, python-format msgid "Can not find cache id by cache name %(name)s." -msgstr "Cache-ID nach Cachename %(name)s wurde nicht gefunden." +msgstr "" +"Zwischenspeicher-ID nach Zwischenspeichername %(name)s wurde nicht gefunden." #, python-format msgid "Can not find partition id by name %(name)s." @@ -899,11 +905,9 @@ #, python-format msgid "Can't find cache name on the array, cache name is: %(name)s." -msgstr "Cachename wurde im Array nicht gefunden. Cachename: %(name)s." - -#, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "LUN-ID wurde nicht in der Datenbank gefunden, Datenträger: %(id)s" +msgstr "" +"Zwischenspeichername wurde im Array nicht gefunden. Zwischenspeichername: " +"%(name)s." #, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." @@ -932,7 +936,7 @@ #, python-format msgid "Can't get volume id from snapshot, snapshot: %(id)s" msgstr "" -"Datenträger-ID kann nicht von der Schattenkopie abgerufen werden. " +"Datenträger-ID kann nicht aus der Schattenkopie abgerufen werden. " "Schattenkopie: %(id)s" #, python-format @@ -972,7 +976,7 @@ #, python-format msgid "Can't import LUN %s to Cinder. Already exists in a SplitMirror." msgstr "" -"LUN %s kann nicht in Cinder importiert werden. Sie ist bereits in einem " +"LUN %s kann nicht in Cinder importiert werden. Sie ist bereits in einem " "SplitMirror vorhanden." #, python-format @@ -1026,16 +1030,16 @@ "Cannot add volume %(volume_id)s to consistency group %(group_id)s because it " "has no volume type." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " -"hinzugefügt werden, da er über keinen Datenträgertyp verfügt." +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " +"hinzugefügt werden, da er keinen Datenträgertyp hat." #, python-format msgid "" "Cannot add volume %(volume_id)s to consistency group %(group_id)s because it " "is already in consistency group %(orig_group)s." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " -"hinzugefügt werden, da er bereits in Konsistenzgruppe %(orig_group)s " +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " +"hinzugefügt werden, da er bereits in der Konsistenzgruppe %(orig_group)s " "enthalten ist." #, python-format @@ -1043,15 +1047,15 @@ "Cannot add volume %(volume_id)s to consistency group %(group_id)s because " "volume cannot be found." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " -"hinzugefügt werden, da der Datenträger nicht gefunden werden kann." +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " +"hinzugefügt werden, da der Datenträger nicht gefunden wurde." #, python-format msgid "" "Cannot add volume %(volume_id)s to consistency group %(group_id)s because " "volume does not exist." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " "hinzugefügt werden, da der Datenträger nicht vorhanden ist." #, python-format @@ -1059,8 +1063,8 @@ "Cannot add volume %(volume_id)s to consistency group %(group_id)s because " "volume is in an invalid state: %(status)s. Valid states are: %(valid)s." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " -"hinzugefügt werden, da der Datenträger einen ungültigen Status aufweist: " +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " +"hinzugefügt werden, da der Datenträger einen ungültigen Status hat: " "%(status)s. Gültige Status sind: %(valid)s." #, python-format @@ -1068,7 +1072,7 @@ "Cannot add volume %(volume_id)s to consistency group %(group_id)s because " "volume type %(volume_type)s is not supported by the group." msgstr "" -"Datenträger %(volume_id)s kann nicht zu Konsistenzgruppe %(group_id)s " +"Der Datenträger %(volume_id)s kann nicht zur Konsistenzgruppe %(group_id)s " "hinzugefügt werden, da der Datenträgertyp %(volume_type)s von der Gruppe " "nicht unterstützt wird." @@ -1099,16 +1103,16 @@ msgid "" "Cannot create clone of size %(vol_size)s from volume of size %(src_vol_size)s" msgstr "" -"Klon mit Größe %(vol_size)s kann nicht von Datenträger der Größe " -"%(src_vol_size)s erstellt werden" +"Klon mit der Größe %(vol_size)s kann nicht aus einem Datenträger der Größe " +"%(src_vol_size)s erstellt werden." #, python-format msgid "" "Cannot create consistency group %(group)s because snapshot %(snap)s is not " "in a valid state. Valid states are: %(valid)s." msgstr "" -"Konsistenzgruppe %(group)s kann nicht erstellt werden, da Momentaufnahme " -"%(snap)s keinen gültigen Status aufweist. Gültige Status sind: %(valid)s." +"Konsistenzgruppe %(group)s kann nicht erstellt werden, da Schattenkopie " +"%(snap)s keinen gültigen Status hat. Gültige Status sind: %(valid)s." #, python-format msgid "" @@ -1116,8 +1120,7 @@ "%(source_vol)s is not in a valid state. Valid states are: %(valid)s." msgstr "" "Konsistenzgruppe %(group)s kann nicht erstellt werden, da Quellendatenträger " -"%(source_vol)s nicht in einem gültigen Status ist. Gültige Statusangaben: " -"%(valid)s." +"%(source_vol)s keinen gültigen Status hat. Gültige Status sind: %(valid)s." #, python-format msgid "Cannot create directory %s." @@ -1132,7 +1135,7 @@ msgid "" "Cannot create image of disk format: %s. Only vmdk disk format is accepted." msgstr "" -"Das Image des Plattenformats: %s kann nicht erstellt werden. Nur das vmdk-" +"Festplattenformat des Abbilds kann nicht erstellt werden: %s. Nur das vmdk-" "Plattenformat wird akzeptiert." #, python-format @@ -1144,45 +1147,45 @@ "Cannot create more than %(req)s volumes on the ESeries array when " "'netapp_enable_multiattach' is set to true." msgstr "" -"Auf dem ESeries-Array können nicht mehr als %(req)s Datenträger erstellt " -"werden, wenn 'netapp_enable_multiattach' auf true festgelegt wurde." +"Im ESeries-Array können nicht mehr als %(req)s Datenträger erstellt werden, " +"wenn 'netapp_enable_multiattach' auf true gesetzt wurde." #, python-format msgid "Cannot create or find an storage group with name %(sgGroupName)s." msgstr "" -"Eine Speichergruppe namens %(sgGroupName)s kann nicht erstellt oder gefunden " -"werden." +"Eine Speichergruppe mit dem Namen %(sgGroupName)s kann nicht erstellt oder " +"gefunden werden." #, python-format msgid "" "Cannot create volume of size %(vol_size)s from snapshot of size %(snap_size)s" msgstr "" -"Datenträger mit Größe %(vol_size)s kann nicht von Momentaufnahme der Größe " -"%(snap_size)s erstellt werden" +"Datenträger mit der Größe %(vol_size)s kann nicht aus einer Schattenkopie " +"der Größe %(snap_size)s erstellt werden." #, python-format msgid "Cannot create volume of size %s: not multiple of 8GB." msgstr "" -"Datenträger der Größe %s kann erstellt werden: Kein Vielfaches von 8 GB." +"Datenträger der Größe %s kann nicht erstellt werden: Kein Vielfaches von 8 " +"GB." #, python-format msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s" msgstr "" -"Kann volume_type mit dem Namen %(name)s und Spezifikationen %(extra_specs)s " -"nicht erstellen" +"volume_type mit dem Namen %(name)s und der Spezifikation %(extra_specs)s " +"kann nicht erstellt werden." #, python-format msgid "Cannot delete LUN %s while snapshots exist." -msgstr "" -"LUN %s kann nicht gelöscht werden, wenn Momentaufnahmen vorhanden sind." +msgstr "LUN %s kann nicht gelöscht werden, wenn Schattenkopien vorhanden sind." #, python-format msgid "" "Cannot delete cache volume: %(cachevol_name)s. It was updated at " "%(updated_at)s and currently has %(numclones)d volume instances." msgstr "" -"Cachedatenträger %(cachevol_name)s kann nicht gelöscht werden. Er wurde am " -"%(updated_at)s aktualisiert und enthält aktuell %(numclones)d " +"Zwischenspeicherdatenträger %(cachevol_name)s kann nicht gelöscht werden. Er " +"wurde am %(updated_at)s aktualisiert und enthält zurzeit %(numclones)d " "Datenträgerinstanzen." #, python-format @@ -1190,9 +1193,9 @@ "Cannot delete cache volume: %(cachevol_name)s. It was updated at " "%(updated_at)s and currently has %(numclones)s volume instances." msgstr "" -"Cachedatenträger %(cachevol_name)s kann nicht gelöscht werden. Er wurde am " -"%(updated_at)s aktualisiert und enthält aktuell %(numclones)s " -"Datenträgerinstanzen." +"Der Zwischenspeicherdatenträger %(cachevol_name)s kann nicht gelöscht " +"werden. Er wurde am %(updated_at)s aktualisiert und enthält zurzeit " +"%(numclones)s Datenträgerinstanzen." msgid "Cannot delete encryption specs. Volume type in use." msgstr "" @@ -1213,27 +1216,27 @@ msgid "" "Cannot find Controller Configuration Service for storage system " "%(storage_system)s." -msgstr "Controllerkonfigurationsservice für Speichersystem %(storage_system)s." +msgstr "Controllerkonfigurationsdienst für Speichersystem %(storage_system)s." #, python-format msgid "Cannot find Replication Service to create volume for snapshot %s." msgstr "" -"Replizierungsservice zum Erstellen von Datenträger für Momentaufnahme %s " -"kann nicht gefunden werden." +"Replikationsdienst zum Erstellen von Datenträger für Schattenkopie %s wurde " +"nicht gefunden." #, python-format msgid "Cannot find Replication Service to delete snapshot %s." msgstr "" -"Replizierungsservice zum Löschen der Momentaufnahme %s wurde nicht gefunden." +"Der Replikationsdienst zum Löschen der Schattenkopie %s wurde nicht gefunden." #, python-format msgid "Cannot find Replication service on system %s." -msgstr "Replizierungsservice auf System %s kann nicht gefunden werden." +msgstr "Replikationsdienst kann im System %s nicht gefunden werden." #, python-format msgid "Cannot find Volume: %(id)s. unmanage operation. Exiting..." msgstr "" -"Datenträger %(id)s wurde nicht gefunden. Operation zum Aufheben der " +"Der Datenträger %(id)s wurde nicht gefunden. Operation zum Aufheben der " "Verwaltung. Wird beendet..." #, python-format @@ -1244,15 +1247,14 @@ #, python-format msgid "Cannot find device number for volume %(volumeName)s." -msgstr "" -"Einheitennummer für Datenträger %(volumeName)s kann nicht gefunden werden." +msgstr "Gerätenummer für Datenträger %(volumeName)s wurde nicht gefunden." msgid "Cannot find migration task." -msgstr "Migrationstask wurde nicht gefunden." +msgstr "Migrationsaufgabe wurde nicht gefunden." #, python-format msgid "Cannot find replication service on system %s." -msgstr "Replizierungsservice auf System %s wurde nicht gefunden." +msgstr "Replikationsdienst kann im System %s nicht gefunden werden." #, python-format msgid "Cannot find source CG instance. consistencygroup_id: %s." @@ -1275,7 +1277,7 @@ "%(volumeName)s " msgstr "" "Speichergruppe %(sgGroupName)s kann für Datenträger %(volumeName)s nicht " -"abgerufen oder erstellt werden" +"abgerufen oder erstellt werden." #, python-format msgid "Cannot get or create initiator group: %(igGroupName)s. " @@ -1292,7 +1294,7 @@ "%(maskingViewInstanceName)s. " msgstr "" "Speichergruppe %(sgGroupName)s kann nicht aus Maskenansicht " -"%(maskingViewInstanceName)s. " +"%(maskingViewInstanceName)s abgerufen werden. " #, python-format msgid "" @@ -1313,14 +1315,16 @@ msgstr "Die Portgruppe konnte nicht aus der Maskenansicht abgerufen werden." msgid "Cannot mount Scality SOFS, check syslog for errors" -msgstr "Scality-SoFS kann nicht angehängt werden. Syslog auf Fehler überprüfen" +msgstr "" +"Scality-SoFS kann nicht eingehängt werden. Überprüfen Sie das " +"Systemprotokoll auf Fehler." msgid "Cannot ping DRBDmanage backend" -msgstr "DRBDmanage-Back-End kann nicht mit Ping überprüft werden" +msgstr "DRBDmanage-Backend kann nicht mit Ping überprüft werden." #, python-format msgid "Cannot place volume %(id)s on %(host)s" -msgstr "Datenträger %(id)s kann nicht auf %(host)s angeordnet werden" +msgstr "Der Datenträger %(id)s kann nicht auf %(host)s angeordnet werden." #, python-format msgid "" @@ -1328,21 +1332,21 @@ "group %(name)s from source." msgstr "" "Es können nicht sowohl 'cgsnapshot_id' als auch 'source_cgid' angegeben " -"werden, um Konsistenzgruppe %(name)s aus Quelle zu erstellen." +"werden, um die Konsistenzgruppe %(name)s aus der Quelle zu erstellen." msgid "Cannot register resource" -msgstr "Kann Ressource nicht registrieren" +msgstr "Registrieren der Ressource nicht möglich." msgid "Cannot register resources" -msgstr "Kann Ressourcen nicht registrieren" +msgstr "Registrieren der Ressourcen nicht möglich." #, python-format msgid "" "Cannot remove volume %(volume_id)s from consistency group %(group_id)s " "because it is not in the group." msgstr "" -"Datenträger %(volume_id)s kann nicht aus Konsistenzgruppe %(group_id)s " -"entfernt werden, da er sich nicht in der Gruppe befindet." +"Der Datenträger %(volume_id)s kann nicht aus der Konsistenzgruppe " +"%(group_id)s entfernt werden, da er sich nicht in der Gruppe befindet." #, python-format msgid "" @@ -1350,17 +1354,16 @@ "because volume is in an invalid state: %(status)s. Valid states are: " "%(valid)s." msgstr "" -"Datenträger %(volume_id)s kann nicht aus Konsistenzgruppe %(group_id)s " -"entfernt werden, da der Datenträger einen ungültigen Status aufweist: " -"%(status)s. Gültige Status sind: %(valid)s." +"Datenträger %(volume_id)s kann nicht aus der Konsistenzgruppe %(group_id)s " +"entfernt werden, da der Datenträger einen ungültigen Status hat: %(status)s. " +"Gültige Status sind: %(valid)s." #, python-format msgid "Cannot retype from HPE3PARDriver to %s." msgstr "Typänderung von HPE3PARDriver in %s nicht möglich." msgid "Cannot retype from one 3PAR array to another." -msgstr "" -"Typänderung von einer 3PAR-Platteneinheit in eine andere nicht möglich. " +msgstr "Typänderung von einem 3PAR-Array in einen anderen nicht möglich. " msgid "Cannot retype to a CPG in a different domain." msgstr "Typänderung in CPG in einer anderen Domäne nicht möglich. " @@ -1378,8 +1381,8 @@ msgid "Cannot set both hitachi_serial_number and hitachi_unit_name." msgstr "" -"hitachi_serial_number und hitachi_unit_name können nicht beide festgelegt " -"werden." +"hitachi_serial_number und hitachi_unit_name können nicht gemeinsam " +"festgelegt werden." msgid "Cannot specify both protection domain name and protection domain id." msgstr "" @@ -1406,7 +1409,7 @@ #, python-format msgid "Cannot update volume_type %(id)s" -msgstr "volume_type %(id)s kann nicht aktualisiert werden" +msgstr "volume_type %(id)s kann nicht aktualisiert werden." #, python-format msgid "Cannot verify the existence of object:%(instanceName)s." @@ -1418,13 +1421,13 @@ #, python-format msgid "CgSnapshot %(cgsnapshot_id)s could not be found." -msgstr "CgSnapshot %(cgsnapshot_id)s konnte nicht gefunden werden." +msgstr "CgSnapshot %(cgsnapshot_id)s wurde nicht gefunden." msgid "Cgsnahost is empty. No consistency group will be created." -msgstr "Cgsnahost ist leer. Keine Konsistenzgruppe wird erstellt." +msgstr "Cgsnahost ist leer. Es wird keine Konsistenzgruppe erstellt." msgid "Cgsnapshot status must be available or error" -msgstr "Cgsnapshot-Status muss 'available' oder 'error' sein" +msgstr "Cgsnapshot-Status muss 'available' oder 'error' sein." msgid "Change hostlun id error." msgstr "Fehler beim Ändern der Host-LUN-ID." @@ -1445,16 +1448,16 @@ msgid "Check access permissions for the ZFS share assigned to this driver." msgstr "" "Prüfen Sie die Zugriffsberechtigungen für die diesem Treiber zugeordneten " -"freigegebenen Verzeichnisse." +"freigegebenen ZFS-Verzeichnisse." msgid "Check hostgroup associate error." msgstr "Fehler beim Prüfen der Hostgruppenzuordnung." msgid "Check initiator added to array error." -msgstr "Fehler beim Prüfen des Initiators, der zu Array hinzugefügt wurde." +msgstr "Fehler beim Prüfen des Initiators, der dem Array hinzugefügt wurde." msgid "Check initiator associated to host error." -msgstr "Fehler beim Prüfen des Initiators, der zu Host zugeordnet wurde." +msgstr "Fehler beim Prüfen des Initiators, der dem Host zugeordnet wurde." msgid "Check lungroup associate error." msgstr "Fehler beim Prüfen der LUN-Gruppenzuordnung." @@ -1466,7 +1469,7 @@ "Check the state of the http service. Also ensure that the https port number " "is the same as the one specified in cinder.conf." msgstr "" -"Prüfen Sie den Zustand des http-Service. Stellen Sie auch sicher, dass die " +"Prüfen Sie den Zustand des http-Diensts. Stellen Sie auch sicher, dass die " "https-Portnummer der in cinder.conf angegebenen Portnummer entspricht." msgid "Chunk size is not multiple of block size for creating hash." @@ -1475,11 +1478,11 @@ #, python-format msgid "Cisco Fibre Channel Zoning CLI error: %(reason)s" -msgstr "Fehler bei der Cisco Fibre Channel-Zoning-CLI: %(reason)s" +msgstr "CLI-Fehler beim der Cisco Fibre Channel-Zoning: %(reason)s" #, python-format msgid "Clone feature is not licensed on %(storageSystem)s." -msgstr "Klonfunktion ist nicht lizenziert auf %(storageSystem)s." +msgstr "Klonfunktion ist für %(storageSystem)s nicht lizenziert." #, python-format msgid "" @@ -1492,7 +1495,7 @@ msgid "" "Cluster is not formatted. You should probably perform \"dog cluster format\"." msgstr "" -"Cluster ist nicht formatiert. Sie sollten wahrscheinlich \"dog cluster format" +"Cluster ist nicht formatiert. Sie müssen möglicherweise \"dog cluster format" "\" ausführen." #, python-format @@ -1504,7 +1507,7 @@ #, python-format msgid "Command %(cmd)s blocked in the CLI and was cancelled" -msgstr "Befehl %(cmd)s war in der CLI geblockt und wurde abgebrochen" +msgstr "Befehl %(cmd)s blockierte in der CLI und wurde abgebrochen." #, python-format msgid "CommandLineHelper._wait_for_a_condition: %s timeout" @@ -1556,21 +1559,21 @@ "in the volume type extra specs." msgstr "" "Widersprüchliche QoS-Spezifikationen in Datenträgertyp %s: Wenn QoS-" -"Spezifikation zu Datenträgertyp zugeordnet wird, ist das traditionelle " -"\"netapp:qos_policy_group\" in den zusätzlichen Spezifikationen des " -"Datenträgertyps nicht zulässig." +"Spezifikation zu Datenträgertyp zugeordnet wird, ist die traditionelle " +"Einstellung \"netapp:qos_policy_group\" in den zusätzlichen Spezifikationen " +"des Datenträgertyps nicht zulässig." #, python-format msgid "Connection to glance failed: %(reason)s" -msgstr "Verbindung mit glance fehlgeschlagen: %(reason)s" +msgstr "Verbindung mit Glance fehlgeschlagen: %(reason)s" #, python-format msgid "Connection to swift failed: %(reason)s" -msgstr "Verbindung mit swift fehlgeschlagen: %(reason)s" +msgstr "Verbindung mit Swift fehlgeschlagen: %(reason)s" #, python-format msgid "Connector does not provide: %s" -msgstr "Connector stellt nicht bereit: %s" +msgstr "Connector stellt Folgendes nicht bereit: %s" #, python-format msgid "Connector doesn't have required information: %(missing)s" @@ -1581,33 +1584,33 @@ "Consistency group %s still contains volumes. The force flag is required to " "delete it." msgstr "" -"Konsistenzgruppe %s enthält noch Datenträger. Das Zwangsausführungsflag ist " -"erforderlich, damit die Löschung erfolgen kann." +"Konsistenzgruppe %s enthält noch Datenträger. Zum Löschen muss das " +"Zwangsausführungsflag verwendet werden." #, python-format msgid "Consistency group %s still has dependent cgsnapshots." -msgstr "Konsistenzgruppe %s verfügt noch immer über abhängige Cgsnapshots." +msgstr "Konsistenzgruppe %s hat immer noch abhängige Cgsnapshots." msgid "Consistency group is empty. No cgsnapshot will be created." -msgstr "Konsistenzgruppe ist leer. Es wird kein Cgsnapshot erstellt." +msgstr "Die Konsistenzgruppe ist leer. Es wird kein Cgsnapshot erstellt." #, python-format msgid "" "Consistency group status must be available or error, but current status is: " "%s" msgstr "" -"Konsistenzgruppenstatus muss 'available' oder 'error' lauten, aber der " -"aktuelle Status lautet %s" +"Der Status der Konsistenzgruppe muss 'available' oder 'error' sein, aber der " +"aktuelle Status ist %s." #, python-format msgid "Consistency group status must be available, but current status is: %s." msgstr "" -"Konsistenzgruppenstatus muss verfügbar sein, der aktuelle Status ist jedoch " -"%s." +"Der Status der Konsistenzgruppe muss 'available' sein, aber der aktuelle " +"Status ist: %s." #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." -msgstr "ConsistencyGroup %(consistencygroup_id)s konnte nicht gefunden werden." +msgstr "ConsistencyGroup %(consistencygroup_id)s wurde nicht gefunden." msgid "Container" msgstr "Container" @@ -1624,12 +1627,12 @@ msgstr "Container ist kleiner als die erforderliche Dateigröße." msgid "Content type not supported." -msgstr "Inhaltstyp nicht unterstützt." +msgstr "Inhaltstyp wird nicht unterstützt." #, python-format msgid "Controller Configuration Service not found on %(storageSystemName)s." msgstr "" -"Controllerkonfigurationsservice nicht gefunden auf %(storageSystemName)s." +"Controllerkonfigurationsdienst wurde in %(storageSystemName)s nicht gefunden." #, python-format msgid "Controller IP '%(host)s' could not be resolved: %(e)s." @@ -1637,11 +1640,11 @@ #, python-format msgid "Converted to %(f1)s, but format is now %(f2)s" -msgstr "In %(f1)s konvertiert, Format ist nun jedoch %(f2)s" +msgstr "In %(f1)s konvertiert, Format ist nun jedoch %(f2)s." #, python-format msgid "Converted to %(vol_format)s, but format is now %(file_format)s" -msgstr "In %(vol_format)s konvertiert, Format ist nun jedoch %(file_format)s" +msgstr "In %(vol_format)s konvertiert, Format ist nun jedoch %(file_format)s." #, python-format msgid "Converted to raw, but format is now %s" @@ -1649,7 +1652,7 @@ #, python-format msgid "Converted to raw, but format is now %s." -msgstr "In unformatierten Status konvertiert, Format ist nun jedoch %s." +msgstr "In unformatierten Zustand konvertiert, Format ist nun jedoch %s." msgid "Coordinator uninitialized." msgstr "Koordinator wurde nicht initialisiert." @@ -1659,15 +1662,15 @@ "Copy volume task failed: convert_to_base_volume: id=%(id)s, status=" "%(status)s." msgstr "" -"Datenträgerkopiertask fehlgeschlagen: convert_to_base_volume: ID=%(id)s, " +"Datenträgerkopieraufgabe fehlgeschlagen: convert_to_base_volume: ID=%(id)s, " "'Status=%(status)s' wird ignoriert." #, python-format msgid "" "Copy volume task failed: create_cloned_volume id=%(id)s, status=%(status)s." msgstr "" -"Datenträgerkopiertask fehlgeschlagen: create_cloned_volume id=%(id)s, Status=" -"%(status)s." +"Datenträgerkopieraufgabe fehlgeschlagen: create_cloned_volume ID=%(id)s, " +"Status=%(status)s." #, python-format msgid "Copying metadata from %(src_type)s %(src_id)s to %(vol_id)s." @@ -1679,7 +1682,7 @@ "'backup_swift_auth_url'." msgstr "" "Es konnte nicht ermittelt werden, welcher Keystone-Endpunkt zu verwenden " -"ist. Dies kann entweder im Servicekatalog oder mit der cinder.conf-" +"ist. Dies kann entweder im Dienstkatalog oder mit der cinder.conf-" "Konfigurationsoption 'backup_swift_auth_url' festgelegt werden." msgid "" @@ -1687,7 +1690,7 @@ "the service catalog or with the cinder.conf config option 'backup_swift_url'." msgstr "" "Es konnte nicht ermittelt werden, welcher Swift-Endpunkt zu verwenden ist. " -"Dies kann entweder im Servicekatalog oder mit der cinder.conf-" +"Dies kann entweder im Dienstkatalog oder mit der cinder.conf-" "Konfigurationsoption 'backup_swift_url' festgelegt werden." msgid "Could not find DISCO wsdl file." @@ -1695,26 +1698,25 @@ #, python-format msgid "Could not find GPFS cluster id: %s." -msgstr "GPFS-Clusterkennung konnte nicht gefunden werden: %s." +msgstr "GPFS-Cluster-ID wurde nicht gefunden: %s." #, python-format msgid "Could not find GPFS file system device: %s." -msgstr "GPFS-Dateisystemgerät konnte nicht gefunden werden: %s." +msgstr "GPFS-Dateisystemgerät wurde nicht gefunden: %s." #, python-format msgid "Could not find a host for volume %(volume_id)s with type %(type_id)s." msgstr "" -"Es konnte kein Host für Datenträger %(volume_id)s mit Typ %(type_id)s " -"gefunden werden." +"Es wurde kein Host für den Datenträger %(volume_id)s mit dem Typ %(type_id)s " +"gefunden." #, python-format msgid "Could not find config at %(path)s" -msgstr "Konfiguration konnte unter %(path)s nicht gefunden werden" +msgstr "Konfiguration wurde nicht im Pfad %(path)s gefunden." #, python-format msgid "Could not find iSCSI export for volume %(volumeName)s." -msgstr "" -"iSCSI-Export für Datenträger %(volumeName)s konnte nicht gefunden werden." +msgstr "iSCSI-Export für Datenträger %(volumeName)s wurde nicht gefunden." #, python-format msgid "Could not find iSCSI export for volume %s" @@ -1727,15 +1729,15 @@ #, python-format msgid "Could not find key in output of command %(cmd)s: %(out)s." msgstr "" -"Schlüssel in Ausgabe des Befehls %(cmd)s wurde nicht gefunden: %(out)s." +"Schlüssel wurde nicht in der Ausgabe des Befehls %(cmd)s gefunden: %(out)s." #, python-format msgid "Could not find parameter %(param)s" -msgstr "Parameter %(param)s konnte nicht gefunden werden" +msgstr "Der Parameter %(param)s wurde nicht gefunden." #, python-format msgid "Could not find target %s" -msgstr "Ziel %s konnte nicht gefunden werden" +msgstr "Das Ziel %s wurde nicht gefunden." #, python-format msgid "Could not find the parent volume for Snapshot '%s' on array." @@ -1754,7 +1756,7 @@ #, python-format msgid "Could not load paste app '%(name)s' from %(path)s" -msgstr "paste-App '%(name)s' konnte von %(path)s nicht geladen werden" +msgstr "paste-App '%(name)s' konnte nicht aus %(path)s geladen werden." #, python-format msgid "Could not read %s. Re-running with sudo" @@ -1781,7 +1783,7 @@ #, python-format msgid "Could not start consistency group snapshot %s." -msgstr "Konsistenzgruppenmomentaufnahme %s konnte nicht gestartet werden." +msgstr "Konsistenzgruppenschattenkopie %s konnte nicht gestartet werden." #, python-format msgid "Counter %s not found" @@ -1795,16 +1797,16 @@ "Create backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Erstellung von Sicherung abgebrochen. Erwartet war Sicherungsstatus " -"%(expected_status)s, Status ist jedoch %(actual_status)s." +"Erstellung von Sicherung abgebrochen. Sicherungsstatus %(expected_status)s " +"erwartet, tatsächlicher Status ist %(actual_status)s." #, python-format msgid "" "Create backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Erstellung von Sicherung abgebrochen. Erwartet war Volumenstatus " -"%(expected_status)s, Status ist jedoch %(actual_status)s." +"Erstellung von Sicherung abgebrochen. Datenträgerstatus %(expected_status)s " +"erwartet, tatsächlicher Status ist %(actual_status)s." msgid "Create consistency group failed." msgstr "Erstellen der Konsistenzgruppe fehlgeschlagen." @@ -1814,8 +1816,8 @@ "Create encrypted volumes with type %(type)s from image %(image)s is not " "supported." msgstr "" -"Das Erstellen von verschlüsselten Datenträgern mit Typ %(type)s aus Image " -"%(image)s wird nicht unterstützt." +"Das Erstellen von verschlüsselten Datenträgern des Typs %(type)s aus dem " +"Abbild %(image)s wird nicht unterstützt." msgid "Create export for volume failed." msgstr "Erstellen des Exports für Datenträger fehlgeschlagen." @@ -1840,7 +1842,9 @@ msgstr "Fehler beim Erstellen der LUN-Gruppe." msgid "Create manager volume flow failed." -msgstr "Datenträgerfluss zum Erstellen eines Managers fehlgeschlagen." +msgstr "" +"Der Ablauf für die Erstellung eines Verwaltungsdatenträgers ist " +"fehlgeschlagen." msgid "Create port group error." msgstr "Fehler beim Erstellen der Portgruppe." @@ -1853,14 +1857,14 @@ msgstr "Fehler beim Erstellen des Replikationspaars. Fehler: %s." msgid "Create snapshot error." -msgstr "Fehler beim Erstellen der Momentaufnahme." +msgstr "Fehler beim Erstellen der Schattenkopie." #, python-format msgid "Create volume error. Because %s." -msgstr "Fehler beim Erstellen des Datenträgers. Grund: %s." +msgstr "Fehler beim Erstellen des Datenträgers. Ursache: %s." msgid "Create volume failed." -msgstr "Erstellung des Datenträgers fehlgeschlagen." +msgstr "Erstellen von Datenträger fehlgeschlagen." msgid "Creating a consistency group from a source is not currently supported." msgstr "" @@ -1885,7 +1889,9 @@ #, python-format msgid "Creating usages for %(begin_period)s until %(end_period)s" -msgstr "Nutzungen von %(begin_period)s bis %(end_period)s erstellen" +msgstr "" +"Es werden Nutzungen für die Zeit von %(begin_period)s bis %(end_period)s " +"erstellt." msgid "Current host isn't part of HGST domain." msgstr "Der aktuelle Host ist nicht Teil der HGST-Domäne." @@ -1896,18 +1902,18 @@ "allowed" msgstr "" "Aktueller Host nicht gültig für Datenträger %(id)s mit Typ %(type)s, " -"Migration nicht zulässig" +"Migration nicht zulässig." #, python-format msgid "" "Currently mapped host for volume %(vol)s is in unsupported host group with " "%(group)s." msgstr "" -"Der aktuell zugeordnete Host für Datenträger %(vol)s befindet sich in einer " -"nicht unterstützten Hostgruppe mit %(group)s." +"Der zurzeit zugeordnete Host für den Datenträger %(vol)s befindet sich in " +"einer nicht unterstützten Hostgruppe mit %(group)s." msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "VERALTET: Version 1 von Cinder-API implementieren." +msgstr "Veraltet: Version 1 der Cinder-API implementieren." msgid "DEPRECATED: Deploy v2 of the Cinder API." msgstr "Veraltet: Version 2 der Cinder-API implementieren." @@ -1925,11 +1931,12 @@ "not found." msgstr "" "DRBDmanage-Treiberinstallationsfehler: Einige erforderliche Bibliotheken " -"(dbus, drbdmanage.*) nicht gefunden." +"(dbus, drbdmanage.*) wurden nicht gefunden." #, python-format msgid "DRBDmanage expected one resource (\"%(res)s\"), got %(n)d" -msgstr "DRBDmanage hat eine Ressource erwartet (\"%(res)s\"), erhalten %(n)d" +msgstr "" +"DRBDmanage hat eine Ressource erwartet (\"%(res)s\"), aber %(n)d erhalten." #, python-format msgid "" @@ -1993,7 +2000,7 @@ "'%(dedup_version)s'. Version '%(version)s' ist installiert." msgid "Dedup luns cannot be extended" -msgstr "Dedup-LUNs können nicht erweitert werden" +msgstr "Dedup-LUNs können nicht erweitert werden." msgid "" "Deduplication Enabler is not installed. Can not create deduplicated volume" @@ -2010,9 +2017,9 @@ "%(res)s, it is now deprecated. Please use the default quota class for " "default quota." msgstr "" -"Standardquote für Ressource %(res)s wird durch den Standardquotenflag quota_" -"%(res)s festgelegt, der nun veraltet ist. Verwenden Sie die " -"Standardquotenklasse für die Standardquote. " +"Das Standardkontingent für die Ressource %(res)s wird über die " +"Standardkontingentmarkierung quota_%(res)s festgelegt, die jetzt veraltet " +"ist. Verwenden Sie für das Standardkontingent die Standardkontingentklasse. " msgid "Default volume type can not be found." msgstr "Standarddatenträgertyp wurde nicht gefunden." @@ -2020,8 +2027,8 @@ msgid "" "Defines the set of exposed pools and their associated backend query strings" msgstr "" -"Definiert die Gruppe der verfügbaren Pools und deren zugehörige Back-End-" -"Abfragezeichenfolgen" +"Definiert die Gruppe der verfügbaren Pools und deren zugehörige Backend-" +"Abfragezeichenketten." msgid "Delete LUNcopy error." msgstr "Fehler beim Löschen der LUN-Kopie." @@ -2038,8 +2045,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"Löschen von Sicherung abgebrochen, der derzeit konfigurierte " -"Sicherungsservice [%(configured_service)s] ist nicht der Sicherungsservice, " +"Löschen von Sicherung abgebrochen. Der derzeit konfigurierte " +"Sicherungsdienst [%(configured_service)s] ist nicht der Sicherungsdienst, " "der zum Erstellen dieser Sicherung [%(backup_service)s] verwendet wurde." msgid "Delete consistency group failed." @@ -2073,23 +2080,23 @@ msgstr "Fehler beim Löschen der Portgruppe aus der Zuordnungsansicht." msgid "Delete snapshot error." -msgstr "Fehler beim Löschen der Momentaufnahme." +msgstr "Fehler beim Löschen der Schattenkopie." #, python-format msgid "Delete snapshot of volume not supported in state: %s." msgstr "" -"Löschen der Momentaufnahme des Datenträgers im Status %s nicht unterstützt." +"Löschen der Schattenkopie des Datenträgers im Status %s nicht unterstützt." #, python-format msgid "" "Delete_backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Delete_backup abgebrochen. Erwartet war Sicherungsstatus " -"%(expected_status)s, Status ist jedoch %(actual_status)s." +"Delete_backup abgebrochen. Sicherungsstatus %(expected_status)s erwartet, " +"tatsächlicher Status ist %(actual_status)s." msgid "Deleting volume from database and skipping rpc." -msgstr "Datenträger aus Datenbank löschen und rpc überspringen." +msgstr "Datenträger wird aus Datenbank gelöscht und rpc wird übersprungen." #, python-format msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)." @@ -2097,7 +2104,7 @@ msgid "Dell API 2.1 or later required for Consistency Group support" msgstr "" -"Dell API 2.1 oder höher für Konsistenzgruppenunterstützung erforderlich" +"Dell API 2.1 oder höher für Konsistenzgruppenunterstützung erforderlich." msgid "" "Dell Cinder driver configuration error replication not supported with direct " @@ -2113,7 +2120,7 @@ "gefunden." msgid "Deploy v3 of the Cinder API." -msgstr "Version 3 der Cinder-API implementieren." +msgstr "Implementieren Sie Version 3 der Cinder-API." msgid "Describe-resource is admin only functionality" msgstr "'Describe-resource' ist eine reine Administratorfunktion." @@ -2154,7 +2161,7 @@ "Der erwartete Schlüssel %(key)s wurde in %(fun)s nicht gefunden: %(raw)s." msgid "Disabled reason contains invalid characters or is too long" -msgstr "Ursache für Inaktivierung: enthält ungültige Zeichen oder ist zu lang" +msgstr "Ursache für Inaktivierung: Enthält ungültige Zeichen oder ist zu lang." #, python-format msgid "Domain with name %s wasn't found." @@ -2165,9 +2172,9 @@ "Downlevel GPFS Cluster Detected. GPFS Clone feature not enabled in cluster " "daemon level %(cur)s - must be at least at level %(min)s." msgstr "" -"Älterer Version von GPFS-Cluster erkannt. GPFS-Klonfunktion ist nicht " -"aktiviert in der Cluster-Dämonstufe %(cur)s - es muss mindestens Stufe " -"%(min)s vorhanden sein." +"Ältere Version von GPFS-Cluster erkannt. GPFS-Klonfunktion ist nicht in der " +"Cluster-Dämonstufe %(cur)s aktiviert: Es muss mindestens Stufe %(min)s " +"vorhanden sein." #, python-format msgid "Driver initialize connection failed (error: %(err)s)." @@ -2181,15 +2188,15 @@ "Schattenkopie hat, die nicht migriert werden darf." msgid "Driver must implement initialize_connection" -msgstr "Treiber muss initialize_connection implementieren" +msgstr "Treiber muss initialize_connection implementieren." #, python-format msgid "" "Driver successfully decoded imported backup data, but there are missing " "fields (%s)." msgstr "" -"Treiber hat die importierten Sicherungsdaten erfolgreich decodiert, aber es " -"fehlen Felder (%s)." +"Der Treiber hat die importierten Sicherungsdaten erfolgreich entschlüsselt, " +"aber es fehlen Felder (%s)." #, python-format msgid "" @@ -2197,8 +2204,8 @@ "SSC extra specs. The proxy version must be at at least %(min_version)s." msgstr "" "E-series-Proxy-API-Version %(current_version)s unterstützt nicht den " -"gesamten Satz an zusätzlichen SSC-Spezifikationen. Mindestens erforderliche " -"Proxy-Version: %(min_version)s." +"vollständigen Satz an zusätzlichen SSC-Spezifikationen. Mindestens " +"erforderliche Proxy-Version: %(min_version)s." #, python-format msgid "" @@ -2221,7 +2228,7 @@ "values." msgstr "" "EcomServerIp, EcomServerPort, EcomUserName, EcomPassword müssen gültige " -"Werte besitzen." +"Werte haben." #, python-format msgid "" @@ -2237,7 +2244,7 @@ "error statement for valid values." msgstr "" "Entweder SLO %(slo)s oder Workload %(workload)s ist ungültig. Untersuchen " -"Sie vorherige Fehlermeldung auf gültige Werte." +"Sie die vorherige Fehlermeldung auf gültige Werte." msgid "Either hitachi_serial_number or hitachi_unit_name is required." msgstr "" @@ -2245,7 +2252,8 @@ #, python-format msgid "Element Composition Service not found on %(storageSystemName)s." -msgstr "Elementkompositionsservice nicht gefunden auf %(storageSystemName)s. " +msgstr "" +"Elementkompositionsdienst wurde in %(storageSystemName)s nicht gefunden. " msgid "Enables QoS." msgstr "Aktiviert QoS." @@ -2257,7 +2265,8 @@ msgstr "Aktiviert Replikation." msgid "Ensure that configfs is mounted at /sys/kernel/config." -msgstr "Stellen Sie sicher, dass configfs an /sys/kernel/config angehängt ist." +msgstr "" +"Stellen Sie sicher, dass configfs an /sys/kernel/config eingehängt ist." #, python-format msgid "" @@ -2285,8 +2294,8 @@ "Project: %(project)s Clone project: %(clone_proj)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Klonen von Momentaufnahme %(snapshot)s für Datenträger %(lun)s " -"von Pool %(pool)s Projekt: %(project)s Klonprojekt: %(clone_proj)s " +"Fehler beim Klonen von Schattenkopie %(snapshot)s für Datenträger %(lun)s " +"von Pool %(pool)s Projekt: %(project)s Klonprojekt: %(clone_proj)s. " "Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s." #, python-format @@ -2372,7 +2381,7 @@ "Error Creating Share: %(name)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"Fehler beim Erstellen von freigegebenem Verzeichnis %(name)s Rückgabecode: " +"Fehler beim Erstellen von freigegebenem Verzeichnis %(name)s. Rückgabecode: " "%(ret.status)d Nachricht: %(ret.data)s." #, python-format @@ -2380,8 +2389,8 @@ "Error Creating Snapshot: %(snapshot)s onVolume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Erstellen von Momentaufnahme %(snapshot)s für Datenträger " -"%(lun)s in Pool: %(pool)s Projekt: %(project)s Rückgabecode: %(ret.status)d " +"Fehler beim Erstellen von Schattenkopie %(snapshot)s für Datenträger %(lun)s " +"in Pool: %(pool)s Projekt: %(project)s. Rückgabecode: %(ret.status)d " "Nachricht: %(ret.data)s." #, python-format @@ -2389,7 +2398,7 @@ "Error Creating Snapshot: %(snapshot)s onshare: %(share)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Erstellen von Momentaufnahme %(snapshot)s für freigegebenes " +"Fehler beim Erstellen von Schattenkopie %(snapshot)s für freigegebenes " "Verzeichnis %(share)s in Pool %(pool)s Projekt: %(project)s Rückgabecode: " "%(ret.status)d Nachricht: %(ret.data)s." @@ -2430,7 +2439,7 @@ "volume: %(vol)s for target: %(tgt)s and pool: %(tgt_pool)sReturn code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"Fehler beim Erstellen der Replikationsaktion für: Pool: %(pool)s Projekt: " +"Fehler beim Erstellen der Replikationsaktion für Pool: %(pool)s Projekt: " "%(proj)s Datenträger: %(vol)s für Ziel: %(tgt)s und Pool: %(tgt_pool)s. " "Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s ." @@ -2470,7 +2479,7 @@ "Error Deleting Snapshot: %(snapshot)s on Share: %(share)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Löschen von Momentaufnahme %(snapshot)s für freigegebenes " +"Fehler beim Löschen von Schattenkopie %(snapshot)s für freigegebenes " "Verzeichnis %(share)s aus Pool %(pool)s Projekt: %(project)s Rückgabecode: " "%(ret.status)d Nachricht: %(ret.data)s." @@ -2479,8 +2488,8 @@ "Error Deleting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Löschen von Momentaufnahme %(snapshot)s für Datenträger %(lun)s " -"aus Pool: %(pool)s Projekt: %(project)s Rückgabecode: %(ret.status)d " +"Fehler beim Löschen von Schattenkopie %(snapshot)s für Datenträger %(lun)s " +"aus Pool: %(pool)s Projekt: %(project)s. Rückgabecode: %(ret.status)d " "Nachricht: %(ret.data)s." #, python-format @@ -2544,7 +2553,7 @@ "code: %(ret.status)d Message: %(ret.data)s." msgstr "" "Fehler beim Abrufen von freigegebenem Verzeichnis %(share)s für Pool " -"%(pool)s Projekt: %(project)s Rückgabecode: %(ret.status)d Nachricht: " +"%(pool)s Projekt: %(project)s. Rückgabecode: %(ret.status)d Nachricht: " "%(ret.data)s." #, python-format @@ -2552,8 +2561,8 @@ "Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Fehler beim Abrufen von Momentaufnahme %(snapshot)s für Datenträger %(lun)s " -"in Pool %(pool)s Projekt: %(project)s Rückgabecode: %(ret.status)d " +"Fehler beim Abrufen von Schattenkopie %(snapshot)s für Datenträger %(lun)s " +"in Pool %(pool)s Projekt: %(project)s. Rückgabecode: %(ret.status)d " "Nachricht: %(ret.data)s." #, python-format @@ -2570,15 +2579,15 @@ "code: %(ret.status)d Message: %(ret.data)s." msgstr "" "Fehler beim Abrufen von Datenträger %(lun)s für Pool: %(pool)s Projekt: " -"%(project)s Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s." +"%(project)s. Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s." #, python-format msgid "" "Error Migrating volume from one pool to another. Return code: %(rc)lu. " "Error: %(error)s." msgstr "" -"Fehler beim Migrieren des Datenträgers von einem Pool zu einem anderen. " -"Rückgabecode: %(rc)lu. Fehler: %(error)s." +"Fehler beim Migrieren des Datenträgers von einem Pool in einen anderen. " +"Rückgabecode: %(rc)lu. Fehler: %(error)s." #, python-format msgid "" @@ -2599,7 +2608,7 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "Fehler beim Festlegen der Eigenschaften %(props)s für Datenträger %(lun)s " -"von Pool %(pool)s Projekt: %(project)s Rückgabecode: %(ret.status)d " +"von Pool %(pool)s Projekt: %(project)s. Rückgabecode: %(ret.status)d " "Nachricht: %(ret.data)s." #, python-format @@ -2638,7 +2647,7 @@ "Error Verifying Service: %(service)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"Fehler beim Überprüfen von Service %(service)s Rückgabecode: %(ret.status)d " +"Fehler beim Überprüfen des %(service)s-Diensts. Rückgabecode: %(ret.status)d " "Nachricht: %(ret.data)s." #, python-format @@ -2691,7 +2700,7 @@ "%(fastPolicyName)s with error description: %(errordesc)s." msgstr "" "Fehler beim Zuordnen der Speichergruppe %(storageGroupName)s zur FAST-" -"Richtlinie %(fastPolicyName)s mit Fehlerbeschreibung: %(errordesc)s." +"Richtlinie %(fastPolicyName)s. Fehlerbeschreibung: %(errordesc)s." #, python-format msgid "Error attaching volume %s. Target limit might be reached!" @@ -2739,7 +2748,7 @@ "Message: %(ret.data)s ." msgstr "" "Fehler beim Bearbeiten von freigegebenem Verzeichnis %(share)s für Pool " -"%(pool)s Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s." +"%(pool)s. Rückgabecode: %(ret.status)d Nachricht: %(ret.data)s." #, python-format msgid "" @@ -2747,12 +2756,12 @@ "on your iSCSI port %(port)d on ip %(ip)s." msgstr "" "Fehler beim Aktivieren von iSER für NetworkPortal: Stellen Sie sicher, dass " -"RDMA auf Ihrem iSCSI-Port %(port)d unter IP %(ip)s unterstützt wird." +"RDMA an Ihrem iSCSI-Port %(port)d unter IP %(ip)s unterstützt wird." #, python-format msgid "Error encountered during cleanup of a failed attach: %(ex)s" msgstr "" -"Bei der Bereinigung eines fehlgeschlagenen Anhängversuchs ist ein Fehler " +"Bei der Bereinigung eines fehlgeschlagenen Zuordnungsversuchs ist ein Fehler " "aufgetreten: %(ex)s" #, python-format @@ -2793,7 +2802,7 @@ "Error getting appliance version details. Return code: %(ret.status)d " "Message: %(ret.data)s ." msgstr "" -"Fehler beim Abrufen der Details der Einheitenversion. Rückgabecode: %(ret." +"Fehler beim Abrufen der Details der Appliance-Version. Rückgabecode: %(ret." "status)d Nachricht: %(ret.data)s." #, python-format @@ -2850,16 +2859,17 @@ "Error in Operation [%(operation)s] for volume [%(cb_volume)s] in CloudByte " "storage: [%(cb_error)s], error code: [%(error_code)s]." msgstr "" -"Fehler in Operation [%(operation)s] für Datenträger [%(cb_volume)s] in " +"Fehler in Operation [%(operation)s] für Datenträger [%(cb_volume)s] im " "CloudByte-Speicher: [%(cb_error)s], Fehlercode: [%(error_code)s]." #, python-format msgid "Error in SolidFire API response: data=%(data)s" -msgstr "Fehler in Antwort von SolidFire-API: Data=%(data)s" +msgstr "Fehler in Antwort von SolidFire-API: Daten=%(data)s" #, python-format msgid "Error in space-create for %(space)s of size %(size)d GB" -msgstr "Fehler in Bereichserstellung für %(space)s der Größe von %(size)d GB" +msgstr "" +"Fehler in Bereichserstellung für %(space)s mit einer Größe von %(size)d GB." #, python-format msgid "Error in space-extend for volume %(space)s with %(size)d additional GB" @@ -2880,7 +2890,7 @@ "Error modify replica synchronization: %(sv)s operation: %(operation)s. " "Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Fehler beim Ändern der Repliksynchronisation: %(sv)s-Operation: " +"Fehler beim Ändern der Replikatsynchronisation: %(sv)s-Operation: " "%(operation)s. Rückgabecode: %(rc)lu. Fehler: %(error)s." #, python-format @@ -2888,8 +2898,8 @@ "Error modifying Service: %(service)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"Fehler beim Ändern von Service %(service)s Rückgabecode: %(ret.status)d " -"Nachricht: %(ret.data)s." +"Fehler beim Ändern von %(service)s-Dienst. Rückgabecode: %(ret.status)d " +"Nachricht: %(ret.data)s." #, python-format msgid "" @@ -2924,7 +2934,7 @@ msgid "Error promoting secondary volume to primary" msgstr "" -"Fehler beim Hochstufen des sekundären Datenträgers zum primären Datenträger" +"Fehler beim Hochstufen des sekundären Datenträgers zum primären Datenträger." #, python-format msgid "Error removing volume %(vol)s. %(error)s." @@ -2985,7 +2995,7 @@ "onSnapshot: %(snapshot)s" msgstr "" "Fehler beim Überprüfen der Klongröße für Datenträgerklon: %(clone)s Größe: " -"%(size)d für Momentaufnahme: %(snapshot)s" +"%(size)d für Schattenkopie: %(snapshot)s" #, python-format msgid "Error while authenticating with switch: %s." @@ -3075,14 +3085,14 @@ #, python-format msgid "Error while querying page %(url)s on the switch, reason %(error)s." msgstr "" -"Fehler beim Abrufen der Seite %(url)s für den Switch. Ursache: %(error)s." +"Fehler beim Abfragen der Seite %(url)s auf dem Switch. Ursache: %(error)s." #, python-format msgid "" "Error while removing the zones and cfgs in the zone string: %(description)s." msgstr "" "Fehler beim Entfernen der Zonen und Konfigurationen in der " -"Zonenzeichenfolge: %(description)s." +"Zonenzeichenkette: %(description)s." #, python-format msgid "Error while requesting %(service)s API." @@ -3098,10 +3108,10 @@ "%(description)s." msgstr "" "Fehler beim Aktualisieren der neuen Zonen und Konfigurationen in der " -"Zonenzeichenfolge. Fehler %(description)s." +"Zonenzeichenkette. Fehler %(description)s." msgid "Error writing field to database" -msgstr "Fehler beim Schreiben eines Felds in Datenbank" +msgstr "Fehler beim Schreiben eines Felds in Datenbank." #, python-format msgid "Error[%(stat)s - %(res)s] while getting volume id." @@ -3125,8 +3135,8 @@ msgid "" "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s" msgstr "" -"Maximale Anzahl %(max_attempts)d Planungsversuche überschritten für " -"Datenträger %(volume_id)s" +"Die maximal zulässige Anzahl von %(max_attempts)d Planungsversuchen wurde " +"für den Datenträger %(volume_id)s überschritten." msgid "Exceeded the limit of snapshots per volume" msgstr "Maximale Anzahl an Schattenkopien pro Datenträger überschritten." @@ -3153,15 +3163,15 @@ #, python-format msgid "Exception while forming the zone string: %s." msgstr "" -"Beim Zusammensetzen der Zonenzeichenfolge ist eine Ausnahme eingetreten: %s." +"Beim Zusammensetzen der Zonenzeichenkette ist eine Ausnahme eingetreten: %s." #, python-format msgid "Exception: %s" -msgstr "Ausnahmesituation: %s" +msgstr "Ausnahme: %s" #, python-format msgid "Expected a uuid but received %(uuid)s." -msgstr "UUID erwartet, aber %(uuid)s erhalten." +msgstr "UUID erwartet, aber %(uuid)s empfangen." #, python-format msgid "Expected exactly one node called \"%s\"" @@ -3175,7 +3185,7 @@ #, python-format msgid "Expected no output from CLI command %(cmd)s, got %(out)s." -msgstr "Erwartet wurde keine Ausgabe von CLI-Befehl %(cmd)s, erhalten %(out)s." +msgstr "Keine Ausgabe von CLI-Befehl %(cmd)s erwartet. Erhalten: %(out)s." #, python-format msgid "" @@ -3187,15 +3197,15 @@ #, python-format msgid "Expected volume size was %d" -msgstr "Erwartete Volumengröße war %d" +msgstr "Erwartete Datenträgergröße war %d" #, python-format msgid "" "Export backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Exportsicherung abgebrochen, erwarteter Sicherungsstatus " -"%(expected_status)s, Status ist jedoch %(actual_status)s." +"Exportieren der Sicherung abgebrochen. Sicherungsstatus %(expected_status)s " +"erwartet, tatsächlicher Status ist %(actual_status)s." #, python-format msgid "" @@ -3203,9 +3213,9 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"Exportdatensatz abgebrochen, der derzeit konfigurierte Sicherungsservice " -"[%(configured_service)s] ist nicht der Sicherungsservice, der zum Erstellen " -"dieser Sicherung [%(backup_service)s] verwendet wurde." +"Exportieren des Datensatzes abgebrochen. Der derzeit konfigurierte " +"Sicherungsdienst [%(configured_service)s] ist nicht der Sicherungsdienst, " +"der zum Erstellen dieser Sicherung [%(backup_service)s] verwendet wurde." msgid "Extend volume error." msgstr "Fehler beim Erweitern des Datenträgers." @@ -3213,20 +3223,20 @@ msgid "" "Extend volume is only supported for this driver when no snapshots exist." msgstr "" -"Erweitern des Datenträgers wird für diesen Treiber nur unterstützt, wenn " -"keine Momentaufnahmen vorhanden sind." +"Dieser Treiber unterstützt Datenträgererweiterungen nur, wenn keine " +"Schattenkopien vorhanden sind." msgid "Extend volume not implemented" -msgstr "Erweitern von Datenträgern nicht implementiert" +msgstr "Erweitern von Datenträgern nicht implementiert." msgid "" "FAST VP Enabler is not installed. Can't set tiering policy for the volume" msgstr "" "FAST VP Enabler ist nicht installiert. Die Tiering-Richtlinie für den " -"Datenträger kann nicht festgelegt werden" +"Datenträger kann nicht festgelegt werden." msgid "FAST is not supported on this array." -msgstr "FAST wird auf dieser Platteneinheit nicht unterstützt." +msgstr "FAST wird in diesem Array nicht unterstützt." msgid "FC is the protocol but wwpns are not supplied by OpenStack." msgstr "" @@ -3234,12 +3244,13 @@ #, python-format msgid "Faield to unassign %(volume)s" -msgstr "Zuordnung für %(volume)s konnte nicht aufgehoben werden" +msgstr "Zuordnung für %(volume)s konnte nicht aufgehoben werden." #, python-format msgid "Fail to create cache volume %(volume)s. Error: %(err)s" msgstr "" -"Fehler beim Erstellen des Cachedatenträgers %(volume)s. Fehler: %(err)s" +"Fehler beim Erstellen des Zwischenspeicherdatenträgers %(volume)s. Fehler: " +"%(err)s" #, python-format msgid "Failed adding connection for fabric=%(fabric)s: Error: %(err)s" @@ -3256,7 +3267,7 @@ #, python-format msgid "Failed creating snapshot for volume %(volname)s: %(response)s." msgstr "" -"Fehler beim Erstellen einer Momentaufnahme für Datenträger %(volname)s: " +"Fehler beim Erstellen einer Schattenkopie für Datenträger %(volname)s: " "%(response)s." #, python-format @@ -3274,14 +3285,14 @@ #, python-format msgid "Failed to Extend Volume %(volname)s" -msgstr "Fehler beim Erweitern von Datenträger %(volname)s" +msgstr "Fehler beim Erweitern von Datenträger %(volname)s." #, python-format msgid "Failed to Login to 3PAR (%(url)s) because %(err)s" msgstr "Anmeldung an 3PAR (%(url)s) nicht möglich. Ursache: %(err)s" msgid "Failed to access active zoning configuration." -msgstr "Auf die Zoningkonfiguration konnte nicht zugegriffen werden." +msgstr "Auf die Zoning-Konfiguration konnte nicht zugegriffen werden." #, python-format msgid "Failed to access zoneset status:%s" @@ -3308,11 +3319,11 @@ "Failed to add volume %(volumeName)s to consistency group %(cgName)s. Return " "code: %(rc)lu. Error: %(error)s." msgstr "" -"Fehler beim Hinzufügen des Datenträgers %(volumeName)s zu Konsistenzgruppe " +"Fehler beim Hinzufügen des Datenträgers %(volumeName)s zur Konsistenzgruppe " "%(cgName)s. Rückgabecode: %(rc)lu. Fehler: %(error)s." msgid "Failed to add zoning configuration." -msgstr "Fehler beim Hinzufügen der Zoningkonfiguration." +msgstr "Fehler beim Hinzufügen der Zoning-Konfiguration." #, python-format msgid "" @@ -3325,7 +3336,7 @@ #, python-format msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." msgstr "" -"qos_specs konnten nicht zugeordnet werden: %(specs_id)s mit Typ %(type_id)s." +"Zuordnung von qos_specs fehlgeschlagen: %(specs_id)s mit Typ %(type_id)s." #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." @@ -3340,59 +3351,59 @@ "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" msgstr "" -"Fehler bei der Sicherung von Datenträgermetadaten - " -"Metadatensicherungsobjekt 'backup.%s.meta' ist bereits vorhanden" +"Fehler bei der Sicherung von Datenträgermetadaten. Metadatensicherungsobjekt " +"'backup.%s.meta' ist bereits vorhanden." #, python-format msgid "Failed to clone volume from snapshot %s." -msgstr "Fehler beim Klonen des Datenträgers aus Momentaufnahme %s." +msgstr "Fehler beim Klonen des Datenträgers aus Schattenkopie %s." #, python-format msgid "Failed to connect to %(vendor_name)s Array %(host)s: %(err)s" -msgstr "Fehler beim Verbinden mit %(vendor_name)s Array %(host)s: %(err)s" +msgstr "Fehler beim Verbinden mit %(vendor_name)s-Array %(host)s: %(err)s" msgid "Failed to connect to Dell REST API" msgstr "Fehler beim Herstellen einer Verbindung zur Dell-REST-API. " msgid "Failed to connect to array" -msgstr "Fehler beim Verbinden mit Array" +msgstr "Fehler beim Verbinden mit Array." #, python-format msgid "Failed to connect to sheep daemon. addr: %(addr)s, port: %(port)s" msgstr "" -"Verbindung zu sheep-Dämon konnte nicht nicht hergestellt werden. Adresse: " -"%(addr)s, Port: %(port)s" +"Fehler beim Herstellen einer Verbindung zu sheep-Dämon. Adresse: %(addr)s, " +"Port: %(port)s" #, python-format msgid "Failed to copy image to volume: %(reason)s" -msgstr "Image konnte nicht auf Datenträger kopiert werden: %(reason)s" +msgstr "Kopieren des Abbilds auf Datenträger fehlgeschlagen: %(reason)s" #, python-format msgid "Failed to copy metadata to volume: %(reason)s" msgstr "Kopieren von Metadaten auf Datenträger fehlgeschlagen: %(reason)s" msgid "Failed to copy volume, destination device unavailable." -msgstr "Fehler beim Kopieren des Datenträgers, Zieleinheit nicht verfügbar." +msgstr "Fehler beim Kopieren des Datenträgers, Zielgerät nicht verfügbar." msgid "Failed to copy volume, source device unavailable." -msgstr "Fehler beim Kopieren des Datenträgers, Quelleneinheit nicht verfügbar." +msgstr "Fehler beim Kopieren des Datenträgers, Quellengerät nicht verfügbar." #, python-format msgid "Failed to create CG %(cgName)s from snapshot %(cgSnapshot)s." msgstr "" -"Fehler beim Erstellen der Konsistenzgruppe %(cgName)s aus Momentaufnahme " +"Fehler beim Erstellen der Konsistenzgruppe %(cgName)s aus Schattenkopie " "%(cgSnapshot)s." #, python-format msgid "Failed to create IG, %s" -msgstr "IG konnte nicht erstellt werden %s" +msgstr "IG konnte nicht erstellt werden. %s" msgid "Failed to create SolidFire Image-Volume" -msgstr "SolidFire-Imagedatenträger konnte nicht erstellt werden" +msgstr "SolidFire-Abbilddatenträger konnte nicht erstellt werden." #, python-format msgid "Failed to create Volume Group: %(vg_name)s" -msgstr "Datenträgergruppe konnte nicht erstellt werden: %(vg_name)s" +msgstr "Erstellen der Datenträgergruppe fehlgeschlagen: %(vg_name)s" #, python-format msgid "" @@ -3404,25 +3415,25 @@ #, python-format msgid "Failed to create a temporary snapshot for volume %s." msgstr "" -"Fehler beim Erstellen einer temporären Momentaufnahme für Datenträger %s." +"Fehler beim Erstellen einer temporären Schattenkopie für Datenträger %s." msgid "Failed to create api volume flow." -msgstr "Fehler beim Erstellen des API-Datenträgerflusses." +msgstr "Der API-Ablauf für die Erstellung des Datenträgers ist fehlgeschlagen." #, python-format msgid "Failed to create cg snapshot %(id)s due to %(reason)s." msgstr "" -"Fehler beim Erstellen der Momentaufnahme von Konsistenzgruppe (Cgsnapshot) " +"Fehler beim Erstellen der Schattenkopie der Konsistenzgruppe (Cgsnapshot) " "%(id)s. Ursache: %(reason)s." #, python-format msgid "Failed to create consistency group %(id)s due to %(reason)s." msgstr "" -"Fehler beim Erstellen von Konsistenzgruppe %(id)s. Ursache: %(reason)s." +"Fehler beim Erstellen der Konsistenzgruppe %(id)s. Ursache: %(reason)s." #, python-format msgid "Failed to create consistency group %(id)s:%(ret)s." -msgstr "Fehler beim Erstellen von Konsistenzgruppe %(id)s:%(ret)s." +msgstr "Fehler beim Erstellen der Konsistenzgruppe %(id)s:%(ret)s." #, python-format msgid "" @@ -3457,14 +3468,14 @@ msgid "" "Failed to create host: %(name)s. Please check if it exists on the array." msgstr "" -"Fehler beim Erstellen des Hosts: %(name)s. Überprüfen Sie, ob er auf dem " -"Array vorhanden ist." +"Fehler beim Erstellen des Hosts: %(name)s. Überprüfen Sie, ob er im Array " +"vorhanden ist." #, python-format msgid "Failed to create hostgroup: %(name)s. Check if it exists on the array." msgstr "" -"Fehler beim Erstellen der Hostgruppe: %(name)s. Überprüfen Sie, ob sie auf " -"dem Array vorhanden ist." +"Fehler beim Erstellen der Hostgruppe: %(name)s. Überprüfen Sie, ob sie im " +"Array vorhanden ist." msgid "Failed to create iqn." msgstr "Fehler beim Erstellen des IQN." @@ -3497,52 +3508,54 @@ #, python-format msgid "Failed to create qos_specs: %(name)s with specs %(qos_specs)s." msgstr "" -"qos_specs konnten nicht erstellt werden: %(name)s mit Spezifikationen " +"Erstellen von qos_specs fehlgeschlagen: %(name)s mit Spezifikationen " "%(qos_specs)s." msgid "Failed to create replica." msgstr "Fehler beim Erstellen des Replikats." msgid "Failed to create scheduler manager volume flow" -msgstr "Fehler beim Erstellen des Datenträgerflusses für Scheduler-Manager" +msgstr "" +"Der Ablauf für die Erstellung des Scheduler-Verwaltungsdatenträgers ist " +"fehlgeschlagen." #, python-format msgid "Failed to create snapshot %s" -msgstr "Erstellen von Momentaufnahme %s fehlgeschlagen" +msgstr "Erstellen von Schattenkopie %s fehlgeschlagen" msgid "Failed to create snapshot as no LUN ID is specified" msgstr "" -"Erstellen von Momentaufnahme fehlgeschlagen, da keine LUN-ID angegeben ist" +"Erstellen von Schattenkopie fehlgeschlagen, da keine LUN-ID angegeben ist." #, python-format msgid "Failed to create snapshot for cg: %(cgName)s." -msgstr "Fehler beim Erstellen von Momentaufnahme für cg: %(cgName)s." +msgstr "Fehler beim Erstellen von Schattenkopie für cg: %(cgName)s." #, python-format msgid "Failed to create snapshot for volume %s." -msgstr "Fehler beim Erstellen einer Momentaufnahme für Datenträger %s." +msgstr "Fehler beim Erstellen einer Schattenkopie für Datenträger %s." #, python-format msgid "Failed to create snapshot policy on volume %(vol)s: %(res)s." msgstr "" -"Fehler beim Erstellen der Momentaufnahmerichtlinie auf Datenträger %(vol)s: " +"Fehler beim Erstellen der Schattenkopierichtlinie auf Datenträger %(vol)s: " "%(res)s." #, python-format msgid "Failed to create snapshot resource area on volume %(vol)s: %(res)s." msgstr "" -"Fehler beim Erstellen des Momentaufnahmeressourcenbereichs auf Datenträger " +"Fehler beim Erstellen des Schattenkopieressourcenbereichs auf Datenträger " "%(vol)s: %(res)s." msgid "Failed to create snapshot." -msgstr "Fehler beim Erstellen der Momentaufnahme." +msgstr "Fehler beim Erstellen der Schattenkopie." #, python-format msgid "" "Failed to create snapshot. CloudByte volume information not found for " "OpenStack volume [%s]." msgstr "" -"Erstellen der Momentaufnahme fehlgeschlagen. CloudByte-" +"Erstellen der Schattenkopie fehlgeschlagen. CloudByte-" "Datenträgerinformationen für OpenStack-Datenträger [%s] nicht gefunden." #, python-format @@ -3555,7 +3568,7 @@ #, python-format msgid "Failed to create thin pool, error message was: %s" -msgstr "Fehler beim Erstellen von Thin-Pool, Fehlernachricht: %s" +msgstr "Fehler beim Erstellen von Thin-Pool. Fehlernachricht: %s" #, python-format msgid "Failed to create volume %s" @@ -3576,12 +3589,12 @@ #, python-format msgid "Failed to delete cgsnapshot %(id)s due to %(reason)s." msgstr "" -"Fehler beim Löschen der Momentaufnahme von Konsistenzgruppe (Cgsnapshot) " +"Fehler beim Löschen der Schattenkopie der Konsistenzgruppe (Cgsnapshot) " "%(id)s. Ursache: %(reason)s." #, python-format msgid "Failed to delete consistency group %(id)s due to %(reason)s." -msgstr "Fehler beim Löschen von Konsistenzgruppe %(id)s. Ursache: %(reason)s." +msgstr "Fehler beim Löschen der Konsistenzgruppe %(id)s. Ursache: %(reason)s." #, python-format msgid "Failed to delete consistency group: %(cgName)s." @@ -3602,7 +3615,7 @@ msgid "" "Failed to delete fileset for consistency group %(cgname)s. Error: %(excmsg)s." msgstr "" -"Fehler beim Löschen von fileset für Konsistenzgruppe %(cgname)s. Fehler: " +"Fehler beim Löschen der Dateigruppe für Konsistenzgruppe %(cgname)s. Fehler: " "%(excmsg)s." msgid "Failed to delete iqn." @@ -3619,20 +3632,20 @@ #, python-format msgid "Failed to delete snapshot %s" -msgstr "Löschen von Momentaufnahme %s fehlgeschlagen" +msgstr "Löschen von Schattenkopie %s fehlgeschlagen" #, python-format msgid "Failed to delete snapshot for cg: %(cgId)s." -msgstr "Fehler beim Löschen von Momentaufnahme für cg: %(cgId)s." +msgstr "Fehler beim Löschen von Schattenkopie für cg: %(cgId)s." #, python-format msgid "Failed to delete snapshot for snapshot_id: %s because it has pair." msgstr "" -"Momentaufnahme für snapshot_id %s konnte nicht gelöscht werden, da ein Paar " +"Schattenkopie für snapshot_id %s konnte nicht gelöscht werden, da ein Paar " "vorhanden ist." msgid "Failed to delete snapshot." -msgstr "Fehler beim Löschen der Momentaufnahme." +msgstr "Fehler beim Löschen der Schattenkopie." #, python-format msgid "Failed to delete volume %(volumeName)s." @@ -3650,7 +3663,7 @@ msgstr "Fehler beim Abhängen von iSCSI-Ziel für Datenträger %(volume_id)s." msgid "Failed to determine blockbridge API configuration" -msgstr "Konfiguration der Blockbridge-API konnte nicht bestimmt werden" +msgstr "Konfiguration der Blockbridge-API konnte nicht bestimmt werden." msgid "Failed to disassociate qos specs." msgstr "Zuordnung der QoS-Spezifikationen konnte nicht aufgehoben werden." @@ -3658,15 +3671,15 @@ #, python-format msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." msgstr "" -"Zuordnung von qos_specs konnte nicht aufgehoben werden: %(specs_id)s mit Typ " +"Aufheben der Zuordnung von qos_specs fehlgeschlagen: %(specs_id)s mit Typ " "%(type_id)s." #, python-format msgid "" "Failed to ensure snapshot resource area, could not locate volume for id %s" msgstr "" -"Fehler beim Sicherstellen des Momentaufnahmeressourcenbereichs. Datenträger " -"für ID %s wurde nicht gefunden" +"Fehler beim Sicherstellen des Schattenkopieressourcenbereichs. Datenträger " +"für ID %s wurde nicht gefunden." msgid "Failed to establish SSC connection." msgstr "Fehler beim Herstellen der SSC-Verbindung." @@ -3679,7 +3692,7 @@ "Failed to execute CloudByte API [%(cmd)s]. Http status: %(status)s, Error: " "%(error)s." msgstr "" -"Ausführung von CloudByte-API [%(cmd)s] fehlgeschlagen. Http-Status: " +"Ausführen von CloudByte-API [%(cmd)s] fehlgeschlagen. Http-Status: " "%(status)s, Fehler: %(error)s." msgid "Failed to execute common command." @@ -3698,7 +3711,7 @@ msgstr "QoSnode wurde nicht gefunden." msgid "Failed to find Storage Center" -msgstr "Storage Center wurde nicht gefunden" +msgstr "Storage Center wurde nicht gefunden." msgid "Failed to find a vdisk copy in the expected pool." msgstr "" @@ -3752,13 +3765,13 @@ #, python-format msgid "Failed to get Raid Snapshot ID from Snapshot %(snapshot_id)s." msgstr "" -"Fehler beim Abrufen der RAID-Momentaufnahme-ID von Momentaufnahme " +"Fehler beim Abrufen der RAID-Schattenkopie-ID aus Schattenkopie " "%(snapshot_id)s." #, python-format msgid "Failed to get Raid Snapshot ID from snapshot: %(snapshot_id)s." msgstr "" -"Fehler beim Abrufen der RAID-Momentaufnahme-ID von Momentaufnahme: " +"Fehler beim Abrufen der RAID-Schattenkopie-ID aus Schattenkopie: " "%(snapshot_id)s." msgid "Failed to get SplitMirror." @@ -3784,13 +3797,12 @@ msgstr "Codeebene (%s) konnte nicht abgerufen werden." msgid "Failed to get device info." -msgstr "Fehler beim Abrufen der Informationen zur Einheit." +msgstr "Fehler beim Abrufen der Informationen zum Gerät." #, python-format msgid "Failed to get domain because CPG (%s) doesn't exist on array." msgstr "" -"Fehler beim Abrufen der Domäne, weil CPG (%s) auf der Platteneinheit nicht " -"vorhanden ist." +"Fehler beim Abrufen der Domäne, weil CPG (%s) im Array nicht vorhanden ist." msgid "Failed to get image snapshots." msgstr "Schattenkopie des Abbilds konnte nicht abgerufen werden." @@ -3817,13 +3829,13 @@ msgstr "Die Migrationsaufgabe konnte nicht abgerufen werden." msgid "Failed to get model update from clone" -msgstr "Fehler beim Abrufen von Modellaktualisierung von Klon" +msgstr "Fehler beim Abrufen von Modellaktualisierung aus Klon" msgid "Failed to get name server info." msgstr "Fehler beim Abrufen der Namensserverinformationen." msgid "Failed to get network info." -msgstr "Fehler beim Abrufen der Informationen zum Netz." +msgstr "Fehler beim Abrufen der Netzinformationen." #, python-format msgid "Failed to get new part id in new pool: %(pool_id)s." @@ -3853,7 +3865,7 @@ msgstr "Fehler beim Abrufen der Informationen zum Replikat." msgid "Failed to get show fcns database info." -msgstr "Fehler beim Abrufen der Anzeige-FCNS-Datenbankinformationen." +msgstr "Fehler beim Abrufen der Anzeige von FCNS-Datenbankinformationen." msgid "Failed to get size of existing volume: %(vol). Volume Manage failed." msgstr "" @@ -3866,10 +3878,10 @@ #, python-format msgid "Failed to get snapshot for volume %s." -msgstr "Fehler beim Abrufen einer Momentaufnahme für Datenträger %s." +msgstr "Fehler beim Abrufen einer Schattenkopie für Datenträger %s." msgid "Failed to get snapshot info." -msgstr "Fehler beim Abrufen der Informationen zur Momentaufnahme." +msgstr "Fehler beim Abrufen der Informationen zur Schattenkopie." #, python-format msgid "Failed to get target IQN for the LUN %s" @@ -3883,7 +3895,7 @@ msgstr "Fehler beim Abrufen von Zielportal für LUN %s" msgid "Failed to get targets" -msgstr "Ziele konnten nicht abgerufen werden" +msgstr "Ziele konnten nicht abgerufen werden." msgid "Failed to get wwn info." msgstr "Fehler beim Abrufen der Informationen zum WWN." @@ -3898,13 +3910,13 @@ "Fehlernachricht war %(errorMessage)s." msgid "Failed to identify volume backend." -msgstr "Datenträger-Back-End konnte nicht identifiziert werden." +msgstr "Datenträger-Backend konnte nicht identifiziert werden." #, python-format msgid "Failed to link fileset for the share %(cgname)s. Error: %(excmsg)s." msgstr "" -"Fehler beim Verlinken von fileset für freigegebene %(cgname)s. Fehler: " -"%(excmsg)s." +"Fehler beim Verlinken der Dateigruppe für das freigegebene Verzeichnis " +"%(cgname)s. Fehler: %(excmsg)s." #, python-format msgid "Failed to log on %s Array (invalid login?)." @@ -3923,10 +3935,10 @@ "reason: %s" msgstr "" "Fehler beim Stellen einer Anforderung an den Datera-Cluster-Endpunkt. " -"Ursache dafür ist: %s" +"Ursache: %s" msgid "Failed to manage api volume flow." -msgstr "Fehler beim Verwalten des API-Datenträgerflusses." +msgstr "Der API-Ablauf für die Verwaltung des Datenträgers ist fehlgeschlagen." #, python-format msgid "" @@ -4025,7 +4037,7 @@ "valid I/O group." msgstr "" "Verwalten eines vorhandenen Datenträgers fehlgeschlagen, da der zu " -"verwaltende Datenträger nicht in einer gültigen E/A-Gruppe war." +"verwaltende Datenträger nicht in einer gültigen E/A-Gruppe ist." msgid "" "Failed to manage existing volume due to the volume to be managed is thick, " @@ -4099,7 +4111,7 @@ "the form ::" msgstr "" "Die Konfigurationsoption 'swift_catalog_info' konnte nicht analysiert " -"werden. Muss das Format :: aufweisen" +"werden. Muss das Format :: haben." #, python-format msgid "" @@ -4123,19 +4135,19 @@ "Failed to remove volume %(volumeName)s from consistency group %(cgName)s. " "Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Fehler beim Entfernen des Datenträgers %(volumeName)s aus Konsistenzgruppe " -"%(cgName)s. Rückgabecode: %(rc)lu. Fehler: %(error)s." +"Fehler beim Entfernen des Datenträgers %(volumeName)s aus der " +"Konsistenzgruppe %(cgName)s. Rückgabecode: %(rc)lu. Fehler: %(error)s." #, python-format msgid "Failed to remove volume %(volumeName)s from default SG." msgstr "" "Fehler beim Entfernen des Datenträgers %(volumeName)s aus " -"Standardservicegruppe." +"Standarddienstgruppe." #, python-format msgid "Failed to remove volume %(volumeName)s from default SG: %(volumeName)s." msgstr "" -"Datenträger %(volumeName)s konnte nicht aus Standardservicegruppe " +"Datenträger %(volumeName)s konnte nicht aus der Standarddienstgruppe " "%(volumeName)s entfernt werden." #, python-format @@ -4143,19 +4155,19 @@ "Failed to remove: %(volumename)s. from the default storage group for FAST " "policy %(fastPolicyName)s." msgstr "" -"%(volumename)s konnte nicht aus der Standardspeichergruppe für FAST- " +"%(volumename)s konnte nicht aus der Standardspeichergruppe für FAST-" "Richtlinie %(fastPolicyName)s entfernt werden." #, python-format msgid "" "Failed to rename logical volume %(name)s, error message was: %(err_msg)s" msgstr "" -"Fehler beim Umbenennen des logischen Datenträgers %(name)s, Fehlernachricht: " +"Fehler beim Umbenennen des logischen Datenträgers %(name)s. Fehlernachricht: " "%(err_msg)s" #, python-format msgid "Failed to retrieve active zoning configuration %s" -msgstr "Fehler beim Abrufen von aktiver Zoningkonfiguration %s" +msgstr "Fehler beim Abrufen von aktiver Zoning-Konfiguration %s" #, python-format msgid "" @@ -4211,14 +4223,14 @@ msgid "" "Failed to unlink fileset for consistency group %(cgname)s. Error: %(excmsg)s." msgstr "" -"Fehler beim Aufheben der Verlinkung von fileset für Konsistenzgruppe " +"Fehler beim Aufheben der Verlinkung der Dateigruppe für Konsistenzgruppe " "%(cgname)s. Fehler: %(excmsg)s." #, python-format msgid "Failed to unmap a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" msgstr "" -"Eine logische Einheit konnte nicht abgehängt werden. (Logische Einheit: " -"%(ldev)s, Ursache: %(reason)s)" +"Die Zuordnung einer logischen Einheit konnte nicht aufgehoben werden. " +"(Logische Einheit: %(ldev)s, Ursache: %(reason)s)" #, python-format msgid "Failed to update consistency group: %(cgName)s." @@ -4229,21 +4241,21 @@ msgstr "Aktualisieren von Metadaten für Datenträger fehlgeschlagen: %(reason)s" msgid "Failed to update or delete zoning configuration" -msgstr "Fehler beim Aktualisieren oder Löschen der Zoningkonfiguration" +msgstr "Fehler beim Aktualisieren oder Löschen der Zoning-Konfiguration" msgid "Failed to update or delete zoning configuration." -msgstr "Fehler beim Aktualisieren oder Löschen der Zoningkonfiguration." +msgstr "Fehler beim Aktualisieren oder Löschen der Zoning-Konfiguration." #, python-format msgid "Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s." msgstr "" -"qos_specs konnten nicht aktualisiert werden: %(specs_id)s mit " -"Spezifikationen %(qos_specs)s." +"Aktualisieren von qos_specs fehlgeschlagen: %(specs_id)s mit Spezifikationen " +"%(qos_specs)s." msgid "Failed to update quota usage while retyping volume." msgstr "" -"Kontingentnutzung konnte bei der erneuten Eingabe des Datenträgers nicht " -"aktualisiert werden." +"Aktualisieren der Kontingentnutzung bei Typänderung des Datenträgers " +"fehlgeschlagen." msgid "Failed to update snapshot." msgstr "Aktualisierung der Schattenkopie fehlgeschlagen." @@ -4251,8 +4263,8 @@ #, python-format msgid "Failed updating model with driver provided model %(model)s" msgstr "" -"Fehler beim Aktualisieren des Models mit dem vom Treiber bereitgestellten " -"Modell %(model)s" +"Fehler beim Aktualisieren des Modells mit dem vom Treiber bereitgestellten " +"Modell %(model)s." #, python-format msgid "" @@ -4298,7 +4310,7 @@ "%(ret)s." msgstr "" "Fexvisor konnte den Datenträger %(vol)s in der Gruppe %(group)s nicht " -"verknüpfen. Grund: %(ret)s." +"verknüpfen. Ursache: %(ret)s." #, python-format msgid "" @@ -4306,12 +4318,12 @@ "%(ret)s." msgstr "" "Fexvisor konnte den Datenträger %(vol)s in der Gruppe %(group)s nicht " -"entfernen. Grund: %(ret)s." +"entfernen. Ursache: %(ret)s." #, python-format msgid "Fexvisor failed to remove volume %(id)s due to %(reason)s." msgstr "" -"Flexvisor konnte Datenträger %(id)s nicht entfernen. Grund: %(reason)s." +"Flexvisor konnte den Datenträger %(id)s nicht entfernen. Ursache: %(reason)s." #, python-format msgid "Fibre Channel SAN Lookup failure: %(reason)s" @@ -4319,7 +4331,7 @@ #, python-format msgid "Fibre Channel Zone operation failed: %(reason)s" -msgstr "Fehler bei der Fibre Channel-Zonenoperation: %(reason)s" +msgstr "Fibre Channel-Zoning-Operation fehlgeschlagen: %(reason)s" #, python-format msgid "Fibre Channel connection control failure: %(reason)s" @@ -4327,7 +4339,7 @@ #, python-format msgid "File %(file_path)s could not be found." -msgstr "Datei %(file_path)s konnte nicht gefunden werden." +msgstr "Datei %(file_path)s wurde nicht gefunden." #, python-format msgid "File %(path)s has invalid backing file %(bfile)s, aborting." @@ -4335,11 +4347,11 @@ #, python-format msgid "File already exists at %s." -msgstr "Datei bereits vorhanden bei %s." +msgstr "Datei ist bereits in %s vorhanden." #, python-format msgid "File already exists at: %s" -msgstr "Datei bereits vorhanden bei: %s" +msgstr "Datei bereits vorhanden in: %s" msgid "Find host in hostgroup error." msgstr "Fehler beim Suchen des Hosts in Hostgruppe." @@ -4367,7 +4379,7 @@ "Flash Cache Policy requires WSAPI version '%(fcache_version)s' version " "'%(version)s' is installed." msgstr "" -"Flash-Cache-Richtlinie erfordert WSAPI-Version '%(fcache_version)s', Version " +"Flash-Cache-Richtlinie erfordert WSAPI-Version '%(fcache_version)s'. Version " "'%(version)s' ist installiert." #, python-format @@ -4383,8 +4395,8 @@ "Flexvisor could not find volume %(id)s snapshot in the group %(vgid)s " "snapshot %(vgsid)s." msgstr "" -"Flexvisor konnte Momentaufnahme von Datenträger %(id)s in Gruppe %(vgid)s " -"Momentaufnahme %(vgsid)s nicht finden." +"Flexvisor konnte die Schattenkopie des Datenträgers %(id)s in der Gruppe " +"%(vgid)s Schattenkopie %(vgsid)s nicht finden." #, python-format msgid "Flexvisor create volume failed.:%(volumeid)s:%(status)s." @@ -4397,7 +4409,7 @@ #, python-format msgid "Flexvisor failed to add volume %(id)s to group %(cgid)s." msgstr "" -"Flexvisor konnte Datenträger %(id)s nicht zu Gruppe %(cgid)s hinzufügen." +"Flexvisor konnte den Datenträger %(id)s nicht der Gruppe %(cgid)s hinzufügen." #, python-format msgid "" @@ -4423,25 +4435,25 @@ msgid "Flexvisor failed to clone volume (failed to get event) %(id)s." msgstr "" "Flexvisor konnte Datenträger %(id)s nicht klonen (Ereignis konnte nicht " -"abgerufen werden )" +"abgerufen werden)." #, python-format msgid "Flexvisor failed to create snapshot for volume %(id)s: %(status)s." msgstr "" -"Flexvisor konnte Momentaufnahme für Datenträger %(id)s nicht erstellen: " +"Flexvisor konnte Schattenkopie für Datenträger %(id)s nicht erstellen: " "%(status)s." #, python-format msgid "" "Flexvisor failed to create snapshot for volume (failed to get event) %(id)s." msgstr "" -"Flexvisor konnte Momentaufnahme für Datenträger %(id)s nicht erstellen " +"Flexvisor konnte Schattenkopie für Datenträger %(id)s nicht erstellen " "(Ereignis konnte nicht abgerufen werden)." #, python-format msgid "Flexvisor failed to create volume %(id)s in the group %(vgid)s." msgstr "" -"Flexvisor konnte Datenträger %(id)s nicht in Gruppe %(vgid)s erstellen." +"Flexvisor konnte Datenträger %(id)s nicht in der Gruppe %(vgid)s erstellen." #, python-format msgid "Flexvisor failed to create volume %(volume)s: %(status)s." @@ -4449,36 +4461,36 @@ #, python-format msgid "Flexvisor failed to create volume (get event) %s." -msgstr "Flexvisor konnte Datenträger %s nicht erstellen (Ereignis abrufen)" +msgstr "Flexvisor konnte Datenträger %s nicht erstellen (Ereignis abrufen)." #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s: %(status)s." msgstr "" -"Flexvisor konnte Datenträger nicht aus Momentaufnahme %(id)s erstellen: " +"Flexvisor konnte Datenträger nicht aus der Schattenkopie %(id)s erstellen: " "%(status)s." #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s:%(status)s." msgstr "" -"Flexvisor konnte Datenträger nicht aus Momentaufnahme %(id)s erstellen: " +"Flexvisor konnte Datenträger nicht aus Schattenkopie %(id)s erstellen: " "%(status)s." #, python-format msgid "" "Flexvisor failed to create volume from snapshot (failed to get event) %(id)s." msgstr "" -"Flexvisor konnte Datenträger nicht aus Momentaufnahme %(id)s nicht erstellen " +"Flexvisor konnte Datenträger nicht aus der Schattenkopie %(id)s erstellen " "(Ereignis konnte nicht abgerufen werden)." #, python-format msgid "Flexvisor failed to delete snapshot %(id)s: %(status)s." -msgstr "Flexvisor konnte Momentaufnahme %(id)s nicht löschen: %(status)s." +msgstr "Flexvisor konnte Schattenkopie %(id)s nicht löschen: %(status)s." #, python-format msgid "Flexvisor failed to delete snapshot (failed to get event) %(id)s." msgstr "" -"Flexvisor konnte Momentaufnahme %(id)s nicht löschen (Ereignis konnte nicht " -"abgerufen werden)" +"Flexvisor konnte Schattenkopie %(id)s nicht löschen (Ereignis konnte nicht " +"abgerufen werden)." #, python-format msgid "Flexvisor failed to delete volume %(id)s: %(status)s." @@ -4496,7 +4508,7 @@ msgid "Flexvisor failed to extend volume (failed to get event) %(id)s." msgstr "" "Flexvisor konnte Datenträger %(id)s nicht erweitern (Ereignis konnte nicht " -"abgerufen werden)" +"abgerufen werden)." #, python-format msgid "Flexvisor failed to get pool info %(id)s: %(status)s." @@ -4507,25 +4519,26 @@ msgid "" "Flexvisor failed to get snapshot id of volume %(id)s from group %(vgid)s." msgstr "" -"Flexvisor konnnte Momentaufnahmen-ID von Datenträger %(id)s nicht von Gruppe " -"%(vgid)s abrufen." +"Flexvisor konnnte die Schattenkopie-ID des Datenträgers %(id)s nicht aus der " +"Gruppe %(vgid)s abrufen." #, python-format msgid "Flexvisor failed to remove volume %(id)s from group %(cgid)s." msgstr "" -"Flexvisor konnte Datenträger %(id)s nicht aus Gruppe %(cgid)s entfernen." +"Flexvisor konnte den Datenträger %(id)s nicht aus der Gruppe %(cgid)s " +"entfernen." #, python-format msgid "Flexvisor failed to spawn volume from snapshot %(id)s:%(status)s." msgstr "" -"Flexvisor konnte Datenträger nicht aus Momentaufnahme %(id)s generieren: " +"Flexvisor konnte Datenträger nicht aus der Schattenkopie %(id)s generieren: " "%(status)s." #, python-format msgid "" "Flexvisor failed to spawn volume from snapshot (failed to get event) %(id)s." msgstr "" -"Flexvisor konnte Datenträger nicht aus Momentaufnahme %(id)s nicht erstellen " +"Flexvisor konnte Datenträger nicht aus der Schattenkopie %(id)s erstellen " "(Ereignis konnte nicht abgerufen werden)." #, python-format @@ -4537,7 +4550,7 @@ msgid "Flexvisor failed to unassign volume (get event) %(id)s." msgstr "" "Flexvisor konnte Zuordnung für Datenträger %(id)s nicht aufheben (Ereignis " -"abrufen)" +"abrufen)." #, python-format msgid "Flexvisor failed to unassign volume:%(id)s:%(status)s." @@ -4558,7 +4571,7 @@ #, python-format msgid "Flexvisor volume %(id)s failed to join group %(vgid)s." msgstr "" -"Flexvisor-Datenträger %(id)s konnte nicht mit Gruppe %(vgid)s verknüpft " +"Flexvisor-Datenträger %(id)s konnte nicht mit der Gruppe %(vgid)s verknüpft " "werden." #, python-format @@ -4567,19 +4580,19 @@ #, python-format msgid "GPFS is not running, state: %s." -msgstr "GPFS läuft nicht, Status: %s." +msgstr "GPFS ist nicht aktiv. Status: %s." msgid "Gateway VIP is not set" -msgstr "Gateway-VIP wurde nicht festgelegt" +msgstr "Gateway-VIP wurde nicht festgelegt." msgid "Get FC ports by port group error." msgstr "Fehler beim Abrufen der FC-Ports nach Portgruppe." msgid "Get FC ports from array error." -msgstr "Fehler beim Abrufen der FC-Ports vom Array." +msgstr "Fehler beim Abrufen der FC-Ports aus dem Array." msgid "Get FC target wwpn error." -msgstr "Fehler beim Abrufen des WWPN des FC-Ziel." +msgstr "Fehler beim Abrufen des WWPN des FC-Ziels." msgid "Get HyperMetroPair error." msgstr "Fehler beim Abrufen von HyperMetroPair." @@ -4609,7 +4622,7 @@ msgstr "Fehler beim Abrufen der Array-Info." msgid "Get cache by name error." -msgstr "Fehler beim Abrufen des Cache nach Name." +msgstr "Fehler beim Abrufen des Zwischenspeichers nach Name." msgid "Get connected free FC wwn error." msgstr "Fehler beim Abrufen der verbundenen freien FC-WWNs." @@ -4640,7 +4653,7 @@ msgstr "Fehler beim Abrufen der LUN-ID nach Namen." msgid "Get lun migration task error." -msgstr "Fehler beim Abrufen der LUN-Migrationstask." +msgstr "Fehler beim Abrufen der LUN-Migrationsaufgabe." msgid "Get lungroup id by lun id error." msgstr "Fehler beim Abrufen der LUN-Gruppen-ID nach LUN-ID." @@ -4685,7 +4698,7 @@ msgstr "Fehler beim Abrufen der Schattenkopie." msgid "Get snapshot id error." -msgstr "Fehler beim Abrufen der Momentaufnahme-ID." +msgstr "Fehler beim Abrufen der Schattenkopie-ID." msgid "Get target IP error." msgstr "Fehler beim Abrufen der Ziel-IP." @@ -4708,17 +4721,17 @@ "%(volume_id)s" msgstr "" "Glance-Metadaten können nicht aktualisiert werden. Schlüssel %(key)s für " -"Datenträger-ID %(volume_id)s vorhanden" +"Datenträger-ID %(volume_id)s vorhanden." #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." msgstr "" -"Glance-Metadaten für Datenträger/Momentaufnahme %(id)s können nicht gefunden " +"Glance-Metadaten für Datenträger/Schattenkopie %(id)s können nicht gefunden " "werden." #, python-format msgid "Gluster config file at %(config)s doesn't exist" -msgstr "Gluster-Konfigurationsdatei unter %(config)s ist nicht vorhanden" +msgstr "Gluster-Konfigurationsdatei ist in %(config)s nicht vorhanden." #, python-format msgid "Google Cloud Storage api failure: %(reason)s" @@ -4734,7 +4747,7 @@ #, python-format msgid "Got bad path information from DRBDmanage! (%s)" -msgstr "Fehlerhafte Pfadinformation von DRBDmanage erhalten! (%s)" +msgstr "Fehlerhafte Pfadangaben von DRBDmanage erhalten! (%s)" msgid "HBSD error occurs." msgstr "HBSD-Fehler tritt auf." @@ -4767,18 +4780,18 @@ #, python-format msgid "Have not created %(tier_levels)s tier(s)." -msgstr "Schicht(en) %(tier_levels)s wurde(n) nicht erstellt." +msgstr "Es wurden keine Schichten %(tier_levels)s erstellt." #, python-format msgid "Hint \"%s\" not supported." -msgstr "Hinweis \"%s\" nicht unterstützt." +msgstr "Hinweis \"%s\" wird nicht unterstützt." msgid "Host" msgstr "Host" #, python-format msgid "Host %(host)s could not be found." -msgstr "Host %(host)s konnte nicht gefunden werden." +msgstr "Der Host %(host)s wurde nicht gefunden." #, python-format msgid "" @@ -4790,23 +4803,23 @@ #, python-format msgid "Host %s has no FC initiators" -msgstr "Host %s weist keine FC-Initiatoren auf" +msgstr "Host %s hat keine iSCSI-Initiatoren." #, python-format msgid "Host %s has no iSCSI initiator" -msgstr "Host %s weist keinen iSCSI-Initiator auf" +msgstr "Host %s hat keinen iSCSI-Initiator." #, python-format msgid "Host '%s' could not be found." -msgstr "Host '%s' konnte nicht gefunden werden." +msgstr "Der Host '%s' wurde nicht gefunden." #, python-format msgid "Host group with name %s not found" -msgstr "Hostgruppe mit Name %s nicht gefunden" +msgstr "Hostgruppe mit dem Namen %s nicht gefunden." #, python-format msgid "Host group with ref %s not found" -msgstr "Hostgruppe mit ref %s nicht gefunden" +msgstr "Hostgruppe mit ref %s nicht gefunden." msgid "Host is NOT Frozen." msgstr "Der Host ist nicht gesperrt." @@ -4836,7 +4849,7 @@ msgid "Hypermetro and Replication can not be used in the same volume_type." msgstr "" -"Hypermetro und Replikation dürfen nicht in demselben Datenträgertyp " +"Hypermetro und Replikation können nicht mit demselben Datenträgertyp " "(volume_type) verwendet werden." #, python-format @@ -4867,21 +4880,21 @@ "valid value(s) are %(enabled)s." msgstr "" "Unzulässiger Wert '%(prot)s' für flashsystem_connection_protocol angegeben: " -"gültige Werte sind %(enabled)s." +"Gültige Werte sind %(enabled)s." msgid "Illegal value specified for IOTYPE: 0, 1, or 2." msgstr "Unzulässiger Wert für IOTYPE angegeben: 0, 1 oder 2." msgid "Illegal value specified for smarttier: set to either 0, 1, 2, or 3." msgstr "" -"Unzulässiger Wert für smarttier angegeben: Auf 0, 1, 2 oder 3 festlegen." +"Unzulässiger Wert für smarttier angegeben. Gültige Werte sind 0, 1, 2 und 3." msgid "" "Illegal value specified for storwize_svc_vol_grainsize: set to either 32, " "64, 128, or 256." msgstr "" -"Unzulässiger Wert für storwize_svc_vol_grainsize angegeben: Auf 32, 64, 128 " -"oder 256 festlegen." +"Unzulässiger Wert für storwize_svc_vol_grainsize angegeben: Gültige Werte " +"sind 32, 64, 128 und 256." msgid "" "Illegal value specified for thin: Can not set thin and thick at the same " @@ -4892,7 +4905,7 @@ #, python-format msgid "Image %(image_id)s could not be found." -msgstr "Image %(image_id)s konnte nicht gefunden werden." +msgstr "Abbild %(image_id)s wurde nicht gefunden." #, python-format msgid "Image %(image_id)s is not active." @@ -4900,17 +4913,17 @@ #, python-format msgid "Image %(image_id)s is unacceptable: %(reason)s" -msgstr "Image %(image_id)s ist nicht zulässig: %(reason)s" +msgstr "Das Abbild %(image_id)s ist nicht zulässig: %(reason)s" msgid "Image location not present." -msgstr "Imageposition nicht vorhanden." +msgstr "Abbildposition nicht vorhanden." #, python-format msgid "" "Image virtual size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." msgstr "" -"Virtuelle Größe des Image beträgt %(image_size)d GB und passt nicht in einen " +"Die virtuelle Größe des Abbilds mit %(image_size)d GB passt nicht auf einen " "Datenträger mit der Größe %(volume_size)d GB." msgid "" @@ -4919,23 +4932,25 @@ "by retrying the delete after 30 seconds has elapsed." msgstr "" "Beim Löschen von RBD-Datenträger ist ein ImageBusy-Fehler aufgetreten. Dies " -"wurde möglicherweise von einer Verbindung von einem Client verursacht, der " -"abgestürzt ist; wenn dies der Fall ist, kann das Problem über einen erneuten " -"Löschversuch nach Ablauf von 30 Sekunden gelöst werden." +"wurde möglicherweise von einer Verbindung mit einem Client verursacht, der " +"abgestürzt ist. Wenn dies der Fall ist, kann das Problem möglicherweise " +"behoben werden, wenn Sie den Löschversuch nach Ablauf von 30 Sekunden " +"wiederholen." #, python-format msgid "" "Import record failed, cannot find backup service to perform the import. " "Request service %(service)s" msgstr "" -"Importdatensatz fehlgeschlagen, Sicherungsservice zum Durchführen des " -"Imports kann nicht gefunden werden. Service %(service)s anfordern" +"Importieren des Datensatzes fehlgeschlagen. Der Sicherungsdienst zum " +"Durchführen des Imports kann nicht gefunden werden. Dienst %(service)s " +"anfordern" msgid "Incorrect request body format" -msgstr "Falsches Anforderungshauptteilformat" +msgstr "Falsches Format für Anforderungshauptteil" msgid "Incorrect request body format." -msgstr "Falsches Anforderungstextformat." +msgstr "Falsches Format für Anforderungshauptteil." msgid "Incremental backups exist for this backup." msgstr "Inkrementelle Sicherungen sind für diese Sicherung vorhanden." @@ -4955,14 +4970,14 @@ msgstr "Eingabetyp {} wird nicht unterstützt." msgid "Input volumes or snapshots are invalid." -msgstr "Eingabedatenträger oder Momentaufnahmen sind ungültig." +msgstr "Eingabedatenträger oder Schattenkopien sind ungültig." msgid "Input volumes or source volumes are invalid." msgstr "Eingabedatenträger oder Quellendatenträger sind ungültig." #, python-format msgid "Instance %(uuid)s could not be found." -msgstr "Instanz %(uuid)s konnte nicht gefunden werden." +msgstr "Instanz %(uuid)s wurde nicht gefunden." msgid "Insufficient free space available to extend volume." msgstr "" @@ -4973,7 +4988,8 @@ msgstr "Unzureichende Berechtigungen" msgid "Interval value (in seconds) between connection retries to ceph cluster." -msgstr "Intervall (in Sekunden) zwischen Verbindungsversuchen zu ceph-Cluster." +msgstr "" +"Intervall (in Sekunden) zwischen Verbindungsversuchen zum ceph-Cluster." #, python-format msgid "Invalid %(protocol)s ports %(port)s specified for io_port_list." @@ -4987,7 +5003,7 @@ msgstr "Ungültiger ALUA-Wert. ALUA-Wert muss 1 oder 0 sein." msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "Ungültige Ceph-Argumente angegeben für RBD-Sicherungsoperation" +msgstr "Ungültige Ceph-Argumente für RBD-Sicherungsoperation angegeben." #, python-format msgid "Invalid CgSnapshot: %(reason)s" @@ -5002,15 +5018,15 @@ "error, but current status is: in-use" msgstr "" "Ungültige Konsistenzgruppe: Konsistenzgruppenstatus muss 'available' oder " -"'error' lauten, aber der aktuelle Status ist 'in-use'" +"'error' sein, aber der aktuelle Status ist 'in-use'." #, python-format msgid "" "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." msgstr "" -"Ungültige Konsistenzgruppe: Konsistenzgruppenstatus muss 'available' lauten, " -"der aktuelle Status lautet jedoch: %s." +"Ungültige Konsistenzgruppe: Konsistenzgruppenstatus muss 'available' sein, " +"aber der aktuelle Status ist: %s." msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "" @@ -5034,7 +5050,7 @@ "Invalid QoS specification detected while getting QoS policy for volume %s" msgstr "" "Ungültige QoS-Spezifikation beim Abrufen der QoS-Richtlinie für Datenträger " -"%s gefunden" +"%s gefunden." #, python-format msgid "Invalid Replication Target: %(reason)s" @@ -5054,7 +5070,8 @@ #, python-format msgid "Invalid XtremIO version %(cur)s, version %(min)s or up is required" -msgstr "Ungültige XtremIO-Version %(cur)s, Version ab %(min)s ist erforderlich" +msgstr "" +"Ungültige XtremIO-Version %(cur)s, Version ab %(min)s ist erforderlich." #, python-format msgid "Invalid allocated quotas defined for the following project quotas: %s" @@ -5070,11 +5087,11 @@ #, python-format msgid "Invalid argument - whence=%s not supported" -msgstr "Ungültiges Argument - whence=%s wird nicht unterstützt" +msgstr "Ungültiges Argument - whence=%s wird nicht unterstützt." #, python-format msgid "Invalid argument - whence=%s not supported." -msgstr "Ungültiges Argument - whence=%s nicht unterstützt." +msgstr "Ungültiges Argument: whence=%s wird nicht unterstützt." #, python-format msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." @@ -5082,7 +5099,7 @@ #, python-format msgid "Invalid auth key: %(reason)s" -msgstr "Ungültiger Authorisierungsschlüssel: %(reason)s" +msgstr "Ungültiger Autorisierungsschlüssel: %(reason)s" #, python-format msgid "Invalid backup: %(reason)s" @@ -5100,7 +5117,7 @@ msgstr "Ungültiger Cgsnapshot" msgid "Invalid chap user details found in CloudByte storage." -msgstr "Ungültige Details des CHAP-Benutzers in CloudByte-Speicher gefunden." +msgstr "Ungültige Details des CHAP-Benutzers im CloudByte-Speicher gefunden." #, python-format msgid "Invalid connection initialization response of volume %(name)s" @@ -5139,7 +5156,7 @@ #, python-format msgid "Invalid disk type: %s." -msgstr "Ungültiger Festplattentyp: %s." +msgstr "Ungültiger Plattentyp: %s." #, python-format msgid "Invalid host: %(reason)s" @@ -5168,18 +5185,18 @@ #, python-format msgid "Invalid image href %(image_href)s." -msgstr "Ungültiger Image-Hyperlink %(image_href)s." +msgstr "Ungültiger Abbildhyperlink %(image_href)s." msgid "Invalid image identifier or unable to access requested image." msgstr "" -"Ungültige Image-ID oder auf das angeforderte Image kann nicht zugegriffen " +"Ungültige Abbild-ID oder auf das angeforderte Abbild kann nicht zugegriffen " "werden." msgid "Invalid imageRef provided." msgstr "Angabe für imageRef ungültig." msgid "Invalid initiator value received" -msgstr "Ungültigen Initiatorwert empfangen" +msgstr "Ungültigen Initiatorwert empfangen." msgid "Invalid input" msgstr "Ungültige Eingabe" @@ -5233,18 +5250,19 @@ msgid "Invalid request to attach volume to an invalid target" msgstr "" -"Ungültige Anforderung, einen Datenträger an ein ungültiges Ziel anzuhängen" +"Die Anforderung, einen Datenträger an ein ungültiges Ziel anzuhängen, ist " +"nicht zulässig." msgid "" "Invalid request to attach volume with an invalid mode. Attaching mode should " "be 'rw' or 'ro'" msgstr "" -"Ungültige Anforderung, einen Datenträger mit einem ungültigen Modus " -"anzuhängen. Anhangmodus sollte 'rw' oder 'ro' sein " +"Die Anforderung, einen Datenträger mit einem ungültigen Modus anzuhängen, " +"ist nicht zulässig. Der Anhangmodus muss 'rw' oder 'ro' sein." #, python-format msgid "Invalid reservation expiration %(expire)s." -msgstr "Ungültiger Reservierungsablauf %(expire)s." +msgstr "Ungültiges Ende für Reservierung: %(expire)s." msgid "Invalid response header from RPC server" msgstr "Ungültiger Antwortheader vom RPC-Server" @@ -5259,14 +5277,14 @@ "Die Angabe für 'secondary_backend_id' ist ungültig. Gültige Backend-ID: %s." msgid "Invalid service catalog json." -msgstr "Ungültige Servicekatalog-JSON." +msgstr "Ungültige Dienstkatalog-JSON." msgid "Invalid sheepdog cluster status." msgstr "Ungültiger Status des sheepdog-Clusters." #, python-format msgid "Invalid snapshot: %(reason)s" -msgstr "Ungültige Momentaufnahme: %(reason)s" +msgstr "Ungültige Schattenkopie: %(reason)s" #, python-format msgid "Invalid status: '%s'" @@ -5331,7 +5349,7 @@ msgstr "Ungültiger Wert für 'readonly': '%s'" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" -msgstr "Ungültiger Wert für scheduler_max_attempts; Wert muss >= 1 sein" +msgstr "Ungültiger Wert für scheduler_max_attempts. Der Wert muss >= 1 sein." msgid "Invalid value for NetApp configuration option netapp_host_type." msgstr "Ungültiger Wert für NetApp-Konfigurationsoption netapp_host_type." @@ -5353,16 +5371,16 @@ "an integer (or string representation of an integer) and greater than zero)." msgstr "" "Ungültige Datenträgergröße für Erstellungsanforderung angegeben: %s " -"(Größenargument muss eine Ganzzahl (oder eine Zeichenfolgedarstellung einer " +"(Größenargument muss eine Ganzzahl (oder eine Zeichenkettendarstellung einer " "Ganzzahl) und größer als null sein)." #, python-format msgid "Invalid volume type: %(reason)s" -msgstr "Ungültiges Volumentyp: %(reason)s" +msgstr "Ungültiger Datenträgertyp: %(reason)s" #, python-format msgid "Invalid volume: %(reason)s" -msgstr "Ungültiges Volumen: %(reason)s" +msgstr "Ungültiger Datenträger: %(reason)s" #, python-format msgid "" @@ -5370,10 +5388,9 @@ "%(group_id)s because volume is in an invalid state: %(status)s. Valid states " "are: ('available', 'in-use')." msgstr "" -"Ungültiger Datenträger: %(volume_id)s des Datenträgers kann nicht zur " -"Konsistenzgruppe %(group_id)s hinzugefügt werden, da der Datenträger einen " -"ungültigen Status aufweist: %(status)s. Gültige Status sind: ('available', " -"'in-use')." +"Ungültiger Datenträger: Der Datenträger %(volume_id)s kann nicht zur " +"Konsistenzgruppe %(group_id)s hinzugefügt werden, da er einen ungültigen " +"Status hat: %(status)s. Gültige Status sind: ('available', 'in-use')." #, python-format msgid "" @@ -5381,9 +5398,9 @@ "%(group_id)s because volume type %(volume_type)s is not supported by the " "group." msgstr "" -"Ungültiger Datenträger: %(volume_id)s des Datenträgers kann nicht zur " +"Ungültiger Datenträger: Der Datenträger %(volume_id)s kann nicht zur " "Konsistenzgruppe %(group_id)s hinzugefügt werden, da der Datenträgertyp " -"%(volume_type)s von der angegeben sein." +"%(volume_type)s nicht von der Gruppe unterstützt wird." #, python-format msgid "" @@ -5392,7 +5409,7 @@ msgstr "" "Ungültiger Datenträger: fake-volume-uuid des Datenträgers kann nicht zur " "Konsistenzgruppe %(group_id)s hinzugefügt werden, da der Datenträger nicht " -"gefunden werden kann." +"gefunden wurde." #, python-format msgid "" @@ -5422,7 +5439,7 @@ "recommend omitting the type argument)." msgstr "" "Ungültiger volume_type angegeben: %s (der angeforderte Typ ist nicht " -"kompatibel; das Typargument sollte weggelassen werden)." +"kompatibel; Weglassen des Typarguments empfohlen)." #, python-format msgid "" @@ -5440,7 +5457,7 @@ msgstr "Aufrufen des Web-Service fehlgeschlagen." msgid "Issue encountered waiting for job." -msgstr "Beim Warten auf den Job ist ein Problem aufgetreten. " +msgstr "Beim Warten auf die Aufgabe ist ein Problem aufgetreten. " msgid "Issue encountered waiting for synchronization." msgstr "Beim Warten auf die Synchronisation ist ein Problem aufgetreten. " @@ -5457,12 +5474,14 @@ #, python-format msgid "Job id not found in CloudByte's create volume [%s] response." msgstr "" -"Job-ID in Antwort zu Datenträger erstellen [%s] von CloudByte nicht gefunden." +"Die Job-ID in der CloudByte-Antwort zur Datenträgererstellung [%s] wurde " +"nicht gefunden." #, python-format msgid "Job id not found in CloudByte's delete volume [%s] response." msgstr "" -"Job-ID in Antwort zu Datenträger löschen [%s] von CloudByte nicht gefunden." +"Die Job-ID in der CloudByte-Antwort zur Datenträgerlöschung [%s] wurde nicht " +"gefunden." msgid "" "Key names can only contain alphanumeric characters, underscores, periods, " @@ -5495,7 +5514,7 @@ #, python-format msgid "LUN not found with given ref %s." -msgstr "LUN mit angegebenem Verweis %s nicht gefunden." +msgstr "LUN mit angegebener Referenz %s nicht gefunden." msgid "LUN number ({}) is not an integer." msgstr "LUN-Zahl ({}) ist keine Ganzzahl." @@ -5510,9 +5529,9 @@ "LUN with given ref %(ref)s does not satisfy volume type. Ensure LUN volume " "with ssc features is present on vserver %(vs)s." msgstr "" -"LUN mit angegebenem Verweis %(ref)s entspricht nicht Datenträgertyp. Stellen " -"Sie sicher, dass LUN-Datenträger mit SSC-Funktionen auf vserver %(vs)s " -"vorhanden ist." +"LUN mit angegebener Referenz %(ref)s entspricht nicht Datenträgertyp. " +"Stellen Sie sicher, dass LUN-Datenträger mit SSC-Funktionen auf dem " +"virtuellen Server %(vs)s vorhanden ist." #, python-format msgid "Last %s cinder syslog entries:-" @@ -5529,7 +5548,7 @@ msgstr "Zeile %(dis)d : %(line)s" msgid "Link path already exists and its not a symlink" -msgstr "Linkpfad ist bereits vorhanden und ist kein symbolischer Link" +msgstr "Linkpfad ist bereits vorhanden und ist kein symbolischer Link." #, python-format msgid "Linked clone of source volume not supported in state: %s." @@ -5545,8 +5564,8 @@ "Lookup service not configured. Config option for fc_san_lookup_service needs " "to specify a concrete implementation of the lookup service." msgstr "" -"Suchservice nicht konfiguriert. Konfigurationsoption für " -"fc_san_lookup_service muss eine konkrete Implementierung des Suchservice " +"Suchdienst nicht konfiguriert. Konfigurationsoption für " +"fc_san_lookup_service muss eine konkrete Implementierung des Suchdiensts " "angeben." msgid "Lun migration error." @@ -5574,7 +5593,7 @@ #, python-format msgid "Malformed fcns output string: %s" -msgstr "Fehlerhafte FCNS-Ausgabezeichenfolge: %s" +msgstr "Fehlerhafte FCNS-Ausgabezeichenkette: %s" #, python-format msgid "Malformed message body: %(reason)s" @@ -5582,7 +5601,7 @@ #, python-format msgid "Malformed nameserver string: %s" -msgstr "Fehlerhafte Namensserver-Zeichenkette: %s" +msgstr "Fehlerhafte Zeichenkette für Namensserver: %s" msgid "Malformed request body" msgstr "Fehlerhafter Anforderungshauptteil" @@ -5598,18 +5617,18 @@ msgstr "Fehlerhafte Antwort auf Befehl %(cmd)s: %(reason)s" msgid "Malformed scheduler_hints attribute" -msgstr "Attribut 'scheduler_hints' fehlerhaft" +msgstr "Attribut 'scheduler_hints' fehlerhaft." #, python-format msgid "Malformed show fcns database string: %s" -msgstr "Fehlerhafte Anzeigen-FCNS-Datenbankzeichenfolge: %s" +msgstr "Fehlerhafte Zeichenkette für Anzeige von FCNS-Datenbank: %s" #, python-format msgid "" "Malformed zone configuration: (switch=%(switch)s zone_config=" "%(zone_config)s)." msgstr "" -"Fehlerhafte Zonenkonfiguration: (switch=%(switch)s zone_config=" +"Fehlerhafte Zonenkonfiguration: (Switch=%(switch)s Zonenkonfiguration=" "%(zone_config)s)." #, python-format @@ -5621,15 +5640,15 @@ msgstr "Verwaltung eines vorhandenen Abrufs der Größe erfordert 'id'." msgid "Manage existing snapshot not implemented." -msgstr "Verwaltung einer vorhandenen Momentaufnahme nicht implementiert." +msgstr "Verwaltung einer vorhandenen Schattenkopie nicht implementiert." #, python-format msgid "" "Manage existing volume failed due to invalid backend reference " "%(existing_ref)s: %(reason)s" msgstr "" -"Verwaltung des vorhandenen Datenträgers aufgrund von ungültiger Back-End-" -"Referenz fehlgeschlagen %(existing_ref)s: %(reason)s" +"Verwaltung des vorhandenen Datenträgers aufgrund von ungültiger Backend-" +"Referenz %(existing_ref)s fehlgeschlagen: %(reason)s" #, python-format msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" @@ -5648,7 +5667,7 @@ "Manage volume is not supported if FAST is enable. FAST policy: " "%(fastPolicyName)s." msgstr "" -"Datenträger verwalten wird nicht unterstützt, wenn FAST aktiviert wurde. " +"Verwalten von Datenträger wird nicht unterstützt, wenn FAST aktiviert wurde. " "FAST-Richtlinie: %(fastPolicyName)s." msgid "Managing of snapshots to failed-over volumes is not allowed." @@ -5669,7 +5688,7 @@ #, python-format msgid "Masking view %(maskingViewName)s was not deleted successfully" -msgstr "Maskenansicht %(maskingViewName)s wurde nicht erfolgreich gelöscht" +msgstr "Maskenansicht %(maskingViewName)s wurde nicht erfolgreich gelöscht." #, python-format msgid "Maximum number of backups allowed (%(allowed)d) exceeded" @@ -5678,26 +5697,26 @@ #, python-format msgid "Maximum number of snapshots allowed (%(allowed)d) exceeded" msgstr "" -"Maximale Anzahl an zulässigen Momentaufnahmen (%(allowed)d) überschritten" +"Maximale Anzahl an zulässigen Schatenkopien (%(allowed)d) überschritten" #, python-format msgid "" "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." msgstr "" -"Maximale Anzahl an zulässigen Datenträgern (%(allowed)d) für Quote " +"Maximale Anzahl an zulässigen Datenträgern (%(allowed)d) für Kontingent " "'%(name)s' überschritten." #, python-format msgid "May specify only one of %s" -msgstr "Nur Angabe von einem von %s zulässig" +msgstr "Nur eine Angabe von %s ist zulässig." msgid "Metadata backup already exists for this volume" -msgstr "Für dieses Volumen ist bereits eine Metadatensicherung vorhanden" +msgstr "Für diesen Datenträger ist bereits eine Metadatensicherung vorhanden." #, python-format msgid "Metadata backup object '%s' already exists" -msgstr "Metadatensicherungsobjekt '%s' bereits vorhanden" +msgstr "Metadatensicherungsobjekt '%s' ist bereits vorhanden." msgid "Metadata item was not found" msgstr "Metadatenelement wurde nicht gefunden" @@ -5707,11 +5726,11 @@ #, python-format msgid "Metadata property key %s greater than 255 characters" -msgstr "Metadaten-Eigenschaftsschlüssel %s größer als 255 Zeichen" +msgstr "Metadateneigenschaftsschlüssel %s ist größer als 255 Zeichen." #, python-format msgid "Metadata property key %s value greater than 255 characters" -msgstr "Metadateneigenschaftenschlüsselwert %s ist größer als 255 Zeichen" +msgstr "Metadateneigenschaftenschlüsselwert %s ist größer als 255 Zeichen." msgid "Metadata property key blank" msgstr "Metadateneigenschaftenschlüssel leer" @@ -5732,8 +5751,8 @@ msgid "Metadata restore failed due to incompatible version." msgstr "" -"Metadatenwiederherstellung fehlgeschlagen aufgrund einer inkompatiblen " -"Version." +"Metadatenwiederherstellung aufgrund einer inkompatiblen Version " +"fehlgeschlagen." #, python-format msgid "Migrate volume %(src)s failed." @@ -5757,7 +5776,7 @@ "available." msgstr "" "Python-Modul 'purestorage' fehlt. Stellen Sie sicher, dass die Bibliothek " -"verfügbar." +"installiert und verfügbar ist." msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names" msgstr "Fehlende Fibre Channel-SAN-Konfigurationsparameter - fc_fabric_names" @@ -5814,19 +5833,19 @@ msgstr "Implementierung eines Ersatzzeitplans erforderlich" msgid "Must implement find_retype_host" -msgstr "find_retype_host muss implementiert werden" +msgstr "find_retype_host muss implementiert werden." msgid "Must implement host_passes_filters" -msgstr "host_passes_filters muss implementiert werden" +msgstr "host_passes_filters muss implementiert werden." msgid "Must implement schedule_create_consistencygroup" -msgstr "schedule_create_consistencygroup muss implementiert werden" +msgstr "schedule_create_consistencygroup muss implementiert werden." msgid "Must implement schedule_create_volume" -msgstr "schedule_create_volume muss implementiert werden" +msgstr "schedule_create_volume muss implementiert werden." msgid "Must implement schedule_get_pools" -msgstr "schedule_get_pools muss implementiert werden" +msgstr "schedule_get_pools muss implementiert werden." msgid "Must pass wwpn or host to lsfabric." msgstr "WWPN oder Host muss an lsfabric übergeben werden." @@ -5840,7 +5859,7 @@ "Cloudadministrator beliebige Projekte auflisten und abrufen kann. " msgid "Must specify 'connector'" -msgstr "'connector' muss angegeben werden" +msgstr "'connector' muss angegeben werden." msgid "Must specify 'connector'." msgstr "'connector' muss angegeben werden." @@ -5849,10 +5868,10 @@ msgstr "'host' muss angegeben werden." msgid "Must specify 'new_volume'" -msgstr "'new_volume' muss angegeben werden" +msgstr "'new_volume' muss angegeben werden." msgid "Must specify 'status'" -msgstr "'status' muss angegeben werden" +msgstr "'status' muss angegeben werden." msgid "" "Must specify 'status', 'attach_status' or 'migration_status' for update." @@ -5861,16 +5880,16 @@ "Aktualisierung angegeben werden. " msgid "Must specify a valid attach status" -msgstr "Ein gültiger Anhangstatus muss angegeben werden" +msgstr "Ein gültiger Anhangstatus muss angegeben werden." msgid "Must specify a valid migration status" -msgstr "Ein gültiger Migrationsstatus muss angegeben werden" +msgstr "Ein gültiger Migrationsstatus muss angegeben werden." #, python-format msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid." msgstr "" -"Ein gültiger Charakter %(valid)s muss angegeben werden. Wert '%(persona)s' " -"ist ungültig." +"Eine gültige Persona %(valid)s muss angegeben werden. Wert '%(persona)s' ist " +"ungültig." #, python-format msgid "" @@ -5881,10 +5900,10 @@ "'%(prov)s' ist ungültig." msgid "Must specify a valid status" -msgstr "Ein gültiger Status muss angegeben werden" +msgstr "Ein gültiger Status muss angegeben werden." msgid "Must specify an ExtensionManager class" -msgstr "Eine ExtensionManager-Klasse muss angegeben werden" +msgstr "Eine ExtensionManager-Klasse muss angegeben werden." msgid "Must specify bootable in request." msgstr "'bootable' muss in der Anforderung angegeben werden." @@ -5903,27 +5922,27 @@ msgstr "'source-name' oder 'source-id' muss angegeben werden." msgid "Must specify storage pool name or id." -msgstr "Speicherpoolname oder -ID muss angegeben werden." +msgstr "Speicherpoolname oder Speicherpool-ID muss angegeben werden." msgid "Must specify storage pools. Option: sio_storage_pools." msgstr "Speicherpools müssen angegeben werden. Option: sio_storage_pools." msgid "Must supply a positive value for age" -msgstr "Für age muss ein positiver Wert angegeben werden" +msgstr "Für age muss ein positiver Wert angegeben werden." msgid "Must supply a positive, non-zero value for age" -msgstr "Für age muss ein positiver Wert angegeben werden" +msgstr "Für age muss ein positiver Wert ungleich null angegeben werden." #, python-format msgid "" "NAS config '%(name)s=%(value)s' invalid. Must be 'auto', 'true', or 'false'" msgstr "" "NAS-Konfiguration '%(name)s=%(value)s' ungültig. Muss 'auto', 'true' oder " -"'false' sein" +"'false' sein." #, python-format msgid "NFS config file at %(config)s doesn't exist" -msgstr "NFS-Konfigurationsdatei unter %(config)s ist nicht vorhanden" +msgstr "NFS-Konfigurationsdatei ist in %(config)s nicht vorhanden." #, python-format msgid "NFS file %s not discovered." @@ -5960,7 +5979,7 @@ "New size for extend must be greater than current size. (current: %(size)s, " "extended: %(new_size)s)." msgstr "" -"Neue Größe für Erweitern muss größer als aktuelle Größe sein (aktuell: " +"Neue Größe für Erweiterung muss größer als aktuelle Größe sein (aktuell: " "%(size)s, erweitert: %(new_size)s)." #, python-format @@ -5969,7 +5988,7 @@ "%(oldsize)s, newsize: %(newsize)s." msgstr "" "Die neue Größe muss größer sein als die tatsächliche Größe aus dem " -"Backendspeicher. realsize: %(oldsize)s, newsize: %(newsize)s." +"Backendspeicher. Tatsächliche Größe: %(oldsize)s, neue Größe: %(newsize)s." msgid "New volume size must be specified as an integer." msgstr "Neue Datenträgergröße muss als Ganzzahl angegeben werden." @@ -5978,7 +5997,7 @@ msgstr "Neuer Datenträgertyp muss angegeben werden." msgid "New volume type not specified in request_spec." -msgstr "Neuer Datenträgertyp nicht angegeben in request_spec." +msgstr "Der neue Datenträgertyp wurde nicht in request_spec angegeben." #, python-format msgid "New volume_type same as original: %s." @@ -6008,11 +6027,11 @@ #, python-format msgid "No available service named %s" -msgstr "Kein verfügbarer Dienst namens %s" +msgstr "Kein Dienst mit dem Namen %s verfügbar." #, python-format msgid "No backup with id %s" -msgstr "Keine Datensicherung mit Kennung %s" +msgstr "Keine Datensicherung mit ID %s" msgid "No backups available to do an incremental backup." msgstr "" @@ -6031,14 +6050,14 @@ #, python-format msgid "No cloned LUN named %s found on the filer" -msgstr "Keine geklonte LUN mit Namen %s auf dem Dateiserver gefunden" +msgstr "Keine geklonte LUN mit dem Namen %s auf dem Dateiserver gefunden." msgid "No config node found." msgstr "Kein Konfigurationsknoten gefunden." #, python-format msgid "No consistency group with id %s" -msgstr "Keine Konsistenzgruppe mit ID %s vorhanden" +msgstr "Keine Konsistenzgruppe mit ID %s vorhanden." #, python-format msgid "No element by given name %s." @@ -6056,11 +6075,11 @@ "No free LUN IDs left. Maximum number of volumes that can be attached to host " "(%s) has been exceeded." msgstr "" -"Keine freien LUN-IDs übrig. Die maximale Anzahl der Datenträger, die an Host " -"(%s) angehängt werden können, wurde überschritten." +"Keine freien LUN-IDs übrig. Die maximale Anzahl der Datenträger, die an den " +"Host (%s) angehängt werden können, wurde überschritten." msgid "No free disk" -msgstr "Keine freie Platte" +msgstr "Kein freier Plattenspeicherplatz" #, python-format msgid "No good iscsi portal found in supplied list for %s." @@ -6088,11 +6107,11 @@ msgstr "Keine Initiatorgruppe gefunden für Initiator %s" msgid "No initiators found, cannot proceed" -msgstr "Keine Initiatoren gefunden. Fortfahren nicht möglich" +msgstr "Keine Initiatoren gefunden. Fortfahren nicht möglich." #, python-format msgid "No interface found on cluster for ip %s" -msgstr "Keine Schnittstelle auf Cluster für IP %s gefunden" +msgstr "Keine Schnittstelle im Cluster für IP %s gefunden." msgid "No ip address found." msgstr "Keine IP-Adresse gefunden." @@ -6105,10 +6124,10 @@ #, python-format msgid "No iscsi service found for CloudByte volume [%s]." -msgstr "Kein iSCSI-Service für CloudByte-Datenträger [%s] gefunden." +msgstr "Kein iSCSI-Dienst für CloudByte-Datenträger [%s] gefunden." msgid "No iscsi services found in CloudByte storage." -msgstr "Keine iSCSI-Services in CloudByte-Speicher gefunden." +msgstr "Keine iSCSI-Dienste in CloudByte-Speicher gefunden." #, python-format msgid "No key file specified and unable to load key from %(cert)s %(e)s." @@ -6117,19 +6136,19 @@ "nicht möglich." msgid "No mounted Gluster shares found" -msgstr "Keine angehängten gemeinsam genutzten Gluster-Laufwerke gefunden" +msgstr "Keine eingehängten gemeinsam genutzten Gluster-Laufwerke gefunden." msgid "No mounted NFS shares found" -msgstr "Kein angehängtes gemeinsam genutztes NFS-Laufwerk gefunden" +msgstr "Keine eingehängten gemeinsam genutzten NFS-Laufwerke gefunden." msgid "No mounted SMBFS shares found." -msgstr "Keine eingehängten SMBFS-Freigaben gefunden." +msgstr "Keine eingehängten gemeinsam genutzten SMBFS-Laufwerke gefunden." msgid "No mounted Virtuozzo Storage shares found" -msgstr "Keine angehängten Virtuozzo-Speicherfreigaben gefunden" +msgstr "Keine eingehängten gemeinsam genutzten Virtuozzo-Laufwerke gefunden." msgid "No mounted shares found" -msgstr "Keine eingehängten Freigaben gefunden." +msgstr "Keine eingehängten gemeinsam genutzten Laufwerke gefunden." #, python-format msgid "No node found in I/O group %(gid)s for volume %(vol)s." @@ -6147,18 +6166,18 @@ "No response was received from CloudByte storage list iSCSI auth user API " "call." msgstr "" -"Keine Antwort von API-Aufruf zum Auflisten der iSCSI-" -"Authentifizierungsbenutzer von CloudByte-Speicher erhalten." +"Es wurde keine Antwort von CloudBytes API-Aufruf zum Auflisten der iSCSI-" +"Authentifizierungsbenutzer aus dem CloudByte-Speicher empfangen." msgid "No response was received from CloudByte storage list tsm API call." msgstr "" -"Von API-Aufruf zum Auflisten von TSM (listTsm) keine Antwort vom CloudByte-" -"Speicher erhalten." +"Es wurde keine Antwort von CloudBytes API-Aufruf zum Auflisten von TSM " +"(listTsm) empfangen." msgid "No response was received from CloudByte's list filesystem api call." msgstr "" -"Von API-Aufruf zum Auflisten vom Dateisystem (listFileSystem) keine Antwort " -"von CloudByte erhalten." +"Es wurde keine Antwort von CloudBytes API-Aufruf zum Auflisten vom " +"Dateisystem (listFileSystem) empfangen." msgid "No service VIP configured and no nexenta_client_address" msgstr "" @@ -6166,11 +6185,11 @@ #, python-format msgid "No snap found with %s as backing file." -msgstr "Keine Momentaufnahme mit %s als Sicherungsdatei gefunden." +msgstr "Es wurde keine Schattenkopie mit %s als Sicherungsdatei gefunden." #, python-format msgid "No snapshot image found in snapshot group %s." -msgstr "Kein Momentaufnahmeimage in Momentaufnahmegruppe %s gefunden." +msgstr "Kein Schattenkopieabbild in Schattenkopiegruppe %s gefunden." #, python-format msgid "No snapshots could be found on volume %s." @@ -6179,18 +6198,18 @@ #, python-format msgid "No source snapshots provided to create consistency group %s." msgstr "" -"Keine Quellenmomentaufnahmen zum Erstellen der Konsistenzgruppe %s angegeben." +"Keine Quellenschattenkopien zum Erstellen der Konsistenzgruppe %s angegeben." #, python-format msgid "No storage path found for export path %s" -msgstr "Kein Speicherpfad für Exportpfad %s gefunden" +msgstr "Keinen Speicherpfad für Exportpfad %s gefunden." #, python-format msgid "No such QoS spec %(specs_id)s." -msgstr "Keine QoS-Spezifikation %(specs_id)s vorhanden." +msgstr "Keine solche QoS-Spezifikation %(specs_id)s vorhanden." msgid "No suitable discovery ip found" -msgstr "Keine geeignete Erkennungs-IP-Adresse gefunden" +msgstr "Keine geeignete Erkennungs-IP-Adresse gefunden." #, python-format msgid "No support to restore backup version %s" @@ -6230,25 +6249,26 @@ msgid "" "No volume on cluster with vserver %(vserver)s and junction path %(junction)s " msgstr "" -"Kein Datenträger auf Cluster mit virtuellem Server %(vserver)s und " -"Junctionpfad %(junction)s " +"Kein Datenträger im Cluster mit virtuellem Server %(vserver)s und Junction-" +"Pfad %(junction)s." msgid "No volume service(s) started successfully, terminating." -msgstr "Kein Volume Service erfolgreich gestartet. Wird beendet." +msgstr "" +"Keiner der Datenträgerdienste wurde erfolgreich gestartet. Wird beendet." msgid "No volume was found at CloudByte storage." -msgstr "Kein Datenträger bei CloudByte-Speicher gefunden." +msgstr "Kein Datenträger im CloudByte-Speicher gefunden." msgid "No volume_type should be provided when creating test replica." msgstr "" -"Beim Erstellen der Testreplik darf keine Angabe für volume_type vorgenommen " -"werden." +"Beim Erstellen des Testreplikats darf keine Angabe für volume_type " +"vorgenommen werden." msgid "No volumes found in CloudByte storage." msgstr "Keine Datenträger in CloudByte-Speicher gefunden." msgid "No weighed hosts available" -msgstr "Keine gewichteten Hosts verfügbar" +msgstr "Keine gewichteten Hosts verfügbar." #, python-format msgid "Not a valid string: %s" @@ -6263,18 +6283,18 @@ "Es kann kein geeigneter Datenspeicher für den Datenträger %s gefunden werden." msgid "Not an rbd snapshot" -msgstr "Keine RBD-Momentaufnahme" +msgstr "Keine RBD-Schattenkopie" #, python-format msgid "Not authorized for image %(image_id)s." -msgstr "Für Image %(image_id)s nicht autorisiert." +msgstr "Keine Autorisierung für das Abbild %(image_id)s." msgid "Not authorized." -msgstr "Nicht autorisiert." +msgstr "Nicht berechtigt." #, python-format msgid "Not enough space on backend (%(backend)s)" -msgstr "Nicht genug Speicherplatz auf Back-End (%(backend)s)" +msgstr "Nicht genug Speicherplatz im Backend (%(backend)s) vorhanden." msgid "Not enough storage space in the ZFS share to perform this operation." msgstr "" @@ -6282,11 +6302,10 @@ "Ausführen dieser Operation vorhanden." msgid "Not stored in rbd" -msgstr "Nicht in RBD gespeichert" +msgstr "Nicht in RBD gespeichert." msgid "Nova returned \"error\" status while creating snapshot." -msgstr "" -"Nova gibt den Status \"error\" beim Erstellen der Momentaufnahme zurück." +msgstr "Nova gab beim Erstellen der Schattenkopie den Status \"error\" zurück." msgid "Null response received from CloudByte's list filesystem." msgstr "" @@ -6295,8 +6314,8 @@ msgid "Null response received from CloudByte's list iscsi auth groups." msgstr "" -"Antwort 'Null' zu iSCSI-Authentifizierungsgruppen auflisten von CloudByte " -"erhalten." +"CloudBytes Antwort zum Auflisten der iSCSI-Authentifizierungsgruppen ist " +"'Null'." msgid "Null response received from CloudByte's list iscsi initiators." msgstr "" @@ -6305,19 +6324,19 @@ msgid "Null response received from CloudByte's list volume iscsi service." msgstr "" -"Zum Auflisten von Datenträger-iSCSI-Services (listVolumeiSCSIService) " +"Zum Auflisten von Datenträger-iSCSI-Diensten (listVolumeiSCSIService) " "Antwort 'Null' von CloudByte erhalten." #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." msgstr "" -"Antwort 'Null' beim Erstellen von Datenträger [%s] bei CloudByte-Speicher " +"Antwort 'Null' beim Erstellen von Datenträger [%s] im CloudByte-Speicher " "erhalten." #, python-format msgid "Null response received while deleting volume [%s] at CloudByte storage." msgstr "" -"Antwort 'Null' beim Löschen von Datenträger [%s] bei CloudByte-Speicher " +"Antwort 'Null' beim Löschen von Datenträger [%s] aus dem CloudByte-Speicher " "erhalten." #, python-format @@ -6326,11 +6345,11 @@ "[%(job)s] at CloudByte storage." msgstr "" "Antwort 'Null' beim Abfragen nach auf [%(operation)s] basierendem Job " -"[%(job)s] bei CloudByte-Speicher erhalten." +"[%(job)s] im CloudByte-Speicher erhalten." msgid "Number of retries if connection to ceph cluster failed." msgstr "" -"Anzahl der Wiederholungen, wenn Verbindung zu ceph-Cluster fehlgeschlagen " +"Anzahl der Wiederholungen, wenn Verbindung zum ceph-Cluster fehlgeschlagen " "ist." msgid "Object Count" @@ -6354,8 +6373,9 @@ "One of cinder-volume services is too old to accept such request. Are you " "running mixed Liberty-Mitaka cinder-volumes?" msgstr "" -"Einer der cinder-volume-Dienste ist zu alt, um solche Anforderungen zu " -"akzeptieren. Führen Sie heterogene Liberty-Mitaka-cinter-volumes aus?" +"Einer der Cinder-Datenträgerdienste ist zu alt, um diese Anforderung zu " +"akzeptieren. Verwenden Sie Liberty-Mitaka-Cinderdatenträger in Ihrer " +"Umgebung gemeinsam?" msgid "One of the required inputs from host, port or scheme was not found." msgstr "" @@ -6378,8 +6398,8 @@ "allowed to see its children quotas." msgstr "" "Nur Benutzer mit einem Token, als dessen Bereich direkt übergeordnete oder " -"Stammprojekte festgelegt wurden, dürfen die Quoten der zugehörigen " -"untergeordneten Elemente sehen." +"Stammprojekte festgelegt wurden, dürfen die Kontingente der zugehörigen " +"untergeordneten Elemente anzeigen." msgid "Only volumes managed by OpenStack can be unmanaged." msgstr "" @@ -6394,7 +6414,7 @@ #, python-format msgid "Operation not supported: %(operation)s." -msgstr "Operation nicht unterstützt: %(operation)s." +msgstr "Nicht unterstützte Operation: %(operation)s." msgid "Option gpfs_images_dir is not set correctly." msgstr "Option gpfs_images_dir wurde nicht richtig festgelegt." @@ -6410,7 +6430,9 @@ #, python-format msgid "Originating %(res)s %(prop)s must be one of '%(vals)s' values" -msgstr "Ursprungs-%(res)s %(prop)s muss einen der Werte '%(vals)s' besitzen" +msgstr "" +"Die Ursprungs-%(res)s %(prop)s muss einen der folgenden Werte haben: " +"'%(vals)s'." msgid "Override HTTPS port to connect to Blockbridge API server." msgstr "" @@ -6442,8 +6464,7 @@ #, python-format msgid "Please create %(tier_levels)s tier in pool %(pool)s in advance!" -msgstr "" -"Erstellen Sie Schicht %(tier_levels)s in Pool %(pool)s bereits im Voraus!" +msgstr "Erstellen Sie die %(tier_levels)s im Pool %(pool)s bereits im Voraus!" msgid "Please re-run cinder-manage as root." msgstr "Führen Sie 'cinder-manage' erneut als Root aus." @@ -6472,26 +6493,28 @@ msgstr "Pool von Datenträger ['host'] fehlgeschlagen mit: %(ex)s." msgid "Pool is not available in the volume host field." -msgstr "Pool ist im Datenträger-Hostfeld nicht verfügbar." +msgstr "Pool ist im Hostfeld für Datenträger nicht verfügbar." msgid "Pool is not available in the volume host fields." -msgstr "Pool ist in den Datenträger-Hostfeldern nicht verfügbar." +msgstr "Pool ist in den Hostfeldern für Datenträger nicht verfügbar." #, python-format msgid "Pool with name %(pool)s wasn't found in domain %(domain)s." -msgstr "Pool mit Name %(pool)s wurde in der Domäne %(domain)s nicht gefunden." +msgstr "" +"Pool mit dem Namen %(pool)s wurde in der Domäne %(domain)s nicht gefunden." #, python-format msgid "Pool with name %(pool_name)s wasn't found in domain %(domain_id)s." msgstr "" -"Pool mit Name %(pool_name)s wurde in der Domäne %(domain_id)s nicht gefunden." +"Pool mit dem Namen %(pool_name)s wurde in der Domäne %(domain_id)s nicht " +"gefunden." #, python-format msgid "" "Pool: %(poolName)s. is not associated to storage tier for fast policy " "%(fastPolicy)s." msgstr "" -"Pool %(poolName)s ist keiner Speicherschicht für FAST-Richtlinie " +"Der Pool %(poolName)s ist keiner Speicherschicht für FAST-Richtlinie " "%(fastPolicy)s zugeordnet." #, python-format @@ -6500,7 +6523,7 @@ #, python-format msgid "Pools %s does not exist" -msgstr "Pool %s ist nicht vorhanden" +msgstr "Pool %s ist nicht vorhanden." msgid "Pools name is not set." msgstr "Name des Pools wurde nicht festgelegt." @@ -6530,15 +6553,15 @@ "%(storage_family)s." msgid "Provided backup record is missing an id" -msgstr "Im angegebenen Sicherungsdatensatz fehlt eine ID" +msgstr "Im angegebenen Sicherungsdatensatz fehlt eine ID." #, python-format msgid "" "Provided snapshot status %(provided)s not allowed for snapshot with status " "%(current)s." msgstr "" -"Angegebener Momentaufnahmestatus %(provided)s ist nicht zulässig für " -"Momentaufnahme mit Status %(current)s." +"Angegebener Schattenkopiestatus %(provided)s ist nicht zulässig für " +"Schattenkopie mit Status %(current)s." #, python-format msgid "" @@ -6554,11 +6577,12 @@ #, python-format msgid "QoS Specs %(specs_id)s already exists." -msgstr "QoS-Spezifikationen %(specs_id)s sind bereits vorhanden." +msgstr "Die QoS-Spezifikation %(specs_id)s ist bereits vorhanden." #, python-format msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "QoS-Spezifikationen %(specs_id)s sind immer noch Entitäten zugeordnet." +msgstr "" +"Die QoS-Spezifikation %(specs_id)s ist immer noch Entitäten zugeordnet." #, python-format msgid "QoS config is wrong. %s must > 0." @@ -6576,8 +6600,8 @@ msgid "" "QoS policy must specify for IOTYPE: 0, 1, or 2, QoS policy: %(qos_policy)s " msgstr "" -"QoS policy muss für IOTYPE angegeben werden: 0, 1 oder 2. QoS-Richtlinie: " -"%(qos_policy)s " +"QoS-Richtlinie muss für IOTYPE angegeben werden: 0, 1 oder 2. QoS-" +"Richtlinie: %(qos_policy)s " #, python-format msgid "" @@ -6604,8 +6628,8 @@ "Query by service parameter is deprecated. Please use binary parameter " "instead." msgstr "" -"Die Abfrage nach Serviceparameter ist veraltet. Verwenden Sie stattdessen " -"den binären Parameter." +"Die Abfrage nach Dienstparameter ist veraltet. Verwenden Sie stattdessen den " +"binären Parameter." msgid "Query resource pool error." msgstr "Fehler beim Abfragen des Ressourcenpools." @@ -6613,27 +6637,27 @@ #, python-format msgid "Quota %s limit must be equal or greater than existing resources." msgstr "" -"Grenzwert für Quote %s muss mindestens den vorhandenen Ressourcen " -"entsprechen." +"Der Grenzwert für das Kontingent %s muss mindestens den vorhandenen " +"Ressourcen entsprechen." #, python-format msgid "Quota class %(class_name)s could not be found." -msgstr "Quotenklasse %(class_name)s konnte nicht gefunden werden." +msgstr "Kontingentklasse %(class_name)s wurde nicht gefunden." msgid "Quota could not be found" -msgstr "Quote konnte nicht gefunden werden" +msgstr "Kontingent wurde nicht gefunden." #, python-format msgid "Quota exceeded for resources: %(overs)s" -msgstr "Quote für Ressourcen überschritten: %(overs)s" +msgstr "Kontingent für Ressourcen überschritten: %(overs)s" #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "Quote überschritten: code=%(code)s" +msgstr "Kontingent überschritten: code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." -msgstr "Quote für Projekt %(project_id)s konnte nicht gefunden werden." +msgstr "Kontingent für Projekt %(project_id)s wurde nicht gefunden." #, python-format msgid "" @@ -6646,11 +6670,11 @@ #, python-format msgid "Quota reservation %(uuid)s could not be found." -msgstr "Quotenreservierung %(uuid)s konnte nicht gefunden werden." +msgstr "Kontingentreservierung %(uuid)s wurde nicht gefunden." #, python-format msgid "Quota usage for project %(project_id)s could not be found." -msgstr "Quotennutzung für Projekt %(project_id)s konnte nicht gefunden werden." +msgstr "Kontingentnutzung für Projekt %(project_id)s wurde nicht gefunden." #, python-format msgid "RBD diff op failed - (ret=%(ret)s stderr=%(stderr)s)" @@ -6666,10 +6690,10 @@ msgstr "IP des REST-Servers muss angegeben werden." msgid "REST server password must by specified." -msgstr "Kennwort des REST-Servers muss angegeben werden." +msgstr "Kennwort für REST-Server muss angegeben werden." msgid "REST server username must by specified." -msgstr "Benutzername des REST-Servers muss angegeben werden." +msgstr "Benutzername für REST-Server muss angegeben werden." msgid "RPC Version" msgstr "RPC-Version" @@ -6678,45 +6702,45 @@ msgstr "RPC-Serverantwort ist unvollständig." msgid "Raid did not have MCS Channel." -msgstr "RAID besaß keinen MCS-Channel." +msgstr "RAID hatte keinen MCS-Channel." #, python-format msgid "" "Reach limitation set by configuration option max_luns_per_storage_group. " "Operation to add %(vol)s into Storage Group %(sg)s is rejected." msgstr "" -"Durch Konfigurationsoption max_luns_per_storage_group festgelegter Grenzwert " -"wurde erreicht. Operation zum Hinzufügen von %(vol)s zu Speichergruppe " -"%(sg)s wird zurückgewiesen. " +"Der mit der Konfigurationsoption max_luns_per_storage_group festgelegte " +"Grenzwert wurde erreicht. Operation zum Hinzufügen von %(vol)s zu " +"Speichergruppe %(sg)s wird zurückgewiesen. " #, python-format msgid "Received error string: %s" -msgstr "Empfangene Fehlerzeichenfolge: %s" +msgstr "Empfangene Fehlerzeichenkette: %s" msgid "Reference must be for an unmanaged snapshot." -msgstr "Referenz muss eine nicht verwaltete Schattenkopie sein." +msgstr "Referenz muss für eine nicht verwaltete Schattenkopie sein." msgid "Reference must be for an unmanaged virtual volume." msgstr "" -"Verweis muss für einen nicht verwalteten virtuellen Datenträger gelten. " +"Referenz muss für einen nicht verwalteten virtuellen Datenträger sein. " msgid "Reference must be the name of an unmanaged snapshot." msgstr "Referenz muss der Name einer nicht verwalteten Schattenkopie sein." msgid "Reference must be the volume name of an unmanaged virtual volume." msgstr "" -"Verweis muss der Datenträgername eines nicht verwalteten virtuellen " +"Referenz muss der Datenträgername eines nicht verwalteten virtuellen " "Datenträgers sein." msgid "Reference must contain either source-id or source-name element." msgstr "" -"Verweis muss entweder Element 'source-id' oder Element 'source-name' " +"Referenz muss entweder Element 'source-id' oder Element 'source-name' " "enthalten." msgid "Reference must contain either source-name or source-id element." msgstr "" -"Verweis muss entweder das Element 'source-name' oder das Element 'source-id' " -"enthalten." +"Referenz muss entweder das Element 'source-name' oder das Element 'source-" +"id' enthalten." msgid "Reference must contain source-id or source-name element." msgstr "" @@ -6732,13 +6756,13 @@ msgstr "Referenz muss 'source-id' enthalten." msgid "Reference must contain source-name element." -msgstr "Verweis muss Element 'source-name' enthalten. " +msgstr "Referenz muss Element 'source-name' enthalten. " msgid "Reference must contain source-name or source-id." -msgstr "Verweis muss 'source-name' oder 'source-id' enthalten." +msgstr "Referenz muss 'source-name' oder 'source-id' enthalten." msgid "Reference must contain source-name." -msgstr "Verweis muss Element 'source-name' enthalten." +msgstr "Referenz muss Element 'source-name' enthalten." msgid "Reference to volume to be managed must contain source-name." msgstr "" @@ -6757,8 +6781,7 @@ "because source and destination are the same Volume Group: %(name)s." msgstr "" "Die Migration von Datenträger-ID %(id)s wird verweigert. Prüfen Sie Ihre " -"Konfiguration, da Quelle und Ziel dieselbe Datenträgergruppe aufweisen: " -"%(name)s." +"Konfiguration, da Quelle und Ziel dieselbe Datenträgergruppe haben: %(name)s." msgid "Remote pool cannot be found." msgstr "Der ferne Pool wurde nicht gefunden." @@ -6782,7 +6805,7 @@ msgstr "Fehler beim Entfernen der LUN aus QoS." msgid "Remove lun from cache error." -msgstr "Fehler beim Entfernen der LUN aus dem Cache." +msgstr "Fehler beim Entfernen der LUN aus dem Zwischenspeicher." msgid "Remove lun from partition error." msgstr "Fehler beim Entfernen der LUN aus der Partition." @@ -6791,13 +6814,13 @@ msgstr "Fehler beim Entfernen des Ports aus der Portgruppe." msgid "Remove volume export failed." -msgstr "Entfernen des Datenträgerexports fehlgeschlagen." +msgstr "Entfernen des Exports für Datenträger fehlgeschlagen." msgid "Rename lun on array error." -msgstr "Fehler beim Umbenennen der LUN auf dem Array." +msgstr "Fehler beim Umbenennen der LUN im Array." msgid "Rename snapshot on array error." -msgstr "Fehler beim Umbenennen der Schattenkopie auf dem Array." +msgstr "Fehler beim Umbenennen der Schattenkopie im Array." #, python-format msgid "Replication %(name)s to %(ssn)s failed." @@ -6805,17 +6828,18 @@ #, python-format msgid "Replication Service Capability not found on %(storageSystemName)s." -msgstr "Replizierungsservicefunktion nicht gefunden auf %(storageSystemName)s." +msgstr "" +"Die Replikationsdienstfunktion wurde in %(storageSystemName)s nicht gefunden." #, python-format msgid "Replication Service not found on %(storageSystemName)s." -msgstr "Replizierungsservice nicht gefunden auf %(storageSystemName)s." +msgstr "Replikationsdienst wurde in %(storageSystemName)s nicht gefunden." msgid "Replication is not enabled" -msgstr "Replizierung ist nicht aktiviert" +msgstr "Replikation ist nicht aktiviert." msgid "Replication is not enabled for volume" -msgstr "Replizierung ist für Datenträger nicht aktiviert" +msgstr "Replikation ist für Datenträger nicht aktiviert." msgid "Replication not allowed yet." msgstr "Replikation ist noch nicht zulässig." @@ -6825,16 +6849,16 @@ "Replication status for volume must be active or active-stopped, but current " "status is: %s" msgstr "" -"Replizierungsstatus für Datenträger muss 'active' oder 'active-stopped' " -"lauten, aber der aktuelle Status lautet: %s" +"Replikationsstatus für Datenträger muss 'active' oder 'active-stopped' sein, " +"aber der aktuelle Status ist: %s." #, python-format msgid "" "Replication status for volume must be inactive, active-stopped, or error, " "but current status is: %s" msgstr "" -"Replizierungsstatus für Datenträger muss 'inactive', 'active-stopped' oder " -"'error' lauten, aber der aktuelle Status lautet: %s" +"Replikationsstatus für Datenträger muss 'inactive', 'active-stopped' oder " +"'error' sein, aber der aktuelle Status ist: %s" msgid "Request body and URI mismatch" msgstr "Abweichung zwischen Anforderungshauptteil und URI" @@ -6843,7 +6867,7 @@ msgstr "Anforderungshauptteil enthält zu viele Elemente" msgid "Request body contains too many items." -msgstr "Anforderungstext enthält zu viele Elemente." +msgstr "Anforderungshauptteil enthält zu viele Elemente." msgid "Request body empty" msgstr "Anforderungshauptteil leer" @@ -6859,33 +6883,33 @@ "Requested backup exceeds allowed Backup gigabytes quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"Angeforderte Sicherung überschreitet zulässige Quote für Sicherungs-" -"Gigabytes. Angefordert sind %(requested)s G, die Quote ist %(quota)s G und " -"%(consumed)s G wurden verbraucht." +"Die angeforderte Sicherung überschreitet das zulässige Kontingent (in " +"Gigabytes) für Sicherungen. Es wurden %(requested)s G bei einem Kontingent " +"von %(quota)s G angefordert und %(consumed)s G verbraucht." #, python-format msgid "" "Requested volume or snapshot exceeds allowed %(name)s quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"Angeforderter Datenträger oder angeforderte Momentaufnahme überschreitet " -"zulässige Quote für %(name)s. Angefordert sind %(requested)s G, die Quote " -"ist %(quota)s G und %(consumed)s G wurden verbraucht." +"Angeforderter Datenträger oder angeforderte Schattenkopie überschreitet das " +"zulässige %(name)s-Kontingent. %(requested)s G angefordert bei einem " +"Kontingent von %(quota)s G. %(consumed)s G wurden verbraucht." #, python-format msgid "" "Requested volume size %(size)d is larger than maximum allowed limit " "%(limit)d." msgstr "" -"Angeforderte Datenträgergröße %(size)d liegt über der maximal zulässigen " -"Begrenzung %(limit)d." +"Die Größe des angeforderten Datenträgers %(size)d liegt über dem maximal " +"zulässigen Wert von %(limit)d." msgid "Required configuration not found" -msgstr "Erforderliche Konfiguration nicht gefunden" +msgstr "Erforderliche Konfiguration nicht gefunden." #, python-format msgid "Required flag %s is not set" -msgstr "Erforderliches Flag %s ist nicht gesetzt" +msgstr "Erforderliche Markierung %s ist nicht gesetzt." msgid "Requires an NaServer instance." msgstr "Erfordert eine NaServer-Instanz." @@ -6896,8 +6920,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"Zurücksetzen von Sicherungsstatus abgebrochen, der derzeit konfigurierte " -"Sicherungsservice [%(configured_service)s] ist nicht der Sicherungsservice, " +"Zurücksetzen von Sicherungsstatus abgebrochen. Der derzeit konfigurierte " +"Sicherungsdienst [%(configured_service)s] ist nicht der Sicherungsdienst, " "der zum Erstellen dieser Sicherung [%(backup_service)s] verwendet wurde." #, python-format @@ -6905,10 +6929,10 @@ msgstr "Ändern der Größe des Klons %s fehlgeschlagen." msgid "Resizing image file failed." -msgstr "Fehler bei der Größenänderung der Imagedatei." +msgstr "Fehler bei der Größenänderung der Abbilddatei." msgid "Resource could not be found." -msgstr "Ressource konnte nicht gefunden werden." +msgstr "Ressource wurde nicht gefunden." msgid "Resource not ready." msgstr "Ressource nicht bereit." @@ -6932,8 +6956,8 @@ "Restore backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Wiederherstellen von Sicherung abgebrochen, erwarteter Datenträgerstatus war " -"%(expected_status)s, aber Status ist %(actual_status)s." +"Wiederherstellen von Sicherung abgebrochen. Datenträgerstatus " +"%(expected_status)s erwartet, tatsächlicher Status ist %(actual_status)s." #, python-format msgid "" @@ -6941,8 +6965,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"Wiederherstellen von Sicherung abgebrochen, der derzeit konfigurierte " -"Sicherungsservice [%(configured_service)s] ist nicht der Sicherungsservice, " +"Wiederherstellen von Sicherung abgebrochen. Der derzeit konfigurierte " +"Sicherungsdienst [%(configured_service)s] ist nicht der Sicherungsdienst, " "der zum Erstellen dieser Sicherung [%(backup_service)s] verwendet wurde." #, python-format @@ -6950,8 +6974,8 @@ "Restore backup aborted: expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Wiederherstellen von Sicherung abgebrochen: erwarteter Sicherungsstatus war " -"%(expected_status)s, aber Status ist %(actual_status)s." +"Wiederherstellen von Sicherung abgebrochen. Sicherungsstatus " +"%(expected_status)s erwartet, tatsächlicher Status ist %(actual_status)s." #, python-format msgid "" @@ -6976,16 +7000,18 @@ msgstr "Wiederholungsanzahl für Befehl überschritten: %s" msgid "Retryable SolidFire Exception encountered" -msgstr "Retryable SolidFire-Ausnahme angetroffen" +msgstr "Es ist eine Retryable SolidFire-Ausnahme eingetreten." msgid "Retype cannot change encryption requirements." -msgstr "Erneute Eingabe darf die Verschlüsselungsanforderungen nicht ändern." +msgstr "" +"Durch eine Typänderung können Verschlüsselungsanforderungen nicht geändert " +"werden." #, python-format msgid "Retype cannot change front-end qos specs for in-use volume: %s." msgstr "" -"Erneute Eingabe darf die Front-End-QoS-Spezifikationen für im Gebrauch " -"befindlichen Datenträger nicht ändern: %s. " +"Durch eine Typänderung können Frontend-QoS-Spezifikationen für Datenträger " +"im Status 'in-use' nicht geändert werden: %s. " msgid "Retype requires migration but is not allowed." msgstr "'Retype' erfordert eine Migration; diese ist jedoch nicht zulässig." @@ -7003,7 +7029,7 @@ #, python-format msgid "Rolling back %(volumeName)s by deleting it." -msgstr "Für %(volumeName)s wird ein Rollback durch Löschung durchgeführt." +msgstr "Für %(volumeName)s wird ein Rollback durch Löschen durchgeführt." #, python-format msgid "" @@ -7021,7 +7047,7 @@ #, python-format msgid "SMBFS config 'smbfs_oversub_ratio' invalid. Must be > 0: %s" msgstr "" -"SMBFS-Konfiguration 'smbfs_oversub_ratio' ist ungültig. muss > 0 sein: %s" +"SMBFS-Konfiguration 'smbfs_oversub_ratio' ist ungültig. Muss > 0 sein: %s" #, python-format msgid "SMBFS config 'smbfs_used_ratio' invalid. Must be > 0 and <= 1.0: %s" @@ -7031,10 +7057,10 @@ #, python-format msgid "SMBFS config file at %(config)s doesn't exist." -msgstr "SMBFS-Konfigurationsdatei unter %(config)s ist nicht vorhanden." +msgstr "SMBFS-Konfigurationsdatei ist nicht in %(config)s vorhanden." msgid "SMBFS config file not set (smbfs_shares_config)." -msgstr "SMBFS-Konfigurationsdatei nicht festgelegt (smbfs_shares_config)." +msgstr "SMBFS-Konfigurationsdatei nicht definiert (smbfs_shares_config)." #, python-format msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'" @@ -7042,10 +7068,6 @@ "SSH-Befehl fehlgeschlagen nach '%(total_attempts)r' Versuchen : '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "SSH-Befehl fehlgeschlagen mit Fehler: '%(err)s'. Befehl: '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "SSH-Befehlsinjektion erkannt: %(command)s" @@ -7063,11 +7085,11 @@ #, python-format msgid "Scheduler Host Filter %(filter_name)s could not be found." -msgstr "Scheduler-Hostfilter %(filter_name)s konnte nicht gefunden werden." +msgstr "Scheduler-Hostfilter %(filter_name)s wurde nicht gefunden." #, python-format msgid "Scheduler Host Weigher %(weigher_name)s could not be found." -msgstr "Scheduler-Host-Weigher %(weigher_name)s konnte nicht gefunden werden." +msgstr "Scheduler-Host-Weigher %(weigher_name)s wurde nicht gefunden." #, python-format msgid "" @@ -7091,29 +7113,25 @@ #, python-format msgid "Service %(service)s on host %(host)s removed." -msgstr "Service %(service)s auf Host %(host)s entfernt." +msgstr "Dienst %(service)s auf Host %(host)s entfernt." #, python-format msgid "Service %(service_id)s could not be found on host %(host)s." -msgstr "" -"Der Dienst %(service_id)s konnte auf dem Host %(host)s nicht gefunden werden." +msgstr "Der Dienst %(service_id)s wurde auf dem Host %(host)s nicht gefunden." #, python-format msgid "Service %(service_id)s could not be found." -msgstr "Service %(service_id)s konnte nicht gefunden werden." +msgstr "Der Dienst %(service_id)s wurde nicht gefunden." #, python-format msgid "Service %s not found." -msgstr "Service %s nicht gefunden." +msgstr "Der Dienst %s wurde nicht gefunden." msgid "Service is too old to fulfil this request." msgstr "Der Dienst ist zu alt, um diese Anforderung zu erfüllen." msgid "Service is unavailable at this time." -msgstr "Service ist derzeit nicht verfügbar." - -msgid "Service not found." -msgstr "Dienst nicht gefunden." +msgstr "Der Dienst ist derzeit nicht verfügbar." msgid "Set pair secondary access error." msgstr "Fehler beim Festlegen des sekundären Paarzugriffs." @@ -7141,7 +7159,7 @@ "Please check the nas_ip and nas_share_path settings." msgstr "" "Freigegebenes Verzeichnis %s wegen ungültigem Format ignoriert. Muss das " -"Format Adresse:/Export aufweisen.Prüfen Sie die Einstellungen 'nas_ip' und " +"Format Adresse:/Export haben. Prüfen Sie die Einstellungen 'nas_ip' und " "'nas_share_path'." #, python-format @@ -7149,8 +7167,8 @@ "Share at %(dir)s is not writable by the Cinder volume service. Snapshot " "operations will not be supported." msgstr "" -"Freigegebenes Verzeichnis unter %(dir)s kann vom Cinder-Datenträgerservice " -"nicht beschrieben werden. Momentaufnahmeoperationen werden nicht unterstützt." +"Freigegebenes Verzeichnis unter %(dir)s kann vom Cinder-Datenträgerdienst " +"nicht beschrieben werden. Schattenkopieoperationen werden nicht unterstützt." #, python-format msgid "Sheepdog I/O Error, command was: \"%s\"." @@ -7161,7 +7179,7 @@ "project in which users are scoped to." msgstr "" "Operationen zum Anzeigen können nur an Projekten in derselben Hierarchie des " -"Projekts, das als Bereich für Benutzer festgelegt wurde, erfolgen." +"Projekts, das als Bereich für Benutzer festgelegt wurde, ausgeführt werden." msgid "Size" msgstr "Größe" @@ -7185,8 +7203,8 @@ "Size of specified image %(image_size)sGB is larger than volume size " "%(volume_size)sGB." msgstr "" -"Größe des angegebenen Images %(image_size)s GB übersteigt Datenträgergröße " -"%(volume_size)s GB." +"Größe des angegebenen Abbilds mit %(image_size)s GB übersteigt die Größe des " +"Datenträgers mit %(volume_size)s GB." #, python-format msgid "" @@ -7195,7 +7213,7 @@ msgstr "" "Es wurde angefordert, die Schattenkopie %(id)s zu löschen, während darauf " "gewartet wurde, dass sie verfügbar wird. Möglicherweise wurde eine " -"Anforderung gleichzeitig gestellt." +"gleichzeitige Anforderung gestellt." #, python-format msgid "" @@ -7207,46 +7225,45 @@ #, python-format msgid "Snapshot %(snapshot_id)s could not be found." -msgstr "Momentaufnahme %(snapshot_id)s konnte nicht gefunden werden." +msgstr "Schattenkopie %(snapshot_id)s wurde nicht gefunden." #, python-format msgid "Snapshot %(snapshot_id)s has no metadata with key %(metadata_key)s." msgstr "" -"Momentaufnahme %(snapshot_id)s enthält keine Metadaten mit Schlüssel " +"Schattenkopie %(snapshot_id)s enthält keine Metadaten mit dem Schlüssel " "%(metadata_key)s." #, python-format msgid "Snapshot %s must not be part of a consistency group." -msgstr "Schattenkopie %s darf nicht Teil einer Konsistenzgruppe sein." +msgstr "Die Schattenkopie %s darf nicht Teil einer Konsistenzgruppe sein." #, python-format msgid "Snapshot '%s' doesn't exist on array." -msgstr "Schattenkopie '%s' ist im Arry nicht vorhanden." +msgstr "Schattenkopie '%s' ist im Array nicht vorhanden." #, python-format msgid "" "Snapshot cannot be created because volume %(vol_id)s is not available, " "current volume status: %(vol_status)s." msgstr "" -"Momentaufnahme kann nicht erstellt werden, da Datenträger %(vol_id)s nicht " -"verfügbar ist, aktueller Datenträgerstatus: %(vol_status)s." +"Schattenkopie kann nicht erstellt werden, da Datenträger %(vol_id)s nicht " +"verfügbar ist. Aktueller Datenträgerstatus: %(vol_status)s." msgid "Snapshot cannot be created while volume is migrating." msgstr "" -"Momentaufnahme kann nicht erstellt werden, während der Datenträger migriert " -"wird." +"Die Schattenkopie kann nicht erstellt werden, während der Datenträger " +"migriert wird." msgid "Snapshot of secondary replica is not allowed." -msgstr "Momentaufnahme der sekundären Replik ist nicht zulässig. " +msgstr "Die Schattenkopie der sekundären Replik ist nicht zulässig. " #, python-format msgid "Snapshot of volume not supported in state: %s." -msgstr "Momentaufnahme von Datenträger im Status %s nicht unterstützt." +msgstr "Schattenkopie von Datenträger im Status %s nicht unterstützt." #, python-format msgid "Snapshot res \"%s\" that is not deployed anywhere?" -msgstr "" -"Momentaufnahmeressource \"%s\", die an keiner Stelle implementiert ist?" +msgstr "Schattenkopieressource \"%s\", die an keiner Stelle implementiert ist?" msgid "Snapshot size must be multiple of 1 GB." msgstr "Größe der Schattenkopie muss Vielfaches von 1 GB sein." @@ -7254,17 +7271,17 @@ #, python-format msgid "Snapshot status %(cur)s not allowed for update_snapshot_status" msgstr "" -"Momentaufnahmestatus %(cur)s ist nicht zulässig für update_snapshot_status" +"Schattenkopiestatus %(cur)s ist nicht zulässig für update_snapshot_status." msgid "Snapshot status must be \"available\" to clone." -msgstr "Momentaufnahmestatus muss zum Klonen \"available\" sein." +msgstr "Die Schattenkopie muss zum Klonen den Status \"available\" haben." #, python-format msgid "" "Snapshot to be backed up must be available, but the current status is \"%s\"." msgstr "" -"Schattenkopie, die gesichert werden soll, muss verfügbar oder im Gebrauch " -"sein, aber der aktuelle Status ist \"%s\"." +"Die Schattenkopie, die gesichert werden soll, muss den Status 'available' " +"oder 'in-use' haben, aber der aktuelle Status ist \"%s\"." #, python-format msgid "Snapshot with id of %s could not be found." @@ -7275,13 +7292,13 @@ "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting " "incremental backup" msgstr "" -"Momentaufnahme '%(snap)s' ist in Basisimage '%(base)s' nicht vorhanden - " -"inkrementelle Sicherung wird abgebrochen" +"Die Schattenkopie '%(snap)s' ist nicht im Basisabbild '%(base)s' vorhanden. " +"Die inkrementelle Sicherung wird abgebrochen." #, python-format msgid "Snapshots are not supported for this volume format: %s" msgstr "" -"Momentaufnahmen werden für dieses Datenträgerformat nicht unterstützt: %s" +"Schattenkopien werden für dieses Datenträgerformat nicht unterstützt: %s" #, python-format msgid "Socket error: %(arg)s." @@ -7303,7 +7320,7 @@ msgstr "Quellenhostdetails nicht gefunden." msgid "Source volume device ID is required." -msgstr "Einheiten-ID für Quellendatenträger ist erforderlich." +msgstr "Geräte-ID für Quellendatenträger ist erforderlich." msgid "Source volume not mid-migration." msgstr "Quellendatenträger befindet sich nicht in einer Migration." @@ -7313,19 +7330,19 @@ "Source with host ip/name: %s not found on the target appliance for backend " "enabled volume migration, procedding with default migration." msgstr "" -"Quelle mit Host-IP/Name: %s wurde auf der Zieleinheit für Back-End-" -"aktivierte Datenträgermigration nicht gefunden. Es wird mit " -"Standardmigration fortgefahren." +"Quelle mit Host-IP/Name: %s wurde auf der Zieleinheit für Backend-aktivierte " +"Datenträgermigration nicht gefunden. Es wird mit der Standardmigration " +"fortgefahren." msgid "SpaceInfo returned byarray is invalid" -msgstr "SpaceInfo hat zurückgegeben, dass byarray ungültig ist" +msgstr "SpaceInfo hat zurückgegeben, dass byarray ungültig ist." #, python-format msgid "" "Specified host to map to volume %(vol)s is in unsupported host group with " "%(group)s." msgstr "" -"Der angegebene Host, der zu Datenträger %(vol)s zugeordnet werden soll, " +"Der angegebene Host, der dem Datenträger %(vol)s zugeordnet werden soll, " "befindet sich in einer nicht unterstützten Hostgruppe mit %(group)s." msgid "Specified logical volume does not exist." @@ -7336,10 +7353,10 @@ msgstr "Angegebene Schattenkopiegruppe mit der ID %s wurde nicht gefunden. " msgid "Specify a password or private_key" -msgstr "Geben Sie einen Wert für 'password' oder 'private_key' an" +msgstr "Geben Sie einen Wert für 'password' oder 'private_key' an." msgid "Specify san_password or san_private_key" -msgstr "'san_password' oder 'san_private_key' angeben" +msgstr "Geben Sie 'san_password' oder 'san_private_key' an." msgid "" "Specify volume type name, description, is_public or a combination thereof." @@ -7367,18 +7384,18 @@ msgstr "Status" msgid "Stop snapshot error." -msgstr "Fehler beim Stoppen der Momentaufnahme." +msgstr "Fehler beim Stoppen der Schattenkopie." #, python-format msgid "Storage Configuration Service not found on %(storageSystemName)s." msgstr "" -"Speicherkonfigurationsservice nicht gefunden auf %(storageSystemName)s." +"Speicherkonfigurationsdienst wurde in %(storageSystemName)s nicht gefunden." #, python-format msgid "Storage HardwareId mgmt Service not found on %(storageSystemName)s." msgstr "" -"Speicher-Hardware-ID-Management-Service nicht gefunden auf " -"%(storageSystemName)s. " +"Der Dienst für die Verwaltung von Speicherhardware-IDs wurde in " +"%(storageSystemName)s nicht gefunden. " #, python-format msgid "Storage Profile %s not found." @@ -7386,7 +7403,8 @@ #, python-format msgid "Storage Relocation Service not found on %(storageSystemName)s." -msgstr "Speicherversetzungsservice nicht gefunden auf %(storageSystemName)s." +msgstr "" +"Speicherversetzungsdienst wurde in %(storageSystemName)s nicht gefunden." #, python-format msgid "Storage family %s is not supported." @@ -7394,11 +7412,12 @@ #, python-format msgid "Storage group %(storageGroupName)s was not deleted successfully" -msgstr "Speichergruppe %(storageGroupName)s wurde nicht erfolgreich gelöscht" +msgstr "" +"Die Speichergruppe %(storageGroupName)s wurde nicht erfolgreich gelöscht." #, python-format msgid "Storage host %(svr)s not detected, verify name" -msgstr "Speicherhost %(svr)s nicht gefunden, Namen überprüfen" +msgstr "Speicherhost %(svr)s nicht gefunden. Überprüfen Sie den Namen." msgid "Storage pool is not configured." msgstr "Es ist kein Speicherpool konfiguriert." @@ -7408,7 +7427,7 @@ msgstr "Speicherprofil %(storage_profile)s nicht gefunden." msgid "Storage resource could not be found." -msgstr "Speicherressource konnte nicht gefunden werden." +msgstr "Speicherressource wurde nicht gefunden." msgid "Storage system id not set." msgstr "Speichersystem-ID nicht festgelegt." @@ -7449,23 +7468,23 @@ msgid "Synchronizing secondary volume to primary failed." msgstr "" -"Synchronisieren des sekundären Datenträgers mit Primärdatenträger " +"Synchronisieren des sekundären Datenträgers mit primärem Datenträger " "fehlgeschlagen." #, python-format msgid "System %(id)s found with bad password status - %(pass_status)s." msgstr "" -"System %(id)s mit unzulässigem Kennwortstatus gefunden - %(pass_status)s." +"System %(id)s mit unzulässigem Kennwortstatus gefunden: %(pass_status)s." #, python-format msgid "System %(id)s found with bad status - %(status)s." -msgstr "System %(id)s gefunden mit unzulässigem Status - %(status)s." +msgstr "System %(id)s gefunden mit unzulässigem Status: %(status)s." msgid "System does not support compression." msgstr "System unterstützt Komprimierung nicht." msgid "System is busy, retry operation." -msgstr "System ist ausgelastet, Operation wiederholen." +msgstr "Das System ist ausgelastet. Wiederholen Sie die Operation." #, python-format msgid "" @@ -7481,19 +7500,19 @@ msgid "" "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" msgstr "" -"Abweichung bei Vorlagenbaum; untergeordnete %(slavetag)s wird zur " -"übergeordneten Einheit %(mastertag)s hinzugefügt" +"Abweichung bei Vorlagenbaum: Untergeordnete Einheit %(slavetag)s wird der " +"übergeordneten Einheit %(mastertag)s hinzugefügt." #, python-format msgid "Tenant ID: %s does not exist." -msgstr "Nutzer-ID %s ist nicht vorhanden." +msgstr "Mandanten-ID %s ist nicht vorhanden." msgid "Terminate connection failed" msgstr "Beenden der Verbindung fehlgeschlagen" msgid "Terminate connection unable to connect to backend." msgstr "" -"Beim Beenden der Verbindung konnte keine Verbindung zum Back-End hergestellt " +"Beim Beenden der Verbindung konnte keine Verbindung zum Backend hergestellt " "werden." #, python-format @@ -7508,11 +7527,11 @@ "The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be used " "with the 'sort' parameter." msgstr "" -"Die Parameter 'sort_key' und 'sort_dir' sind veraltet und können nicht " -"gemeinsam mit dem Parameter 'sort' verwendet werden." +"Die Parameter 'sort_key' und 'sort_dir' sind veraltet und können nicht dem " +"Parameter 'sort' verwendet werden." msgid "The EQL array has closed the connection." -msgstr "Die EQL-Platteneinheit hat die Verbindung geschlossen." +msgstr "Der EQL-Array hat die Verbindung geschlossen." #, python-format msgid "" @@ -7549,8 +7568,8 @@ "The array does not support the storage pool setting for SLO %(slo)s and " "workload %(workload)s. Please check the array for valid SLOs and workloads." msgstr "" -"Das Array unterstützt keine Speicherpooleinstellung für SLO %(slo)s und " -"Workload %(workload)s. Überprüfen Sie, ob das Array gültige SLOs und " +"Das Array unterstützt nicht die Speicherpooleinstellung für SLO %(slo)s und " +"Workload %(workload)s. Überprüfen Sie, ob das Array gültige SLOs und " "Workloads enthält." msgid "" @@ -7563,11 +7582,11 @@ msgid "" "The command %(cmd)s failed. (ret: %(ret)s, stdout: %(out)s, stderr: %(err)s)" msgstr "" -"Der Befehl %(cmd)s ist fehlgeschlagen. (ret: %(ret)s, stdout: %(out)s, " -"stderr: %(err)s)" +"Der Befehl %(cmd)s ist fehlgeschlagen. (Rückgabe: %(ret)s, Standardausgabe: " +"%(out)s, Standardfehler: %(err)s)" msgid "The copy should be primary or secondary" -msgstr "Die Kopie muss primär oder sekundär sein" +msgstr "Die Kopie muss primär oder sekundär sein." #, python-format msgid "" @@ -7579,7 +7598,7 @@ msgid "The decorated method must accept either a volume or a snapshot object" msgstr "" "Die dekorierte Methode muss entweder einen Datenträger oder ein " -"Momentaufnahmeobjekt akzeptieren" +"Schattenkopieobjekt akzeptieren." #, python-format msgid "The device in the path %(path)s is unavailable: %(reason)s" @@ -7595,7 +7614,7 @@ #, python-format msgid "The extraspec: %(extraspec)s is not valid." -msgstr "Die zusätzliche Spezifikation: %(extraspec)s ist nicht gültig." +msgstr "Die zusätzliche Spezifikation %(extraspec)s ist nicht gültig." #, python-format msgid "The failed-over volume could not be deleted: %s" @@ -7632,7 +7651,7 @@ "and resume replication on the LeftHand backends." msgstr "" "Der Host ist nicht für die Zurücksetzung bereit. Synchronisieren Sie erneut " -"die Datenträger und nehmen Sie die Replikation an den LeftHand -Backends " +"die Datenträger und nehmen Sie die Replikation an den LeftHand-Backends " "wieder auf. " msgid "" @@ -7652,8 +7671,8 @@ "The imported lun %(lun_id)s is in pool %(lun_pool)s which is not managed by " "the host %(host)s." msgstr "" -"Die importierte LUN %(lun_id)s befindet sich in Pool %(lun_pool)s, der nicht " -"durch Host %(host)s verwaltet wird." +"Die importierte LUN %(lun_id)s befindet sich im Pool %(lun_pool)s, der nicht " +"vom Host %(host)s verwaltet wird." msgid "The key cannot be None." msgstr "Der Schlüssel kann nicht None sein." @@ -7676,12 +7695,12 @@ msgid "" "The mount %(mount_path)s is not a valid Quobyte USP volume. Error: %(exc)s" msgstr "" -"Beim angehängten Pfad %(mount_path)s handelt es sich nicht um einen gültigen " -"Quobyte-USP-Datenträger. Fehler: %(exc)s" +"Der im Pfad %(mount_path)s eingehängte Datenträger ist kein gültiger Quobyte-" +"USP-Datenträger. Fehler: %(exc)s" #, python-format msgid "The parameter of the storage backend. (config_group: %(config_group)s)" -msgstr "Der Parameter des Speicher-Back-End. (config_group: %(config_group)s)" +msgstr "Der Parameter des Speicherbackends. (config_group: %(config_group)s)" msgid "The parent backup must be available for incremental backup." msgstr "" @@ -7710,10 +7729,10 @@ "extra_specs. If replication:mode is periodic, replication:sync_period must " "also be specified and be between 300 and 31622400 seconds." msgstr "" -"Der Replikationsmodus wurde nicht ordnungsgemäß mit extra_specs für den " -"Datenträgertyp konfiguriert. Wenn replication:mode periodisch ist, muss " +"Der Replikationsmodus wurde in den extra_specs für den Datenträgertyp nicht " +"ordnungsgemäß konfiguriert. Wenn replication:mode periodisch ist, muss " "replication:sync_period ebenfalls angegeben werden, und zwar mit einem Wert " -"zwischen 300 und 31622400 Sekunden." +"zwischen 300 und 31622400 Sekunden." #, python-format msgid "The replication sync period must be at least %s seconds." @@ -7742,15 +7761,15 @@ msgid "The snapshot cannot be created when the volume is in maintenance mode." msgstr "" -"Die Momentaufnahme kann nicht erstellt werden, wenn der Datenträger im " +"Die Schattenkopie kann nicht erstellt werden, wenn der Datenträger im " "Wartungsmodus ist." #, python-format msgid "" "The source volume %s is not in the pool which is managed by the current host." msgstr "" -"Der Quellendatenträger %s befindet sich nicht in dem Pool, der durch den " -"aktuellen Host verwaltet wird." +"Der Quellendatenträger %s befindet sich nicht in dem vom aktuellen Host " +"verwalteten Pool." msgid "The source volume for this WebDAV operation not found." msgstr "" @@ -7833,16 +7852,16 @@ #, python-format msgid "The storage backend can be used. (config_group: %(config_group)s)" msgstr "" -"Das Speicher-Back-End kann verwendet werden. (config_group: %(config_group)s)" +"Das Speicherbackend kann verwendet werden. (config_group: %(config_group)s)" #, python-format msgid "" "The storage device does not support %(prot)s. Please configure the device to " "support %(prot)s or switch to a driver using a different protocol." msgstr "" -"Die Speichereinheit unterstützt %(prot)s nicht. Konfigurieren Sie die " -"Einheit für die Unterstützung von %(prot)s oder wechseln Sie zu einem " -"Treiber, der ein anderes Protokoll verwendet. " +"Die Speichereinheit unterstützt %(prot)s nicht. Konfigurieren Sie das Gerät " +"für die Unterstützung von %(prot)s oder wechseln Sie zu einem Treiber, der " +"ein anderes Protokoll verwendet. " #, python-format msgid "" @@ -7850,14 +7869,14 @@ "%(volumeName)s, with size %(volumeSize)s." msgstr "" "Die Striping-Metazahl %(memberCount)s ist zu klein für Datenträger " -"%(volumeName)s mit Größe %(volumeSize)s." +"%(volumeName)s mit der Größe %(volumeSize)s." #, python-format msgid "" "The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " "invalid." msgstr "" -"Der Metadatentyp %(metadata_type)s für Datenträger/Momentaufnahme %(id)s ist " +"Der Metadatentyp %(metadata_type)s für Datenträger/Schattenkopie %(id)s ist " "ungültig." #, python-format @@ -7873,7 +7892,7 @@ "The volume %(volume_id)s could not be unmanaged. The volume type must be " "%(volume_type)s." msgstr "" -"Die Verwaltung für Datenträger %(volume_id)s konnte nicht gestoppt werden. " +"Die Verwaltung für Datenträger %(volume_id)s konnte nicht aufgehoben werden. " "Der Datenträgertyp muss %(volume_type)s sein." #, python-format @@ -7885,7 +7904,7 @@ #, python-format msgid "The volume %(volume_id)s is unmanaged successfully. (LDEV: %(ldev)s)" msgstr "" -"Die Verwaltung von Datenträger %(volume_id)s wird erfolgreich gestoppt. " +"Die Verwaltung von Datenträger %(volume_id)s wurde erfolgreich aufgehoben. " "(Logische Einheit: %(ldev)s)" #, python-format @@ -7916,8 +7935,8 @@ "The volume is currently busy on the 3PAR and cannot be deleted at this time. " "You can try again later." msgstr "" -"Der Datenträger ist in 3PAR derzeit aktiv und kann derzeit nicht gelöscht " -"werden. Sie können es später erneut versuchen. " +"Der Datenträger ist in 3PAR aktiv und kann derzeit nicht gelöscht werden. " +"Sie können es später erneut versuchen. " msgid "The volume label is required as input." msgstr "Die Datenträgerbezeichnung ist als Eingabe erforderlich." @@ -7955,14 +7974,14 @@ "to manage the volume." msgstr "" "Es gibt keine Bezeichnung der %(param)s. Der angegebene Speicher ist zum " -"Verwalten des Datenträgers von wesentlicher Bedeutung." +"Verwalten des Datenträgers erforderlich." msgid "" "There is no designation of the ldev. The specified ldev is essential to " "manage the volume." msgstr "" "Es gibt keine Bezeichnung der logischen Einheit. Die angegebene logische " -"Einheit ist zum Verwalten des Datenträgers von wesentlicher Bedeutung." +"Einheit ist zum Verwalten des Datenträgers erforderlich." msgid "There is no metadata in DB object." msgstr "Im DB-Objekt sind keine Metadaten vorhanden." @@ -7971,7 +7990,7 @@ msgid "There is no share which can host %(volume_size)sG" msgstr "" "Es ist kein gemeinsam genutztes Laufwerk vorhanden, das %(volume_size)sG " -"hosten kann" +"hosten kann." #, python-format msgid "There is no share which can host %(volume_size)sG." @@ -7981,7 +8000,7 @@ #, python-format msgid "There is no such action: %s" -msgstr "Aktion existiert nicht: %s" +msgstr "Keine solche Aktion vorhanden: %s" msgid "There is no virtual disk device." msgstr "Es ist keine virtuelle Platteneinheit vorhanden." @@ -8030,11 +8049,11 @@ #, python-format msgid "There's no Gluster config file configured (%s)" -msgstr "Keine Gluster-Konfigurationsdatei konfiguriert (%s)" +msgstr "Keine Gluster-Konfigurationsdatei konfiguriert (%s)." #, python-format msgid "There's no NFS config file configured (%s)" -msgstr "Keine NFS-Konfigurationsdatei konfiguriert (%s)" +msgstr "Keine NFS-Konfigurationsdatei konfiguriert (%s)." #, python-format msgid "" @@ -8042,10 +8061,10 @@ "" msgstr "" "Es ist kein konfigurierter Quobyte-Datenträger vorhanden (%s). Beispiel: " -"quobyte:///" +"quobyte:///" msgid "Thin provisioning not supported on this version of LVM." -msgstr "Thin Provisioning wird unter dieser Version von LVM nicht unterstützt." +msgstr "Thin Provisioning wird mit dieser Version von LVM nicht unterstützt." msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" msgstr "" @@ -8054,16 +8073,16 @@ msgid "This driver does not support deleting in-use snapshots." msgstr "" -"Dieser Treiber unterstützt nicht das Löschen von im Gebrauch befindlichen " -"Momentaufnahmen." +"Dieser Treiber unterstützt nicht das Löschen von Schattenkopien mit dem " +"Status 'in-use'." msgid "This driver does not support snapshotting in-use volumes." msgstr "" -"Dieser Treiber unterstützt nicht das Erstellen von Momentaufnahmen von im " -"Gebrauch befindlichen Datenträgern." +"Dieser Treiber unterstützt nicht das Erstellen von Schattenkopien für " +"Datenträger mit dem Status 'in-use'." msgid "This request was rate-limited." -msgstr "Diese Anforderung war kursbegrenzt." +msgstr "Übertragungsratenbegrenzung für diese Anforderung." #, python-format msgid "" @@ -8075,19 +8094,19 @@ #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." -msgstr "Tier-Richtlinienservice nicht gefunden für %(storageSystemName)s. " +msgstr "Tier-Richtliniendienst wurde in %(storageSystemName)s nicht gefunden. " #, python-format msgid "Timed out while waiting for Nova update for creation of snapshot %s." msgstr "" "Zeitlimit beim Warten auf Nova-Aktualisierung zum Erstellen von " -"Momentaufnahme %s überschritten." +"Schattenkopie %s überschritten." #, python-format msgid "" "Timed out while waiting for Nova update for deletion of snapshot %(id)s." msgstr "" -"Zeitlimit beim Warten auf Nova-Aktualisierung zum Löschen von Momentaufnahme " +"Zeitlimit beim Warten auf Nova-Aktualisierung zum Löschen von Schattenkopie " "%(id)s überschritten." msgid "" @@ -8109,20 +8128,20 @@ #, python-format msgid "Timeout while requesting capabilities from backend %(service)s." msgstr "" -"Zeitlimitüberschreitung beim Anfordern von Leistungsmerkmalen aus dem " -"Backend %(service)s." +"Zeitlimitüberschreitung beim Anfordern von Funktionen aus dem Backend " +"%(service)s." #, python-format msgid "Transfer %(transfer_id)s could not be found." -msgstr "Übertragung %(transfer_id)s konnte nicht gefunden werden." +msgstr "Die Übertragung %(transfer_id)s wurde nicht gefunden." #, python-format msgid "" "Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state " "%(status)s, expected awaiting-transfer" msgstr "" -"Übertragung %(transfer_id)s: Datenträger-ID %(volume_id)s in nicht " -"erwartetem Zustand %(status)s; erwartet wurde awaiting-transfer" +"Übertragung %(transfer_id)s: Die Datenträger-ID %(volume_id)s hat nicht den " +"erwartetem Status %(status)s. Erwartet wurde 'awaiting-transfer'." #, python-format msgid "" @@ -8136,7 +8155,7 @@ "Tune volume task stopped before it was done: volume_name=%(volume_name)s, " "task-status=%(status)s." msgstr "" -"Die Task zum Optimieren des Datenträgers wurde gestoppt, bevor sie fertig " +"Die Aufgabe zum Optimieren des Datenträgers wurde gestoppt, bevor sie fertig " "war: volume_name=%(volume_name)s, task-status=%(status)s." #, python-format @@ -8144,8 +8163,8 @@ "Type %(type_id)s is already associated with another qos specs: " "%(qos_specs_id)s" msgstr "" -"Typ %(type_id)s ist bereits anderen QoS-Spezifikationen zugeordnet: " -"%(qos_specs_id)s" +"Der Typ %(type_id)s ist bereits anderen QoS-Spezifikationen zugeordnet: " +"%(qos_specs_id)s." msgid "Type access modification is not applicable to public volume type." msgstr "" @@ -8169,30 +8188,32 @@ msgstr "Kein Zugriff auf das Storwize-Backend für den Datenträger %s möglich." msgid "Unable to access the backend storage via file handle." -msgstr "Zugriff auf Back-End-Speicher über Dateikennung nicht möglich." +msgstr "Zugriff auf Backendspeicher über Dateikennung nicht möglich." #, python-format msgid "Unable to access the backend storage via the path %(path)s." -msgstr "Zugriff auf Back-End-Speicher über den Pfad %(path)s nicht möglich." +msgstr "Zugriff auf Backendspeicher über den Pfad %(path)s nicht möglich." #, python-format msgid "Unable to add Cinder host to apphosts for space %(space)s" msgstr "" -"Cinder-Host konnte nicht zu apphosts für Bereich %(space)s hinzugefügt werden" +"Cinder-Host konnte apphosts für Bereich %(space)s nicht hinzugefügt werden." #, python-format msgid "Unable to complete failover of %s." msgstr "Das Failover von %s konnte nicht abgeschlossen werden." msgid "Unable to connect or find connection to host" -msgstr "Verbindung zum Host kann nicht hergestellt oder gefunden werden" +msgstr "" +"Verbindung zum Host kann nicht hergestellt werden oder es wurde keine " +"Verbindung zum Host gefunden." msgid "Unable to create Barbican Client without project_id." msgstr "Barbican Client kann nicht ohne Projekt-ID erstellt werden." #, python-format msgid "Unable to create consistency group %s" -msgstr "Konsistenzgruppe %s konnte nicht erstellt werden" +msgstr "Konsistenzgruppe %s konnte nicht erstellt werden." msgid "Unable to create lock. Coordination backend not started." msgstr "" @@ -8232,17 +8253,17 @@ #, python-format msgid "Unable to delete Consistency Group snapshot %s" -msgstr "Konsistenzgruppenmomentaufnahme %s konnte nicht gelöscht werden" +msgstr "Konsistenzgruppenschattenkopie %s konnte nicht gelöscht werden." #, python-format msgid "Unable to delete snapshot %(id)s, status: %(status)s." msgstr "" -"Momentaufnahme %(id)s konnte nicht gelöscht werden, Status: %(status)s." +"Die Schattenkopie %(id)s konnte nicht gelöscht werden. Status: %(status)s." #, python-format msgid "Unable to delete snapshot policy on volume %s." msgstr "" -"Momentaufnahmerichtlinie auf Datenträger %s konnte nicht gelöscht werden." +"Schattenkopierichtlinie auf Datenträger %s konnte nicht gelöscht werden." #, python-format msgid "" @@ -8255,9 +8276,9 @@ "Unable to detach volume. Volume status must be 'in-use' and attach_status " "must be 'attached' to detach." msgstr "" -"Der Datenträger kann nicht abgehängt werden. Der Datenträgerstatus muss 'in-" -"use' lauten und 'attach_status' muss 'attached' lauten, damit das Abhängen " -"erfolgen kann." +"Der Datenträger kann nicht abgehängt werden. Der Status des Datenträgers " +"muss 'in-use' und der Anhangstatus 'attach_status' muss 'attached' sein, " +"damit das Abhängen erfolgen kann." #, python-format msgid "" @@ -8269,8 +8290,8 @@ #, python-format msgid "Unable to determine snapshot name in Purity for snapshot %(id)s." msgstr "" -"Momentaufnahmename in Purity für Momentaufnahme %(id)s kann nicht bestimmt " -"werden." +"Der Schattenkopiename in Purity für die Schattenkopie %(id)s kann nicht " +"bestimmt werden." msgid "Unable to determine system id." msgstr "System-ID kann nicht bestimmt werden." @@ -8283,8 +8304,8 @@ "Unable to do manage snapshot operations with Purity REST API version " "%(api_version)s, requires %(required_versions)s." msgstr "" -"Es können keine Operationen zum Verwalten von Momentaufnahmen mit Purity-" -"REST-API-Version %(api_version)s ausgeführt werden, erfordert " +"Es können keine Operationen zum Verwalten von Schattenkopien mit Purity-REST-" +"API-Version %(api_version)s ausgeführt werden, erfordert " "%(required_versions)s." #, python-format @@ -8305,7 +8326,7 @@ #, python-format msgid "Unable to extend volume %s" -msgstr "Datenträger %s kann nicht erweitert werden" +msgstr "Datenträger %s kann nicht erweitert werden." #, python-format msgid "" @@ -8327,20 +8348,20 @@ msgstr "Failover für Replikationsziel fehlgeschlagen: %(reason)s)." msgid "Unable to fetch connection information from backend." -msgstr "Verbindungsinformationen können nicht vom Back-End abgerufen werden." +msgstr "Abrufen von Verbindungsinformationen aus dem Backend nicht möglich." #, python-format msgid "Unable to fetch connection information from backend: %(err)s" msgstr "" -"Verbindungsinformationen können nicht vom Back-End abgerufen werden: %(err)s" +"Abrufen von Verbindungsinformationen aus dem Backend nicht möglich: %(err)s" #, python-format msgid "Unable to find Purity ref with name=%s" -msgstr "Purity-ref mit Name=%s wurde nicht gefunden" +msgstr "Purity-ref mit Name=%s wurde nicht gefunden." #, python-format msgid "Unable to find Volume Group: %(vg_name)s" -msgstr "Datenträgergruppe konnte nicht gefunden werden: %(vg_name)s" +msgstr "Datenträgergruppe wurde nicht gefunden: %(vg_name)s" msgid "Unable to find failover target, no secondary targets configured." msgstr "" @@ -8351,7 +8372,7 @@ #, python-format msgid "Unable to find ssh_hosts_key_file: %s" -msgstr "ssh_hosts_key_file kann nicht gefunden werden: %s" +msgstr "ssh_hosts_key_file wurde nicht gefunden: %s" msgid "Unable to find system log file!" msgstr "Systemprotokolldatei kann nicht gefunden werden!" @@ -8361,23 +8382,23 @@ "Unable to find viable pg snapshot to use forfailover on selected secondary " "array: %(id)s." msgstr "" -"Es kann keine funktionsfähige pg-Schattenkopie für ein Failover des " -"ausgewählten sekundären Arrays gefunden werden: %(id)s." +"Es wurde keine funktionsfähige pg-Schattenkopie für ein Failover des " +"ausgewählten sekundären Arrays gefunden: %(id)s." #, python-format msgid "" "Unable to find viable secondary array fromconfigured targets: %(targets)s." msgstr "" -"Es können keine funktionsfähigen, sekundären Arrays in den konfigurierten " -"Zielen gefunden werden: %(targets)s." +"Es wurden keine funktionsfähigen, sekundären Arrays in den konfigurierten " +"Zielen gefunden: %(targets)s." #, python-format msgid "Unable to find volume %s" -msgstr "Datenträger %s wurde nicht gefunden" +msgstr "Datenträger %s wurde nicht gefunden." #, python-format msgid "Unable to get a block device for file '%s'" -msgstr "Es kann keine Blockeinheit für Datei '%s' abgerufen werden" +msgstr "Abrufen eines Blockgeräts für Datei '%s' nicht möglich." #, python-format msgid "" @@ -8395,27 +8416,27 @@ "Unable to get information on space %(space)s, please verify that the cluster " "is running and connected." msgstr "" -"Informationen zu Bereich %(space)s konnten nicht abgerufen werden. " +"Informationen zum Bereich %(space)s konnten nicht abgerufen werden. " "Überprüfen Sie, ob der Cluster ausgeführt wird und verbunden ist." msgid "" "Unable to get list of IP addresses on this host, check permissions and " "networking." msgstr "" -"Liste der IP-Adressen auf diesem Host konnte nicht abgerufen werden. " +"Die Liste der IP-Adressen auf diesem Host konnte nicht abgerufen werden. " "Überprüfen Sie Berechtigungen und Netzbetrieb." msgid "" "Unable to get list of domain members, check that the cluster is running." msgstr "" -"Liste der Domänenmitglieder konnte nicht abgerufen werden. Überprüfen Sie, " -"ob der Cluster ausgeführt wird." +"Die Liste der Domänenmitglieder konnte nicht abgerufen werden. Überprüfen " +"Sie, ob der Cluster ausgeführt wird." msgid "" "Unable to get list of spaces to make new name. Please verify the cluster is " "running." msgstr "" -"Liste der Bereiche konnte für die Neubenennung nicht abgerufen werden. " +"Die Liste der Bereiche konnte für die Neubenennung nicht abgerufen werden. " "Überprüfen Sie, ob der Cluster ausgeführt wird." #, python-format @@ -8447,25 +8468,25 @@ "Unable to import volume %(deviceId)s to cinder. It is the source volume of " "replication session %(sync)s." msgstr "" -"Datenträger %(deviceId)s konnte nicht in cinder importiert werden. Dies ist " -"der Quellendatenträger von Replikationssitzung %(sync)s." +"Der Datenträger %(deviceId)s konnte nicht in Cinder importiert werden. Er " +"ist der Quellendatenträger der Replikationssitzung %(sync)s." #, python-format msgid "" "Unable to import volume %(deviceId)s to cinder. The external volume is not " "in the pool managed by current cinder host." msgstr "" -"Datenträger %(deviceId)s konnte nicht in cinder importiert werden. Der " -"externe Datenträger befindet sich nicht in dem Pool, der durch den aktuellen " -"cinder-Host verwaltet wird." +"Der Datenträger %(deviceId)s konnte nicht in Cinder importiert werden. Der " +"externe Datenträger befindet sich nicht in dem Pool, der vom aktuellen " +"Cinder-Host verwaltet wird." #, python-format msgid "" "Unable to import volume %(deviceId)s to cinder. Volume is in masking view " "%(mv)s." msgstr "" -"Datenträger %(deviceId)s konnte nicht in cinder importiert werden. " -"Datenträger ist in Maskierungsansicht %(mv)s." +"Der Datenträger %(deviceId)s konnte nicht in Cinder importiert werden. " +"Datenträger ist in Maskenansicht %(mv)s." #, python-format msgid "Unable to load CA from %(cert)s %(e)s." @@ -8473,7 +8494,7 @@ #, python-format msgid "Unable to load cert from %(cert)s %(e)s." -msgstr "Zertifikat kann nicht von %(cert)s %(e)s geladen werden." +msgstr "Zertifikat kann nicht aus %(cert)s %(e)s geladen werden." #, python-format msgid "Unable to load key from %(cert)s %(e)s." @@ -8481,11 +8502,12 @@ #, python-format msgid "Unable to locate account %(account_name)s on Solidfire device" -msgstr "Konto %(account_name)s auf SolidFire-Gerät nicht auffindbar" +msgstr "" +"Das Konto %(account_name)s wurde auf dem SolidFire-Gerät nicht gefunden." #, python-format msgid "Unable to locate an SVM that is managing the IP address '%s'" -msgstr "Es kann keine SVM bestimmt werden, die die IP-Adresse '%s' verwaltet" +msgstr "Es kann keine SVM bestimmt werden, die die IP-Adresse '%s' verwaltet." #, python-format msgid "Unable to locate specified replay profiles %s " @@ -8495,22 +8517,22 @@ msgid "" "Unable to manage existing volume. Volume %(volume_ref)s already managed." msgstr "" -"Vorhandener Datenträger kann nicht verwaltet werden. Datenträger " -"%(volume_ref)s bereits verwaltet." +"Vorhandener Datenträger kann nicht verwaltet werden. Der Datenträger " +"%(volume_ref)s wird bereits verwaltet." #, python-format msgid "Unable to manage volume %s" -msgstr "Datenträger %s kann nicht verwaltet werden" +msgstr "Datenträger %s kann nicht verwaltet werden." msgid "Unable to map volume" -msgstr "Datenträger kann nicht zugeordnet werden" +msgstr "Datenträger kann nicht zugeordnet werden." msgid "Unable to map volume." msgstr "Datenträger kann nicht zugeordnet werden." msgid "Unable to parse XML request. Please provide XML in correct format." msgstr "" -"XML-Anforderung kann nicht analysiert werden. Geben Sie XML im richtigen " +"Die XML-Anforderung kann nicht analysiert werden. Geben Sie XML im richtigen " "Format an. " msgid "Unable to parse attributes." @@ -8521,24 +8543,24 @@ "Unable to promote replica to primary for volume %s. No secondary copy " "available." msgstr "" -"Replik kann nicht zur Primärreplik für Datenträger %s hochgestuft werden. " -"Keine sekundäre Kopie verfügbar." +"Replikat kann nicht zum Primärreplikat für Datenträger %s hochgestuft " +"werden. Keine sekundäre Kopie verfügbar." msgid "" "Unable to re-use a host that is not managed by Cinder with " "use_chap_auth=True," msgstr "" -"Ein Host, der nicht von Cinder verwaltet wird, kann mituse_chap_auth=True " -"nicht erneut verwendet werden" +"Ein Host, der nicht von Cinder verwaltet wird, kann mit use_chap_auth=True " +"nicht erneut verwendet werden." msgid "Unable to re-use host with unknown CHAP credentials configured." msgstr "" -"Host mit unbekannten konfigurierten CHAP-Berechtigungsnachweisen kann nicht " -"erneut verwendet werden." +"Host, der mit unbekannten CHAP-Berechtigungsnachweisen konfiguriert ist, " +"kann nicht erneut verwendet werden." #, python-format msgid "Unable to rename volume %(existing)s to %(newname)s" -msgstr "Datenträger %(existing)s konnte nicht in %(newname)s umbenannt werden" +msgstr "Datenträger %(existing)s konnte nicht in %(newname)s umbenannt werden." #, python-format msgid "Unable to retrieve snapshot group with id of %s." @@ -8557,9 +8579,8 @@ "Unable to retype: A copy of volume %s exists. Retyping would exceed the " "limit of 2 copies." msgstr "" -"Typänderung nicht möglich: Eine Kopie von Datenträger %s ist vorhanden. " -"Durch eine Typänderung würde der Grenzwert von 2 Kopien überschritten " -"werden. " +"Typänderung nicht möglich: Eine Kopie von Datenträger %s ist vorhanden. Mit " +"einer Typänderung wird der Grenzwert von 2 Kopien überschritten. " #, python-format msgid "" @@ -8567,8 +8588,8 @@ "new type is replication. Volume = %s" msgstr "" "Typänderung nicht möglich: Aktuelle Aktion erfordert eine Datenträgerkopie. " -"Dies ist nicht zulässig, wenn der neue Typ eine Replizierung ist. " -"Datenträger = %s" +"Dies ist nicht zulässig, wenn der neue Typ 'replication' ist. Datenträger = " +"%s" #, python-format msgid "" @@ -8579,10 +8600,10 @@ #, python-format msgid "Unable to snap Consistency Group %s" -msgstr "Momentaufnahme der Konsistenzgruppe %s konnte nicht erstellt werden" +msgstr "Schattenkopie der Konsistenzgruppe %s konnte nicht erstellt werden." msgid "Unable to terminate volume connection from backend." -msgstr "Datenträgerverbindung kann nicht vom Back-End beendet werden." +msgstr "Datenträgerverbindung kann nicht vom Backend beendet werden." #, python-format msgid "Unable to terminate volume connection: %(err)s" @@ -8590,16 +8611,16 @@ #, python-format msgid "Unable to update consistency group %s" -msgstr "Konsistenzgruppe %s konnte nicht aktualisiert werden" +msgstr "Konsistenzgruppe %s konnte nicht aktualisiert werden." #, python-format msgid "" "Unable to update type due to incorrect status: %(vol_status)s on volume: " "%(vol_id)s. Volume status must be available or in-use." msgstr "" -"Typ kann aufgrund von falschem Status nicht aktualisiert werden: " -"%(vol_status)s auf Datenträger: %(vol_id)s. Datenträgerstatus muss " -"'available' oder 'in-use' lauten." +"Typ kann aufgrund von falschem Status %(vol_status)s von Datenträger " +"%(vol_id)s nicht aktualisiert werden. Datenträgerstatus muss 'available' " +"oder 'in-use' sein." #, python-format msgid "" @@ -8623,7 +8644,7 @@ "Unexpected CLI response: header/row mismatch. header: %(header)s, row: " "%(row)s." msgstr "" -"Unerwartete CLI-Antwort: Abweichung zwischen Header/Zeile. Header: " +"Unerwartete CLI-Antwort: Abweichung zwischen Header und Zeile. Header: " "%(header)s, Zeile: %(row)s." #, python-format @@ -8663,10 +8684,10 @@ msgstr "Unbekannte NFS-Ausnahme" msgid "Unknown RemoteFS exception" -msgstr "Unbekannte RemoteFS-Ausnahmesituation" +msgstr "Unbekannte RemoteFS-Ausnahme" msgid "Unknown SMBFS exception." -msgstr "Unbekannte SMBFS-Ausnahmesituation." +msgstr "Unbekannte SMBFS-Ausnahme" msgid "Unknown Virtuozzo Storage exception" msgstr "Unbekannte Virtuozzo-Speicherausnahmebedingung" @@ -8718,16 +8739,18 @@ #, python-format msgid "Unknown quota resources %(unknown)s." -msgstr "Unbekannte Quotenressourcen %(unknown)s." +msgstr "Unbekannte Kontingentressourcen %(unknown)s." msgid "Unknown service" msgstr "Unbekannter Dienst" msgid "Unknown sort direction, must be 'desc' or 'asc'" -msgstr "Unbekannte Sortierrichtung; muss 'desc' oder 'asc' sein" +msgstr "" +"Unbekannte Sortierrichtung: Muss 'desc' (absteigend) oder " +"'asc' (aufsteigend) sein." msgid "Unknown sort direction, must be 'desc' or 'asc'." -msgstr "Unbekannte Sortierrichtung; muss 'desc' oder 'asc' sein." +msgstr "Unbekannte Sortierrichtung: muss 'desc' oder 'asc' sein." msgid "Unmanage and cascade delete options are mutually exclusive." msgstr "" @@ -8782,10 +8805,10 @@ #, python-format msgid "Unsupported backup metadata version (%s)" -msgstr "Nicht unterstützte Datensicherungsmetadatenversion (%s)" +msgstr "Nicht unterstützte Metadatenversion für die Sicherung (%s)" msgid "Unsupported backup metadata version requested" -msgstr "Nicht unterstützte Metadatenversion für die Sicherung angefordert" +msgstr "Nicht unterstützte Metadatenversion für die Sicherung angefordert." msgid "Unsupported backup verify driver" msgstr "Nicht unterstützter Treiber zum Überprüfen der Sicherung" @@ -8796,11 +8819,11 @@ "or higher" msgstr "" "Nicht unterstützte Firmware auf Switch %s. Stellen Sie sicher, dass auf dem " -"Switch Firmware ab Version 6.4 ausgeführt wird" +"Switch Firmware ab Version 6.4 ausgeführt wird." #, python-format msgid "Unsupported volume format: %s " -msgstr "Nicht unterstütztes Volumenformat: %s" +msgstr "Nicht unterstütztes Datenträgerformat: %s" msgid "Update QoS policy error." msgstr "Fehler beim Aktualisieren der QoS-Richtlinie." @@ -8809,20 +8832,20 @@ "Update and delete quota operations can only be made by an admin of immediate " "parent or by the CLOUD admin." msgstr "" -"Operationen zum Aktualisieren und zum Löschen einer Quote können nur durch " -"einen Administrator der direkt übergeordneten Ebene oder durch den CLOUD-" -"Administrator erfolgen." +"Operationen zum Aktualisieren und zum Löschen einer Quote können nur von " +"einen Administrator der direkt übergeordneten Ebene oder vom CLOUD-" +"Administrator ausgeführt werden." msgid "" "Update and delete quota operations can only be made to projects in the same " "hierarchy of the project in which users are scoped to." msgstr "" -"Operationen zum Aktualisieren und zum Löschen einer Quote können nur an " -"Projekten in derselben Hierarchie des Projekts, das als Bereich für Benutzer " -"festgelegt wurde, erfolgen." +"Operationen zum Aktualisieren und zum Löschen eines Kontingents können nur " +"an Projekten in derselben Hierarchie des Projekts, das als Bereich für " +"Benutzer festgelegt wurde, ausgeführt werden." msgid "Update list, doesn't include volume_id" -msgstr "Listenaktualisierung enthält nicht 'volume_id'" +msgstr "Listenaktualisierung enthält nicht 'volume_id'." msgid "Updated At" msgstr "Aktualisiert am" @@ -8842,10 +8865,10 @@ "Überprüfen Sie den CHAP-Benutzernamen und das Kennwort." msgid "User ID" -msgstr "Benutzer ID" +msgstr "Benutzer-ID" msgid "User does not have admin privileges" -msgstr "Benutzer hat keine Admin-Berechtigungen" +msgstr "Benutzer hat keine Admin-Berechtigungen." msgid "User is not authorized to use key manager." msgstr "Benutzer ist nicht zum Verwenden des Schlüsselmanagers berechtigt. " @@ -8881,7 +8904,7 @@ #, python-format msgid "Valid consumer of QoS specs are: %s" -msgstr "Gültige Consumer von QoS-Spezifikationen sind: %s" +msgstr "Gültige Konsumenten von QoS-Spezifikationen sind: %s" #, python-format msgid "Valid control location are: %s" @@ -8919,7 +8942,7 @@ "Version %(req_ver)s is not supported by the API. Minimum is %(min_ver)s and " "maximum is %(max_ver)s." msgstr "" -"Version %(req_ver)s wird von der API nicht unterstützt. Minimum ist " +"Die Version %(req_ver)s wird von der API nicht unterstützt. Minimum ist " "%(min_ver)s und Maximum ist %(max_ver)s." #, python-format @@ -8932,11 +8955,11 @@ #, python-format msgid "Virtual volume '%s' doesn't exist on array." -msgstr "Virtueller Datenträger '%s' ist auf Platteneinheit nicht vorhanden. " +msgstr "Virtueller Datenträger '%s' ist im Array nicht vorhanden. " #, python-format msgid "Vol copy job for dest %s failed." -msgstr "Datenträgerkopierjob für Ziel %s ist fehlgeschlagen." +msgstr "Die Datenträgerkopieraufgabe für das Ziel %s ist fehlgeschlagen." #, python-format msgid "Volume %(deviceID)s not found." @@ -8947,13 +8970,14 @@ "Volume %(name)s not found on the array. Cannot determine if there are " "volumes mapped." msgstr "" -"Datenträger %(name)s nicht auf Platteneinheit gefunden. Es kann nicht " +"Der Datenträger %(name)s wurde nicht im Array gefunden. Es kann nicht " "festgestellt werden, ob zugeordnete Datenträger vorhanden sind." #, python-format msgid "Volume %(name)s was created in VNX, but in %(state)s state." msgstr "" -"Datenträger %(name)s wurde in VNX erstellt, hat aber den Status %(state)s." +"Der Datenträger %(name)s wurde in VNX erstellt, hat aber den Status " +"%(state)s." #, python-format msgid "Volume %(vol)s could not be created in pool %(pool)s." @@ -8969,8 +8993,8 @@ "Volume %(vol_id)s status must be available or in-use, but current status is: " "%(vol_status)s." msgstr "" -"Der Status des Datenträgers %(vol_id)s muss verfügbar sein oder den Status " -"'in-use' aufweisen, der aktuelle Status lautet jedoch: %(vol_status)s." +"Der Status des Datenträgers %(vol_id)s muss 'available' oder 'in-use' sein, " +"aber der aktuelle Status ist: %(vol_status)s." #, python-format msgid "" @@ -8978,15 +9002,15 @@ "%(vol_status)s." msgstr "" "Der Status des Datenträgers %(vol_id)s muss für eine Erweiterung 'available' " -"sein, der aktuelle Status lautet jedoch: %(vol_status)s." +"sein, aber der aktuelle Status ist: %(vol_status)s." #, python-format msgid "" "Volume %(vol_id)s status must be available to update readonly flag, but " "current status is: %(vol_status)s." msgstr "" -"Der Status des Datenträgers %(vol_id)s muss für die Aktualisierung des " -"readonly-Flags 'available' sein, der aktuelle Status ist jedoch: " +"Der Status des Datenträgers %(vol_id)s muss für die Aktualisierung der " +"readonly-Markierung 'available' sein, aber der aktuelle Status ist: " "%(vol_status)s." #, python-format @@ -8994,38 +9018,38 @@ "Volume %(vol_id)s status must be available, but current status is: " "%(vol_status)s." msgstr "" -"Der Status des Datenträgers %(vol_id)s muss 'available' lauten, aber der " -"aktuelle Status lautet: %(vol_status)s." +"Der Status des Datenträgers %(vol_id)s muss 'available' sein, aber der " +"aktuelle Status ist: %(vol_status)s." #, python-format msgid "Volume %(volume_id)s could not be found." -msgstr "Datenträger %(volume_id)s konnte nicht gefunden werden." +msgstr "Datenträger %(volume_id)s wurde nicht gefunden." #, python-format msgid "" "Volume %(volume_id)s has no administration metadata with key " "%(metadata_key)s." msgstr "" -"Volumen %(volume_id)s hat keine Verwaltungsmetadaten mit Schlüssel " -"%(metadata_key)s." +"Datenträger %(volume_id)s enthält keine Verwaltungsmetadaten mit dem " +"Schlüssel %(metadata_key)s." #, python-format msgid "Volume %(volume_id)s has no metadata with key %(metadata_key)s." msgstr "" -"Datenträger %(volume_id)s enthält keine Metadaten mit Schlüssel " +"Datenträger %(volume_id)s enthält keine Metadaten mit dem Schlüssel " "%(metadata_key)s." #, python-format msgid "" "Volume %(volume_id)s is currently mapped to unsupported host group %(group)s" msgstr "" -"Datenträger %(volume_id)s ist aktuell zur nicht unterstützten Hostgruppe " -"%(group)s zugeordnet" +"Der Datenträger %(volume_id)s ist momentan der nicht unterstützten " +"Hostgruppe %(group)s zugeordnet." #, python-format msgid "Volume %(volume_id)s is not currently mapped to host %(host)s" msgstr "" -"Datenträger %(volume_id)s ist aktuell nicht zu Host %(host)s zugeordnet" +"Der Datenträger %(volume_id)s ist zurzeit nicht dem Host %(host)s zugeordnet." #, python-format msgid "Volume %(volume_id)s is still attached, detach volume first." @@ -9035,11 +9059,11 @@ #, python-format msgid "Volume %(volume_id)s replication error: %(reason)s" -msgstr "Replizierungsfehler für Datenträger %(volume_id)s: %(reason)s" +msgstr "Replikationsfehler für Datenträger %(volume_id)s: %(reason)s" #, python-format msgid "Volume %(volume_name)s is busy." -msgstr "Datenträger %(volume_name)s ist ausgelastet." +msgstr "Der Datenträger %(volume_name)s ist ausgelastet." #, python-format msgid "Volume %s could not be created from source volume." @@ -9065,7 +9089,7 @@ #, python-format msgid "Volume %s does not exist on the array." -msgstr "Der Datenträger %s ist nicht im Array vorhanden." +msgstr "Der Datenträger %s ist im Array nicht vorhanden. " #, python-format msgid "Volume %s does not have provider_location specified, skipping." @@ -9074,7 +9098,7 @@ #, python-format msgid "Volume %s doesn't exist on array." -msgstr "Datenträger %s ist auf Platteneinheit nicht vorhanden. " +msgstr "Der Datenträger %s ist im Array nicht vorhanden. " #, python-format msgid "Volume %s doesn't exist on the ZFSSA backend." @@ -9086,7 +9110,7 @@ #, python-format msgid "Volume %s is already part of an active migration." -msgstr "Datenträger %s ist bereits Teil einer aktiven Migration." +msgstr "Der Datenträger %s ist bereits Teil einer aktiven Migration." #, python-format msgid "" @@ -9111,8 +9135,9 @@ "Volume %s must not be migrating, attached, belong to a consistency group or " "have snapshots." msgstr "" -"Der Datenträger %s darf nicht migriert oder zugeordnet sein, darf zu keiner " -"Konsistenzgruppe gehören und keine Schattenkopien haben." +"Der Datenträger %s darf sich nicht in einer Migration befinden, nicht " +"zugeordnet sein, darf zu keiner Konsistenzgruppe gehören und keine " +"Schattenkopien haben." #, python-format msgid "Volume %s must not be part of a consistency group." @@ -9120,31 +9145,31 @@ #, python-format msgid "Volume %s must not be replicated." -msgstr "Datenträger %s darf nicht repliziert sein." +msgstr "Der Datenträger %s darf nicht repliziert sein." #, python-format msgid "Volume %s must not have snapshots." -msgstr "Datenträger %s darf keine Momentaufnahmen enthalten." +msgstr "Der Datenträger %s darf keine Schattenkopie enthalten." #, python-format msgid "Volume %s not found." -msgstr "Volumen %s nicht gefunden." +msgstr "Datenträger %s nicht gefunden." #, python-format msgid "Volume %s: Error trying to extend volume" -msgstr "Datenträger %s: Fehler beim Versuch, den Datenträger zu erweitern" +msgstr "Datenträger %s: Fehler beim Versuch, den Datenträger zu erweitern." #, python-format msgid "Volume (%s) already exists on array" -msgstr "Datenträger (%s) ist auf Platteneinheit bereits vorhanden" +msgstr "Datenträger (%s) ist im Array bereits vorhanden." #, python-format msgid "Volume (%s) already exists on array." -msgstr "Datenträger (%s) ist auf der Platteneinheit bereits vorhanden." +msgstr "Datenträger (%s) ist im Array bereits vorhanden." #, python-format msgid "Volume Group %s does not exist" -msgstr "Datenträgergruppe %s ist nicht vorhanden" +msgstr "Datenträgergruppe %s ist nicht vorhanden." #, python-format msgid "Volume Type %(id)s already exists." @@ -9153,7 +9178,7 @@ #, python-format msgid "Volume Type %(type_id)s has no extra spec with key %(id)s." msgstr "" -"Datenträgertyp %(type_id)s besitzt keine zusätzliche Spezifikation mit " +"Der Datenträgertyp %(type_id)s hat keine zusätzliche Spezifikation mit " "Schlüssel %(id)s." #, python-format @@ -9161,15 +9186,15 @@ "Volume Type %(volume_type_id)s deletion is not allowed with volumes present " "with the type." msgstr "" -"Löschen von Datenträgertyp %(volume_type_id)s ist nicht zulässig mit " -"vorhandenen Datenträgern mit dem Typ." +"Löschen von Datenträgertyp %(volume_type_id)s ist für vorhandene Datenträger " +"mit dem Typ nicht zulässig." #, python-format msgid "" "Volume Type %(volume_type_id)s has no extra specs with key " "%(extra_specs_key)s." msgstr "" -"Datenträgertyp %(volume_type_id)s hat keine Sonderspezifikationen mit " +"Datenträgertyp %(volume_type_id)s hat keine Sonderspezifikationen mit dem " "Schlüssel %(extra_specs_key)s" msgid "Volume Type id must not be None." @@ -9181,7 +9206,7 @@ "OpenStack volume [%(ops_vol)s]." msgstr "" "Der Datenträger [%(cb_vol)s] wurde nicht in dem CloudByte-Speicher gefunden, " -"der dem OpenStack-Datenträger [%(ops_vol)s] entspricht." +"der zum OpenStack-Datenträger [%(ops_vol)s] gehört." #, python-format msgid "Volume [%s] not found in CloudByte storage." @@ -9190,18 +9215,19 @@ #, python-format msgid "Volume attachment could not be found with filter: %(filter)s ." msgstr "" -"Datenträgeranhängung konnte nicht gefunden werden mit Filter: %(filter)s ." +"Datenträgeranhängung wurde mit dem folgenden Filter nicht gefunden: " +"%(filter)s ." #, python-format msgid "Volume backend config is invalid: %(reason)s" -msgstr "Datenträger-Back-End-Konfiguration ist ungültig: %(reason)s" +msgstr "Konfiguration des Datenträgerbackends ist ungültig: %(reason)s" msgid "Volume by this name already exists" -msgstr "Ein Datenträger mit diesem Namen ist bereits vorhanden" +msgstr "Ein Datenträger mit diesem Namen ist bereits vorhanden." msgid "Volume cannot be restored since it contains snapshots." msgstr "" -"Datenträger kann nicht wiederhergestellt werden, da er Momentaufnahmen " +"Datenträger kann nicht wiederhergestellt werden, da er Schattenkopien " "enthält." msgid "Volume create failed while extracting volume ref." @@ -9211,22 +9237,22 @@ #, python-format msgid "Volume device file path %s does not exist." -msgstr "Dateipfad für Datenträgereinheit %s ist nicht vorhanden." +msgstr "Dateipfad für Datenträgergerät %s ist nicht vorhanden." #, python-format msgid "Volume device not found at %(device)s." -msgstr "Volumengerät unter %(device)s nicht gefunden." +msgstr "Datenträgergerät unter %(device)s nicht gefunden." #, python-format msgid "Volume driver %s not initialized." -msgstr "Volumentreiber %s nicht initialisiert." +msgstr "Datenträgertreiber %s nicht initialisiert." msgid "Volume driver not ready." -msgstr "Volumentreiber ist nicht bereit." +msgstr "Datenträgertreiber ist nicht bereit." #, python-format msgid "Volume driver reported an error: %(message)s" -msgstr "Volumentreiber meldete einen Fehler: %(message)s" +msgstr "Datenträgertreiber meldete einen Fehler: %(message)s" msgid "Volume has a temporary snapshot that can't be deleted at this time." msgstr "" @@ -9245,24 +9271,23 @@ msgid "Volume in consistency group still has dependent snapshots." msgstr "" -"Datenträger in Konsistenzgruppe verfügt noch immer über abhängige " -"Momentaufnahmen." +"Datenträger in Konsistenzgruppe hat immer noch abhängige Schattenkopien." #, python-format msgid "Volume is attached to a server. (%s)" -msgstr "Datenträger wurde an einen Server angehängt. (%s)" +msgstr "Datenträger ist an einem Server angehängt. (%s)" msgid "Volume is in-use." -msgstr "Datenträger ist belegt." +msgstr "Datenträgerstatus ist 'in-use'." msgid "Volume is not available." msgstr "Datenträger ist nicht verfügbar." msgid "Volume is not local to this node" -msgstr "Datenträger ist nicht lokal auf diesem Knoten" +msgstr "Der Datenträger ist für diesen Knoten nicht lokal." msgid "Volume is not local to this node." -msgstr "Datenträger ist für diesen Knoten nicht lokal." +msgstr "Der Datenträger ist für diesen Knoten nicht lokal." msgid "" "Volume metadata backup requested but this driver does not yet support this " @@ -9273,23 +9298,23 @@ #, python-format msgid "Volume migration failed: %(reason)s" -msgstr "Volumenmigration fehlgeschlagen: %(reason)s" +msgstr "Datenträgermigration fehlgeschlagen: %(reason)s" msgid "Volume must be available" -msgstr "Volumen muss verfügbar sein" +msgstr "Datenträger muss verfügbar sein." msgid "Volume must be in the same availability zone as the snapshot" msgstr "" -"Datenträger muss sich in derselben Verfügbarkeitszone befinden wie die " -"Momentaufnahme" +"Der Datenträger muss sich in derselben Verfügbarkeitszone befinden wie die " +"Schattenkopie." msgid "Volume must be in the same availability zone as the source volume" msgstr "" -"Datenträger muss sich in derselben Verfügbarkeitszone befinden wie der " -"Quellendatenträger" +"Der Datenträger muss sich in derselben Verfügbarkeitszone befinden wie der " +"Quellendatenträger." msgid "Volume must have a volume type" -msgstr "Datenträger muss einen Datenträgertyp haben" +msgstr "Datenträger muss einen Datenträgertyp haben." msgid "Volume must not be part of a consistency group." msgstr "Datenträger darf nicht Teil einer Konsistenzgruppe sein." @@ -9298,14 +9323,14 @@ msgstr "Datenträger darf nicht repliziert werden. " msgid "Volume must not have snapshots." -msgstr "Datenträger darf keine Momentaufnahmen enthalten." +msgstr "Datenträger darf keine Schattenkopien enthalten." #, python-format msgid "Volume not found for instance %(instance_id)s." msgstr "Datenträger für Instanz %(instance_id)s nicht gefunden." msgid "Volume not found on configured storage backend." -msgstr "Datenträger nicht auf konfiguriertem Speicher-Back-End gefunden." +msgstr "Datenträger nicht im konfiguriertem Speicherbackend gefunden." msgid "" "Volume not found on configured storage backend. If your volume name contains " @@ -9332,12 +9357,11 @@ #, python-format msgid "Volume replication for %(volume_id)s could not be found." -msgstr "" -"Datenträgerreplizierung für %(volume_id)s konnte nicht gefunden werden. " +msgstr "Die Datenträgerreplikation für %(volume_id)s wurde nicht gefunden." #, python-format msgid "Volume service %s failed to start." -msgstr "Volume Service %s konnte nicht gestartet werden." +msgstr "Starten des Datenträgerdiensts %s ist fehlgeschlagen." msgid "Volume should have agent-type set as None." msgstr "Für Datenträger sollte Agententyp auf None festgelegt werden." @@ -9347,12 +9371,12 @@ "Volume size %(volume_size)sGB cannot be smaller than the image minDisk size " "%(min_disk)sGB." msgstr "" -"Datenträgergröße %(volume_size)s GB darf nicht kleiner als die Image-minDisk-" -"Größe %(min_disk)s GB sein." +"Datenträgergröße %(volume_size)s GB darf nicht kleiner als die " +"Mindestplattengröße des Abbilds von %(min_disk)s GB sein." #, python-format msgid "Volume size '%(size)s' must be an integer and greater than 0" -msgstr "Datenträgergröße '%(size)s' muss eine Ganzzahl und größer als 0 sein" +msgstr "Datenträgergröße '%(size)s' muss eine Ganzzahl und größer als 0 sein." #, python-format msgid "" @@ -9360,7 +9384,7 @@ "%(source_size)sGB. They must be >= original volume size." msgstr "" "Datenträgergröße '%(size)s' GB darf nicht kleiner als die ursprüngliche " -"Datenträgergröße %(source_size)s GB sein. Sie muss >= der ursprünglichen " +"Datenträgergröße von %(source_size)s GB sein. Sie muss >= der ursprünglichen " "Datenträgergröße sein." #, python-format @@ -9368,9 +9392,9 @@ "Volume size '%(size)s'GB cannot be smaller than the snapshot size " "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" -"Datenträgergröße '%(size)s' GB darf nicht kleiner als die " -"Momentaufnahmengröße %(snap_size)s GB sein. Sie muss >= der ursprünglichen " -"Momentaufnahmengröße sein." +"Datenträgergröße '%(size)s' GB darf nicht kleiner als die Schattenkopiegröße " +"von %(snap_size)s GB sein. Sie muss >= der ursprünglichen Schattenkopiegröße " +"sein." msgid "Volume size increased since the last backup. Do a full backup." msgstr "" @@ -9389,8 +9413,8 @@ #, python-format msgid "Volume status for volume must be available, but current status is: %s" msgstr "" -"Datenträgerstatus für Datenträger muss 'available' lauten, aber der aktuelle " -"Status lautet: %s" +"Datenträgerstatus für Datenträger muss 'available' sein, aber der aktuelle " +"Status ist: %s" msgid "Volume status is in-use." msgstr "Datenträgerstatus ist 'in-use'." @@ -9398,8 +9422,8 @@ #, python-format msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)" msgstr "" -"Datenträgerstatus muss \"available\" oder \"in-use\" für eine Momentaufnahme " -"sein (ist aber %s)." +"Der Datenträger muss für eine Schattenkopie den Status \"available\" oder " +"\"in-use\" haben, der Status ist aber %s." msgid "Volume status must be \"available\" or \"in-use\"." msgstr "Datenträgerstatus muss \"available\" oder \"in-use\" sein." @@ -9412,42 +9436,43 @@ msgstr "Datenträgerstatus muss 'available' sein." msgid "Volume to Initiator Group mapping already exists" -msgstr "Zuordnung von Datenträger zu Initiatorgruppe ist bereits vorhanden" +msgstr "" +"Die Zuordnung von Datenträger zu Initiatorgruppe ist bereits vorhanden." #, python-format msgid "" "Volume to be backed up must be available or in-use, but the current status " "is \"%s\"." msgstr "" -"Datenträger, der gesichert werden soll, muss verfügbar oder im Gebrauch " -"sein, aber der aktuelle Status ist \"%s\"." +"Der Datenträger, der gesichert werden soll, muss den Status 'available'oder " +"'in-use' haben, aber der aktuelle Status ist \"%s\"." msgid "Volume to be restored to must be available" -msgstr "Wiederherzustellender Datenträger muss verfügbar sein" +msgstr "Wiederherzustellender Datenträger muss verfügbar sein." #, python-format msgid "Volume type %(volume_type_id)s could not be found." -msgstr "Datenträgertyp %(volume_type_id)s konnte nicht gefunden werden." +msgstr "Datenträgertyp %(volume_type_id)s wurde nicht gefunden." #, python-format msgid "Volume type ID '%s' is invalid." -msgstr "Volumentypkennung '%s' ist ungültig." +msgstr "Datenträgertyp-ID '%s' ist ungültig." #, python-format msgid "" "Volume type access for %(volume_type_id)s / %(project_id)s combination " "already exists." msgstr "" -"Datenträgertypzugriff für Kombination %(volume_type_id)s / %(project_id)s " -"ist bereits vorhanden. " +"Datenträgertypzugriff für die Kombination %(volume_type_id)s / " +"%(project_id)s ist bereits vorhanden. " #, python-format msgid "" "Volume type access not found for %(volume_type_id)s / %(project_id)s " "combination." msgstr "" -"Datenträgertypzugriff für Kombination %(volume_type_id)s / %(project_id)s " -"nicht gefunden." +"Datenträgertypzugriff für die Kombination %(volume_type_id)s / " +"%(project_id)s nicht gefunden." #, python-format msgid "Volume type does not match for share %s." @@ -9456,20 +9481,20 @@ #, python-format msgid "Volume type encryption for type %(type_id)s already exists." -msgstr "Volumentypverschlüsselung für Typ %(type_id)s ist bereits vorhanden." +msgstr "" +"Datenträgertypverschlüsselung für Typ %(type_id)s ist bereits vorhanden." #, python-format msgid "Volume type encryption for type %(type_id)s does not exist." msgstr "Volumentypverschlüsselung für Typ %(type_id)s ist nicht vorhanden." msgid "Volume type name can not be empty." -msgstr "Datenträgertypname darf nicht leer sein." +msgstr "Name des Datenträgertyps darf nicht leer sein." #, python-format msgid "Volume type with name %(volume_type_name)s could not be found." msgstr "" -"Datenträgertyp mit dem Namen %(volume_type_name)s konnte nicht gefunden " -"werden." +"Datenträgertyp mit dem Namen %(volume_type_name)s wurde nicht gefunden." #, python-format msgid "Volume with volume id %s does not exist." @@ -9480,9 +9505,9 @@ "Volume: %(volumeName)s is not a concatenated volume. You can only perform " "extend on concatenated volume. Exiting..." msgstr "" -"Datenträger %(volumeName)s ist kein verketteter Datenträger. Sie können die " -"Erweiterung nur für einen verketteten Datenträger ausführen. Vorgang wird " -"beendet..." +"Der Datenträger %(volumeName)s ist kein verketteter Datenträger. Sie können " +"die Erweiterung nur für einen verketteten Datenträger ausführen. Vorgang " +"wird beendet..." #, python-format msgid "Volume: %(volumeName)s was not added to storage group %(sgGroupName)s." @@ -9511,12 +9536,12 @@ msgid "" "VzStorage config 'vzstorage_used_ratio' invalid. Must be > 0 and <= 1.0: %s." msgstr "" -"VzStorage-Konfiguration 'vzstorage_used_ratio' ist ungültig. Muss > 0 und <= " -"1,0 sein: %s." +"Die VzStorage-Konfiguration für 'vzstorage_used_ratio' ist ungültig. Muss > " +"0 und <= 1,0 sein: %s." #, python-format msgid "VzStorage config file at %(config)s doesn't exist." -msgstr "VzStorage-Konfigurationsdatei unter %(config)s ist nicht vorhanden." +msgstr "VzStorage-Konfigurationsdatei ist nicht in %(config)s vorhanden." msgid "Wait replica complete timeout." msgstr "Zeitlimitüberschreitung beim Warten auf Fertigstellung des Replikats." @@ -9528,8 +9553,8 @@ msgid "" "Waiting for all nodes to join cluster. Ensure all sheep daemons are running." msgstr "" -"Es wird gewartet, bis alle Knoten mit Cluster verknüpft sind. Stellen Sie " -"sicher, dass alle sheep-Dämonprozesse ausgeführt werden." +"Es wird gewartet, bis alle Knoten mit dem Cluster verknüpft sind. Stellen " +"Sie sicher, dass alle sheep-Dämonprozesse aktiv sind." msgid "We should not do switch over on primary array." msgstr "Wechsel in primären Array nicht empfohlen." @@ -9544,33 +9569,33 @@ msgstr "XML-Unterstützung wurde eingestellt und wird im N-Release entfernt." msgid "XtremIO not configured correctly, no iscsi portals found" -msgstr "XtremIO nicht ordnungsgemäß konfiguriert, keine iSCSI-Portale gefunden" +msgstr "" +"XtremIO ist nicht ordnungsgemäß konfiguriert, keine iSCSI-Portale gefunden." msgid "XtremIO not initialized correctly, no clusters found" -msgstr "XtremIO nicht richtig initialisiert, keine Cluster gefunden" +msgstr "XtremIO nicht richtig initialisiert, keine Cluster gefunden." msgid "You must implement __call__" -msgstr "Sie müssen '__call__' implementieren" +msgstr "Sie müssen '__call__' implementieren." msgid "" "You must install hpe3parclient before using 3PAR drivers. Run \"pip install " "python-3parclient\" to install the hpe3parclient." msgstr "" "Sie müssen hpe3parclient installieren, bevor Sie 3PAR-Treiber verwenden. " -"Führen Sie \"pip install python-3parclient\" aus, um hpe3parclient zu " +"Führen Sie \"pip install python-3parclient\" aus, um hpe3parclient zu " "installieren." msgid "You must supply an array in your EMC configuration file." -msgstr "" -"Sie müssen eine Platteneinheit in Ihrer EMC-Konfigurationsdatei angeben." +msgstr "Sie müssen in Ihrer EMC-Konfigurationsdatei ein Array angeben." #, python-format msgid "" "Your original size: %(originalVolumeSize)s GB is greater than: %(newSize)s " "GB. Only Extend is supported. Exiting..." msgstr "" -"Die ursprüngliche Größe %(originalVolumeSize)s GB ist größer als %(newSize)s " -"GB. Nur Erweiterung wird unterstützt. Vorgang wird beendet..." +"Die ursprüngliche Größe von %(originalVolumeSize)s GB ist größer als " +"%(newSize)s GB. Nur Erweiterung wird unterstützt. Vorgang wird beendet..." #, python-format msgid "ZeroDivisionError: %s" @@ -9597,7 +9622,7 @@ "string." msgstr "" "_create_host: Hostname kann nicht übersetzt werden. Hostname ist weder " -"Unicode noch Zeichenfolge." +"Unicode noch Zeichenkette." msgid "_create_host: No connector ports." msgstr "_create_host: keine Connector-Ports." @@ -9623,7 +9648,7 @@ " stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"_create_vdisk %(name)s - keine Erfolgsnachricht in CLI-Ausgabe gefunden.\n" +"_create_vdisk %(name)s - Keine Erfolgsnachricht in CLI-Ausgabe gefunden.\n" " Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" @@ -9795,13 +9820,14 @@ " Headers: %(header)s\n" " Values: %(row)s." msgstr "" -"_get_hdr_dic: Attributheader und -Werte stimmen nicht überein.\n" +"_get_hdr_dic: Attributheader und Attributwerte stimmen nicht überein.\n" " Header: %(header)s\n" " Werte: %(row)s." msgid "_get_host_from_connector failed to return the host name for connector." msgstr "" -"_get_host_from_connector hat Hostnamen für Connector nicht zurückgegeben." +"_get_host_from_connector hat den Hostnamen für den Connector nicht " +"zurückgegeben." #, python-format msgid "" @@ -9946,8 +9972,8 @@ "exceed the limit of 2 copies." msgstr "" "add_vdisk_copy fehlgeschlagen: Eine Kopie von Datenträger %s ist bereits " -"vorhanden. Durch Hinzufügen einer weiteren Kopie würde der Grenzwert von 2 " -"Kopien überschritten werden. " +"vorhanden. Hinzufügen einer weiteren Kopie führt zu Überschreiten des " +"Grenzwerts von 2 Kopien. " msgid "add_vdisk_copy started without a vdisk copy in the expected pool." msgstr "" @@ -9965,11 +9991,11 @@ msgstr "already_created" msgid "attach snapshot from remote node" -msgstr "Momentaufnahme zu fernem Knoten zuordnen" +msgstr "Schattenkopie aus fernem Knoten zuordnen" #, python-format msgid "attribute %s not lazy-loadable" -msgstr "Attribut %s kann nicht über Lazy-Loading geladen werden" +msgstr "Attribut %s kann nicht über Lazy-Loading geladen werden." #, python-format msgid "" @@ -9978,8 +10004,8 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"Sicherung: %(vol_id)s konnte keine feste Einheitenverbindung von %(vpath)s " -"zu %(bpath)s.\n" +"Sicherung: %(vol_id)s konnte keine feste Geräteverknüpfung von %(vpath)s zu " +"%(bpath)s herstellen.\n" "Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" @@ -10002,8 +10028,8 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"Sicherung: %(vol_id)s konnte DSMC aufgrund von ungültigen Argumenten unter " -"%(bpath)s.\n" +"Sicherung: %(vol_id)s konnte DSMC aufgrund von ungültigen Argumenten nicht " +"unter %(bpath)s ausführen.\n" "Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" @@ -10034,11 +10060,11 @@ msgid "" "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." msgstr "" -"Sicherung: %(vol_id)s fehlgeschlagen. Reeller Pfad zum Datenträger auf " +"Sicherung: %(vol_id)s fehlgeschlagen. Tatsächlicher Pfad zum Datenträger in " "%(path)s kann nicht abgerufen werden." msgid "being attached by different mode" -msgstr "Wird von anderem Modus angehängt" +msgstr "ist über anderen Modus angehängt" #, python-format msgid "call failed: %r" @@ -10059,21 +10085,21 @@ #, python-format msgid "can't find lun-map, ig:%(ig)s vol:%(vol)s" -msgstr "LUN-Zuordnung nicht gefunden, ig:%(ig)s vol:%(vol)s" +msgstr "LUN-Zuordnung nicht gefunden, IG:%(ig)s Datenträger:%(vol)s" msgid "can't find the volume to extend" -msgstr "zu erweiternder Datenträger kann nicht gefunden werden" +msgstr "Zu erweiternder Datenträger wurde nicht gefunden." msgid "can't handle both name and index in req" msgstr "" "Es können nicht sowohl der Name als auch der Index in der Anforderung " -"verarbeitet werden" +"verarbeitet werden." msgid "cannot understand JSON" -msgstr "kann JSON nicht verstehen" +msgstr "JSON kann nicht interpretiert werden." msgid "cannot understand XML" -msgstr "Kann XML nicht verstehen" +msgstr "XML kann nicht interpretiert werden." #, python-format msgid "cg-%s" @@ -10110,7 +10136,7 @@ #, python-format msgid "clone depth exceeds limit of %s" -msgstr "Klontiefe überschreitet den Grenzwert %s" +msgstr "Klontiefe überschreitet den Grenzwert von %s" msgid "consistencygroup assigned" msgstr "consistencygroup zugeordnet" @@ -10119,7 +10145,7 @@ msgstr "consistencygroup geändert" msgid "control_location must be defined" -msgstr "control_location muss definiert sein" +msgstr "control_location muss definiert sein." msgid "create_cloned_volume, Source Volume does not exist in ETERNUS." msgstr "" @@ -10180,7 +10206,7 @@ "vorhanden." msgid "create_host: Host name is not unicode or string." -msgstr "create_host: Hostname ist weder Unicode noch Zeichenfolge." +msgstr "create_host: Hostname ist weder Unicode noch Zeichenkette." msgid "create_host: No initiators or wwpns supplied." msgstr "create_host: Keine Initiatoren oder WWPNs angegeben." @@ -10199,9 +10225,9 @@ "%(d_volumename)s, pool: %(pool)s, Return code: %(rc)lu, Error: %(errordesc)s." msgstr "" "'create_snapshot', Schattenkopiename: %(snapshotname)s, " -"Quellendatenträgername: %(volumename)s, Datenträgerinstanzpfad: " -"%(vol_instance)s, Zieldatenträgername: %(d_volumename)s, Pool: %(pool)s, " -"Rückgabecode: %(rc)lu, Fehler: %(errordesc)s." +"Quellendatenträgername: %(volumename)s, vol_instance.path: %(vol_instance)s, " +"Zieldatenträgername: %(d_volumename)s, Pool: %(pool)s, Rückgabecode: " +"%(rc)lu, Fehler: %(errordesc)s." #, python-format msgid "" @@ -10224,7 +10250,7 @@ "snapshot. The invalid status is %s." msgstr "" "create_snapshot: Datenträgerstatus muss \"available\" oder \"in-use\" für " -"eine Momentaufnahme sein. Der ungültige Status lautet %s." +"eine Schattenkopie sein. Der ungültige Status ist %s." msgid "create_snapshot: get source volume failed." msgstr "create_snapshot: Abrufen des Quellendatenträgers fehlgeschlagen." @@ -10234,7 +10260,7 @@ "create_volume, volume: %(volume)s, EnumerateInstances, cannot connect to " "ETERNUS." msgstr "" -"create_volume, volume: %(volume)s, EnumerateInstances. Es kann keine " +"create_volume, Datenträger: %(volume)s, EnumerateInstances. Es kann keine " "Verbindung zu ETERNUS hergestellt werden." #, python-format @@ -10269,15 +10295,15 @@ #, python-format msgid "create_volume_from_snapshot: Snapshot %(name)s does not exist." msgstr "" -"create_volume_from_snapshot: Momentaufnahme %(name)s ist nicht vorhanden." +"create_volume_from_snapshot: Schattenkopie %(name)s ist nicht vorhanden." #, python-format msgid "" "create_volume_from_snapshot: Snapshot status must be \"available\" for " "creating volume. The invalid status is: %s." msgstr "" -"create_volume_from_snapshot: Der Status der Momentaufnahme muss \"available" -"\" zum Erstellen eines Datenträgers sein. Der ungültige Status lautet %s." +"create_volume_from_snapshot: Der Status der Schattenkopie muss \"available\" " +"zum Erstellen eines Datenträgers sein. Der ungültige Status ist %s." msgid "create_volume_from_snapshot: Source and destination size differ." msgstr "" @@ -10288,7 +10314,7 @@ "volume." msgstr "" "create_volume_from_snapshot: Datenträgergröße unterscheidet sich von der " -"Größe des auf der Momentaufnahme basierenden Datenträgers." +"Größe des auf der Schattenkopie basierenden Datenträgers." msgid "deduplicated and auto tiering can't be both enabled." msgstr "" @@ -10301,7 +10327,7 @@ " stderr: %(err)s" msgstr "" "Löschen: %(vol_id)s konnte DSMC aufgrund von ungültigen Argumenten nicht " -"ausführen mit Standardausgabe: %(out)s\n" +"ausführen. Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" #, python-format @@ -10309,8 +10335,7 @@ "delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"Löschen: %(vol_id)s konnte DSMC nicht ausführen mit Standardausgabe: " -"%(out)s\n" +"Löschen: %(vol_id)s konnte DSMC nicht ausführen. Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" msgid "delete_hypermetro error." @@ -10326,23 +10351,23 @@ #, python-format msgid "deleting snapshot %(snapshot_name)s that has dependent volumes" msgstr "" -"Löschen von Momentaufnahme %(snapshot_name)s mit abhängigen Datenträgern" +"Löschen von Schattenkopie %(snapshot_name)s mit abhängigen Datenträgern" #, python-format msgid "deleting volume %(volume_name)s that has snapshot" -msgstr "Löschen von Datenträger %(volume_name)s mit Momentaufnahme" +msgstr "Löschen von Datenträger %(volume_name)s mit Schattenkopie" msgid "detach snapshot from remote node" -msgstr "Zuordnung der Momentaufnahme zu fernem Knoten aufheben" +msgstr "Zuordnung der Schattenkopie zu fernem Knoten aufheben" msgid "do_setup: No configured nodes." -msgstr "do_setup: keine konfigurierten Knoten." +msgstr "do_setup: Keine konfigurierten Knoten." msgid "element is not a child" msgstr "Element ist kein untergeordnetes Element" msgid "eqlx_cli_max_retries must be greater than or equal to 0" -msgstr "eqlx_cli_max_retries muss größer-gleich 0 sein" +msgstr "eqlx_cli_max_retries muss größer-gleich 0 sein." #, python-format msgid "" @@ -10378,20 +10403,20 @@ "'extend_volume', Datenträgername: %(volumename)s, Datenträger nicht gefunden." msgid "failed to create new_volume on destination host" -msgstr "Erstellen von new_volume auf Zielhost fehlgeschlagen" +msgstr "Erstellen von new_volume auf Zielhost fehlgeschlagen." msgid "fake" msgstr "fake" #, python-format msgid "file already exists at %s" -msgstr "Datei ist unter %s bereits vorhanden" +msgstr "Datei ist bereits in %s vorhanden." msgid "fileno is not supported by SheepdogIOWrapper" -msgstr "fileno wird durch SheepdogIOWrapper nicht unterstützt" +msgstr "Fileno wird von SheepdogIOWrapper nicht unterstützt." msgid "fileno() not supported by RBD()" -msgstr "fileno() wird von RBD() nicht unterstützt" +msgstr "fileno() wird von RBD() nicht unterstützt." #, python-format msgid "filesystem %s does not exist in Nexenta Store appliance" @@ -10402,13 +10427,13 @@ "mapping. CMMVC6071E The VDisk-to-host mapping was not created because the " "VDisk is already mapped to a host." msgstr "" -"flashsystem_multihostmap_enabled ist auf 'False' gesetzt, Multi-Host-" -"Zuordnung wird nicht zugelassen. CMMVC6071E Die Zuordnung von virtueller " -"Platte zu Host wurde nicht erstellt, da die virtuelle Platte bereits einem " -"Host zugeordnet ist." +"flashsystem_multihostmap_enabled ist auf 'False' gesetzt, Zuordnung von " +"mehreren Hosts wird nicht zugelassen. CMMVC6071E Die Zuordnung der " +"virtuellen Platte zum Host wurde nicht erstellt, da die virtuelle Platte " +"bereits einem Host zugeordnet ist." msgid "flush() not supported in this version of librbd" -msgstr "flush() wird in dieser Version von librbd nicht unterstützt" +msgstr "flush() wird in dieser Version von librbd nicht unterstützt." #, python-format msgid "fmt=%(fmt)s backed by: %(backing_file)s" @@ -10416,10 +10441,10 @@ #, python-format msgid "fmt=%(fmt)s backed by:%(backing_file)s" -msgstr "fmt=%(fmt)s gesichert durch:%(backing_file)s" +msgstr "fmt=%(fmt)s gesichert durch: %(backing_file)s" msgid "force delete" -msgstr "löschen erzwingen" +msgstr "Löschen erzwingen" msgid "get_hyper_domain_id error." msgstr "get_hyper_domain_id-Fehler." @@ -10463,39 +10488,41 @@ "hgst_group %(grp)s and hgst_user %(usr)s must map to valid users/groups in " "cinder.conf" msgstr "" -"hgst_group %(grp)s und hgst_user %(usr)s müssen in cinder.conf zu gültigen " -"Benutzern/Gruppen zugeordnet werden" +"hgst_group %(grp)s und hgst_user %(usr)s müssen in cinder.conf gültigen " +"Benutzern/Gruppen zugeordnet werden." #, python-format msgid "hgst_net %(net)s specified in cinder.conf not found in cluster" msgstr "" -"hgst_net %(net)s wurde in cinder.conf angegeben, aber in Cluster nicht " -"gefunden" +"hgst_net %(net)s wurde in cinder.conf angegeben, aber im Cluster nicht " +"gefunden." msgid "hgst_redundancy must be set to 0 (non-HA) or 1 (HA) in cinder.conf." msgstr "" -"hgst_redundancy muss in cinder.conf auf 0 (keine HA) oder 1 (HA) festgelegt " +"hgst_redundancy muss in cinder.conf auf 0 (keine HA) oder 1 (HA) gesetzt " "werden." msgid "hgst_space_mode must be an octal/int in cinder.conf" -msgstr "hgst_space_mode muss in cinder.conf eine Oktalzahl/Ganzzahl sein" +msgstr "" +"Der Wert für hgst_space_mode muss in cinder.conf eine Oktalzahl/Ganzzahl " +"sein." #, python-format msgid "hgst_storage server %(svr)s not of format :" msgstr "hgst_storage-Server %(svr)s nicht im Format :" msgid "hgst_storage_servers must be defined in cinder.conf" -msgstr "hgst_storage_servers müssen in cinder.conf definiert werden" +msgstr "hgst_storage_servers müssen in cinder.conf definiert werden." msgid "" "http service may have been abruptly disabled or put to maintenance state in " "the middle of this operation." msgstr "" -"http-Service wurde möglicherweise mitten in dieser Operation abrupt " -"inaktiviert oder in den Wartungsstatus versetzt." +"Der http-Dienst wurde möglicherweise mitten in dieser Operation unerwartet " +"inaktiviert oder in den Wartungsmodus versetzt." msgid "id cannot be None" -msgstr "ID darf nicht 'None' sein" +msgstr "ID darf nicht 'None' sein." #, python-format msgid "image %s not found" @@ -10530,11 +10557,11 @@ #, python-format msgid "invalid user '%s'" -msgstr "ungültiger Benutzer '%s'" +msgstr "Ungültiger Benutzer '%s'" #, python-format msgid "iscsi portal, %s, not found" -msgstr "iSCSI-Portal %s nicht gefunden" +msgstr "iSCSI-Portal %s nicht gefunden." msgid "" "iscsi_ip_address must be set in config file when using protocol 'iSCSI'." @@ -10550,13 +10577,13 @@ msgstr "Schlüsselmanagerfehler: %(reason)s" msgid "keymgr.fixed_key not defined" -msgstr "keymgr.fixed_key nicht bestimmt" +msgstr "keymgr.fixed_key nicht definiert." msgid "limit param must be an integer" -msgstr "'limit'-Parameter muss eine Ganzzahl sein" +msgstr "'limit'-Parameter muss eine Ganzzahl sein." msgid "limit param must be positive" -msgstr "'limit'-Parameter muss positiv sein" +msgstr "'limit'-Parameter muss positiv sein." msgid "" "manage_existing cannot manage a volume connected to hosts. Please disconnect " @@ -10599,23 +10626,22 @@ msgstr "mock" msgid "mount.glusterfs is not installed" -msgstr "mount.glusterfs ist nicht installiert" +msgstr "mount.glusterfs ist nicht installiert." #, python-format msgid "multiple resources with name %s found by drbdmanage" -msgstr "mehrere Ressourcen mit dem Namen %s durch drbdmanage gefunden" +msgstr "Es wurden mehrere Ressourcen mit dem Namen %s von drbdmanage gefunden." #, python-format msgid "multiple resources with snapshot ID %s found" -msgstr "mehrere Ressourcen mit Momentaufnahme-ID %s gefunden" +msgstr "mehrere Ressourcen mit Schattenkopie-ID %s gefunden" msgid "name cannot be None" -msgstr "Name darf nicht 'None' sein" +msgstr "Name darf nicht 'None' sein." #, python-format msgid "naviseccli_path: Could not find NAVISECCLI tool %(path)s." -msgstr "" -"naviseccli_path: NAVISECCLI-Tool %(path)s konnte nicht gefunden werden." +msgstr "naviseccli_path: NAVISECCLI-Tool %(path)s wurde nicht gefunden." #, python-format msgid "no REPLY but %r" @@ -10623,11 +10649,11 @@ #, python-format msgid "no snapshot with id %s found in drbdmanage" -msgstr "keine Momentaufnahme mit ID %s in drbdmanage gefunden" +msgstr "keine Schattenkopie mit ID %s in drbdmanage gefunden" #, python-format msgid "not exactly one snapshot with id %s" -msgstr "nicht genau eine Momentaufnahme mit ID %s" +msgstr "nicht genau eine Schattenkopie mit ID %s" #, python-format msgid "not exactly one volume with id %s" @@ -10641,13 +10667,13 @@ msgstr "open_access_enabled ist nicht ausgeschaltet." msgid "progress must be an integer percentage" -msgstr "Fortschritt muss ein Ganzzahlprozentsatz sein" +msgstr "Fortschritt muss ein Ganzzahlprozentsatz sein." msgid "promote_replica not implemented." msgstr "promote_replica nicht implementiert. " msgid "provider must be defined" -msgstr "Provider muss definiert sein" +msgstr "Provider muss definiert sein." #, python-format msgid "" @@ -10662,19 +10688,19 @@ "qemu-img is not installed and image is of type %s. Only RAW images can be " "used if qemu-img is not installed." msgstr "" -"qemu-img ist nicht installiert und das Image weist den Typ %s auf. Es können " -"nur RAW-Images verwendet werden, wenn qemu-img nicht installiert ist." +"qemu-img ist nicht installiert und das Abbild ist vom Typ %s. Es können nur " +"RAW-Abbilder verwendet werden, wenn qemu-img nicht installiert ist." msgid "" "qemu-img is not installed and the disk format is not specified. Only RAW " "images can be used if qemu-img is not installed." msgstr "" "qemu-img ist nicht installiert und das Plattenformat wurde nicht angegeben. " -"Es können nur RAW-Images verwendet werden, wenn qemu-img nicht installiert " +"Es können nur RAW-Abbilder verwendet werden, wenn qemu-img nicht installiert " "ist." msgid "rados and rbd python libraries not found" -msgstr "rados- und rbd-python-Bibliotheken nicht gefunden" +msgstr "rados- und rbd-python-Bibliotheken nicht gefunden." #, python-format msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" @@ -10705,7 +10731,7 @@ " stderr: %(err)s" msgstr "" "Wiederherstellung: %(vol_id)s konnte DSMC wegen ungültiger Argumente nicht " -"unter %(bpath)s.\n" +"unter %(bpath)s ausführen.\n" "Standardausgabe: %(out)s\n" " Standardfehler: %(err)s" @@ -10737,7 +10763,7 @@ "den Metadaten gespeicherten Liste." msgid "root element selecting a list" -msgstr "Stammelement wählt eine Liste aus" +msgstr "Stammelement wählt eine Liste aus." #, python-format msgid "rtslib_fb is missing member %s: You may need a newer python-rtslib-fb." @@ -10749,7 +10775,7 @@ msgstr "san_ip wurde nicht festgelegt." msgid "san_ip must be set" -msgstr "'san_ip' muss festgelegt sein" +msgstr "'san_ip' muss festgelegt sein." msgid "san_ip: Mandatory field configuration. san_ip is not set." msgstr "san_ip: Konfiguration für Pflichtfeld. san_ip ist nicht festgelegt. " @@ -10758,9 +10784,9 @@ "san_login and/or san_password is not set for Datera driver in the cinder." "conf. Set this information and start the cinder-volume service again." msgstr "" -"san_login und/oder san_password ist für Datera-Treiber in der cinder.conf " -"nicht festgelegt. Legen Sie diese Informationen fest und starten Sie den " -"cinder-volume-Service erneut." +"san_login und/oder san_password sind für den Datera-Treiber in der Datei " +"cinder.conf nicht festgelegt. Legen Sie diese Informationen fest und starten " +"Sie den Cinder-Datenträgerdienst erneut." msgid "serve() can only be called once" msgstr "serve() kann nur einmal aufgerufen werden." @@ -10769,11 +10795,11 @@ msgstr "Dienst nicht gefunden" msgid "snapshot does not exist" -msgstr "Momentaufnahme ist nicht vorhanden" +msgstr "Schattenkopie ist nicht vorhanden" #, python-format msgid "snapshot id:%s not found" -msgstr "Momentaufnahme-ID %s nicht gefunden" +msgstr "Schattenkopie-ID %s nicht gefunden" #, python-format msgid "snapshot-%s" @@ -10791,7 +10817,7 @@ #, python-format msgid "source volume id:%s is not replicated" -msgstr "Quellendatenträger-ID %s wird nicht repliziert" +msgstr "Quellendatenträger-ID: %s wird nicht repliziert." msgid "source-name cannot be empty." msgstr "'source-name' darf nicht leer sein." @@ -10799,20 +10825,20 @@ msgid "source-name format should be: 'vmdk_path@vm_inventory_path'." msgstr "" "Das Format für 'source-name' muss wie folgt lauten: " -"'vmdk_Pfad@vm_Inventarpfad'." +"'vmdk_path@vm_inventory_path'." #, python-format msgid "status must be %s and" msgstr " Status muss %s sein und " msgid "status must be available" -msgstr "Status muss 'available' sein" +msgstr "Status muss 'available' sein." msgid "stop_hypermetro error." msgstr "stop_hypermetro-Fehler." msgid "subclasses must implement construct()!" -msgstr "Unterklassen müssen Konstrukt () implementieren!" +msgstr "Unterklassen müssen construct() implementieren!" msgid "sudo failed, continuing as if nothing happened" msgstr "sudo fehlgeschlagen, Vorgang wird fortgesetzt" @@ -10835,14 +10861,14 @@ msgstr "terminate_connection: Fehler beim Abrufen von Hostname von Connector." msgid "timeout creating new_volume on destination host" -msgstr "Zeitlimitüberschreitung beim Erstellen von new_volume auf Zielhost" +msgstr "Zeitlimitüberschreitung beim Erstellen von new_volume auf Zielhost." msgid "too many body keys" msgstr "zu viele Textschlüssel" #, python-format msgid "umount: %s: not mounted" -msgstr "umount: %s: nicht eingehängt" +msgstr "Abhängen: %s: nicht eingehängt" #, python-format msgid "umount: %s: target is busy" @@ -10879,11 +10905,11 @@ msgstr "Virtuelle Platte %s ist nicht definiert." msgid "vmemclient python library not found" -msgstr "vmemclient-python-Bibliothek nicht gefunden" +msgstr "vmemclient-python-Bibliothek nicht gefunden." #, python-format msgid "volume %s not found in drbdmanage" -msgstr "Datenträger %s in drbdmanage nicht gefunden" +msgstr "Datenträger %s in drbdmanage nicht gefunden." msgid "volume assigned" msgstr "Datenträger zugeordnet" @@ -10892,36 +10918,36 @@ msgstr "Datenträger geändert" msgid "volume does not exist" -msgstr "Datenträger ist nicht vorhanden" +msgstr "Datenträger ist nicht vorhanden." msgid "volume is already attached" -msgstr "Datenträger ist bereits angehängt" +msgstr "Datenträger ist bereits angehängt." msgid "volume is not local to this node" -msgstr "Datenträger ist nicht lokal auf diesem Knoten" +msgstr "Der Datenträger ist für diesen Knoten nicht lokal." #, python-format msgid "" "volume size %(volume_size)d is too small to restore backup of size %(size)d." msgstr "" -"Datenträgergröße %(volume_size)d ist zu klein zum Wiederherstellen von " -"Sicherung der Größe %(size)d." +"Die Größe des Datenträgers %(volume_size)d ist zu klein zum Wiederherstellen " +"einer Sicherung der Größe %(size)d." #, python-format msgid "volume size %d is invalid." -msgstr "Datenträgergröße %d ist ungültig." +msgstr "Die Datenträgergröße %d ist ungültig." msgid "volume_type cannot be None" -msgstr "'volume_type' darf nicht 'None' sein" +msgstr "'volume_type' darf nicht 'None' sein." msgid "" "volume_type must be provided when creating a volume in a consistency group." msgstr "" "volume_type muss beim Erstellen eines Datenträgers in einer Konsistenzgruppe " -"angegeben sein." +"angegeben werden." msgid "volume_type_id cannot be None" -msgstr "volume_type_id darf nicht 'None' sein" +msgstr "volume_type_id darf nicht 'None' sein." #, python-format msgid "volume_types must be provided to create consistency group %(name)s." diff -Nru cinder-8.0.0/cinder/locale/es/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/es/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/es/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/es/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -6,21 +6,16 @@ # Eduardo Gonzalez Gutierrez , 2015 # FIRST AUTHOR , 2011 # Jose Enrique Ruiz Navarro , 2014 -# Eduardo Gonzalez Gutierrez , 2015. #zanata -# OpenStack Infra , 2015. #zanata -# Tom Cocozzello , 2015. #zanata -# Andreas Jaeger , 2016. #zanata # Eugènia Torrella , 2016. #zanata -# Tom Cocozzello , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev24\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-27 07:54+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-27 07:57+0000\n" +"PO-Revision-Date: 2016-05-09 08:32+0000\n" "Last-Translator: Eugènia Torrella \n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -74,7 +69,7 @@ "result: %(res)s." msgstr "" "%(err)s\n" -"Resultado: %(res)s." +"resultado: %(res)s." #, python-format msgid "%(error_message)s" @@ -148,9 +143,10 @@ "unexpected mode. Image or file backups supported, actual mode is " "%(vol_mode)s." msgstr "" -"%(op)s: copia de seguridad %(bck_id)s, volumen %(vol_id)s ha fallado. El " -"objeto de copia de seguridad tiene una modalidad inesperada. Se soportan las " -"copias de seguridad de imagen o archivo, la modalidad real es %(vol_mode)s." +"%(op)s: ha fallado la copia de seguridad fr %(bck_id)s, volumen %(vol_id)s. " +"El objeto de copia de seguridad tiene una modalidad inesperada. Se admiten " +"copias de seguridad de imagen o de archivo, la modalidad real es " +"%(vol_mode)s." #, python-format msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" @@ -215,7 +211,7 @@ #, python-format msgid "%s is not a string or unicode" -msgstr "%s no es una serie o unicode" +msgstr "%s no es una cadena ni es unicode" #, python-format msgid "%s is not installed" @@ -232,7 +228,7 @@ #, python-format msgid "%s is not set and is required for the replication device to be valid." msgstr "" -"%s no está definido y es necesario para que el dispositivo de replicación " +"%s no está establecido y es necesario para que el dispositivo de replicación " "sea válido." #, python-format @@ -268,7 +264,7 @@ "de configuración. Los valores válidos son %(enabled)s." msgid "'active' must be present when writing snap_info." -msgstr "'activo' debe estar presente al escribir snap_info." +msgstr "'active' debe estar presente al escribir snap_info." msgid "'consistencygroup_id' must be specified" msgstr "Es necesario especificar el 'consistencygroup_id'" @@ -304,13 +300,14 @@ msgid "" "A free LUN (HLUN) was not found. Add a different host group. (LDEV: %(ldev)s)" msgstr "" -"No se ha encontrado un LUN (HLUN) libre. Añada un grupo de host diferente. " +"No se ha encontrado un LUN (HLUN) libre. Añada un grupo de hosts diferente. " "(LDEV: %(ldev)s)" #, python-format msgid "A host group could not be added. (port: %(port)s, name: %(name)s)" msgstr "" -"No se ha podido añadir un grupo de host. (puerto: %(port)s, nombre: %(name)s)" +"No se ha podido añadir un grupo de hosts. (puerto: %(port)s, nombre: " +"%(name)s)" #, python-format msgid "" @@ -322,7 +319,7 @@ #, python-format msgid "A host group is invalid. (host group: %(gid)s)" -msgstr "Un grupo de host no es válido. (grupo de host: %(gid)s)" +msgstr "Un grupo de hosts no es válido. (grupo de hosts: %(gid)s)" #, python-format msgid "A pair cannot be deleted. (P-VOL: %(pvol)s, S-VOL: %(svol)s)" @@ -366,15 +363,15 @@ #, python-format msgid "API %(name)s failed with error string %(err)s" -msgstr "La API %(name)s ha fallado con serie de error %(err)s" +msgstr "La API %(name)s ha fallado con la cadena de error %(err)s" #, python-format msgid "" "API Version String %(version)s is of invalid format. Must be of format " "MajorNum.MinorNum." msgstr "" -"La cadena de la versión de la API %(version)s tiene un formato no válido. " -"Debe ser un formato MajorNum.MinorNum." +"La cadena de la versión de la API %(version)s tiene un formato no válido. El " +"formato debe ser MajorNum.MinorNum." msgid "API key is missing for CloudByte driver." msgstr "Falta la clave de API para el controlador CloudByte." @@ -417,19 +414,19 @@ msgstr "Error al añadir el iniciador fc a la matriz." msgid "Add initiator to array error." -msgstr "Error al añadir el iniciar a la matriz." +msgstr "Error al añadir el iniciador a la matriz." msgid "Add lun to cache error." -msgstr "Error al añadir lun a la caché." +msgstr "Error al añadir un lun a la caché." msgid "Add lun to partition error." -msgstr "Error al añadir lun a la partición." +msgstr "Error al añadir un lun a la partición." msgid "Add mapping view error." msgstr "Error al añadir la vista de correlaciones." msgid "Add new host error." -msgstr "Error al añadir host nuevo." +msgstr "Error al añadir un host nuevo." msgid "Add port to port group error." msgstr "Error al añadir el puerto al grupo de puertos." @@ -449,10 +446,10 @@ #, python-format msgid "An error has occured in SheepdogDriver. (Reason: %(reason)s)" -msgstr "Se ha producido un error en SheepdogDriver. (Razón: %(reason)s)" +msgstr "Se ha producido un error en SheepdogDriver. (Motivo: %(reason)s)" msgid "An error has occurred during backup operation" -msgstr "Un error ha ocurrido durante la operación de copia de seguridad" +msgstr "Se ha producido un error durante la operación de copia de seguridad" #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." @@ -497,7 +494,7 @@ "reason: %(reason)s)" msgstr "" "No se ha podido añadir un destino de iSCSI. (puerto: %(port)s, alias: " -"%(alias)s, razón: %(reason)s)" +"%(alias)s, motivo: %(reason)s)" #, python-format msgid "" @@ -508,7 +505,7 @@ "%(tno)s, alias: %(alias)s)" msgid "An unknown exception occurred." -msgstr "Una excepción desconocida ha ocurrido" +msgstr "Se ha producido una excepción desconocida" msgid "" "An user with a token scoped to a subproject is not allowed to see the quota " @@ -535,7 +532,7 @@ "%s." msgid "Associate host to hostgroup error." -msgstr "Error al asociar host con el grupo de host." +msgstr "Error al asociar el host al grupo de hosts." msgid "Associate host to mapping view error." msgstr "Error al asociar el host con la vista de correlaciones." @@ -560,13 +557,13 @@ #, python-format msgid "Attempt to transfer %s with invalid auth key." -msgstr "Intento de transferir %s con clave de aut no válida." +msgstr "Intento de transferir %s con clave de autenticación no válida." #, python-format msgid "Auth group [%s] details not found in CloudByte storage." msgstr "" "No se han encontrado detalles del grupo de autenticación [%s] en el " -"almacenamiento CloudByte." +"almacenamiento de CloudByte." msgid "Auth user details not found in CloudByte storage." msgstr "" @@ -597,7 +594,7 @@ "version." msgstr "" "Las especificaciones QoS de programa de fondo no se admiten en esta familia " -"de almacenamiento y versión ONTAP ." +"de almacenamiento y versión ONTAP." #, python-format msgid "Backend doesn't exist (%(backend)s)" @@ -647,15 +644,15 @@ #, python-format msgid "Backup driver reported an error: %(message)s" -msgstr "Driver de copia de seguridad ha reportado un error: %(message)s" +msgstr "" +"El controlador de copia de seguridad ha reportado un error: %(message)s" msgid "Backup id required" msgstr "Se necesita una copia de seguridad" msgid "Backup is not supported for GlusterFS volumes with snapshots." msgstr "" -"No se soporta la copia de seguridad para volúmenes GlusterFS con " -"instantáneas." +"No se admite la copia de seguridad para volúmenes GlusterFS con instantáneas." msgid "Backup is only supported for SOFS volumes without backing file." msgstr "" @@ -664,7 +661,7 @@ msgid "Backup is only supported for raw-formatted GlusterFS volumes." msgstr "" -"La copia de seguridad solo se soporta para volúmenes GlusterFS con formato " +"Solo se admite la a copia de seguridad para volúmenes GlusterFS con formato " "raw." msgid "Backup is only supported for raw-formatted SOFS volumes." @@ -695,26 +692,24 @@ #, python-format msgid "Backup should only have one snapshot but instead has %s" -msgstr "" -"La copia de seguridad solo debe tener una instantánea pero en lugar de ello " -"tiene %s" +msgstr "La copia de seguridad solo puede tener una instantánea y tiene %s" msgid "Backup status must be available" -msgstr "El estado de la copia de seguridad debe ser available" +msgstr "El estado de la copia de seguridad debe ser 'disponible'" #, python-format msgid "Backup status must be available and not %s." msgstr "El estado de copia de seguridad debe ser disponible y no %s." msgid "Backup status must be available or error" -msgstr "El estado de la copia de seguridad debe ser available o error" +msgstr "El estado de la copia de seguridad debe ser disponible o error" msgid "Backup to be restored has invalid size" -msgstr "La copia de seguridad que restaurar tiene un tamaño no válido" +msgstr "La copia de seguridad a restaurar tiene un tamaño no válido" #, python-format msgid "Bad Status line returned: %(arg)s." -msgstr "Se ha devuelto una línea de estado errónea: %(arg)s." +msgstr "Se ha devuelto una línea de Estado erróneo: %(arg)s." #, python-format msgid "Bad key(s) in quota set: %s" @@ -755,21 +750,24 @@ msgstr "Componentes en blanco" msgid "Blockbridge API authentication scheme (token or password)" -msgstr "Esquema de autenticación de API Blockbridge (señal o contraseña)" +msgstr "Esquema de autenticación de la API de Blockbridge (señal o contraseña)" msgid "Blockbridge API password (for auth scheme 'password')" msgstr "" -"Contraseña de API Blockbridge (para esquema de autenticación 'password')" +"Contraseña de la API de Blockbridge (para el esquema de autenticación " +"'password')" msgid "Blockbridge API token (for auth scheme 'token')" -msgstr "Señal de API Blockbridge (para el esquema de autenticación 'token')" +msgstr "" +"Señal de la API de Blockbridge (para el esquema de autenticación 'token')" msgid "Blockbridge API user (for auth scheme 'password')" msgstr "" -"Usuario de API Blockbridge (para el esquema de autenticación 'password')" +"Usuario de la API de Blockbridge (para el esquema de autenticación " +"'password')" msgid "Blockbridge api host not configured" -msgstr "No se ha configurado el host de API Blockbridge" +msgstr "No se ha configurado el host de la API de Blockbridge" #, python-format msgid "Blockbridge configured with invalid auth scheme '%(auth_scheme)s'" @@ -791,13 +789,13 @@ msgid "Blockbridge token not configured (required for auth scheme 'token')" msgstr "" -"Señal Blockbridge no configurada (obligatoria para el esquema de " +"Señal de Blockbridge no configurada (obligatoria para el esquema de " "autenticación 'token')" msgid "Blockbridge user not configured (required for auth scheme 'password')" msgstr "" -"Usuario de API Blockbridge no configurado (obligatorio para el esquema de " -"autenticación 'password')" +"No se ha configurado el usuario de la API de Blockbridge (obligatorio para " +"el esquema de autenticación 'password')" #, python-format msgid "Brocade Fibre Channel Zoning CLI error: %(reason)s" @@ -856,7 +854,7 @@ msgid "Cache name is None, please set smartcache:cachename in key." msgstr "" -"El nombre de caché es Ninguno, establezca smartcache:cachename en clave." +"El nombre de caché es None, establezca smartcache:cachename en la clave." #, python-format msgid "Cache volume %(cache_vol)sdoes not have snapshot %(cache_snap)s." @@ -903,7 +901,7 @@ #, python-format msgid "Can't extend replication volume, volume: %(id)s" -msgstr "No se puede extender el volumen de replicación, volumen: %(id)s" +msgstr "No se puede ampliar el volumen de replicación, volumen: %(id)s" msgid "Can't find LUN on the array, please check the source-name or source-id." msgstr "" @@ -917,11 +915,6 @@ "memoria caché es: %(name)s." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "" -"No se puede encontrar el ID de lun en la base de datos, volumen: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "No se puede encontrar la información del LUN en la matriz. Volumen: %(id)s, " @@ -1061,7 +1054,7 @@ "volume does not exist." msgstr "" "No se puede añadir el volumen %(volume_id)s al grupo %(group_id)s debido a " -"el volumen no existe." +"que el volumen no existe." #, python-format msgid "" @@ -1078,7 +1071,7 @@ "volume type %(volume_type)s is not supported by the group." msgstr "" "No se puede añadir el volumen %(volume_id)s al grupo %(group_id)s debido a " -"que el grupo no soporta el tipo de volumen %(volume_type)s." +"que el grupo no admite este tipo de volumen %(volume_type)s." #, python-format msgid "" @@ -1275,8 +1268,8 @@ msgid "Cannot get necessary pool or storage system information." msgstr "" -"No se puede obtener la información del sistema de almacenamiento o " -"agrupación necesaria" +"No se puede obtener la información necesaria de la agrupación o del sistema " +"de almacenamiento" #, python-format msgid "" @@ -1324,7 +1317,7 @@ msgstr "No se puede montar Scality SOFS, compruebe syslog por si hay errores" msgid "Cannot ping DRBDmanage backend" -msgstr "No se puede realizar ping en el programa de fondo DRBDmanage" +msgstr "No se puede hacer ping en el programa de fondo DRBDmanage" #, python-format msgid "Cannot place volume %(id)s on %(host)s" @@ -1367,7 +1360,7 @@ msgstr "No se puede reescribir de HPE3PARDriver a %s." msgid "Cannot retype from one 3PAR array to another." -msgstr "No se puede volver a escribir de una matriz de 3PAR a otra." +msgstr "No se puede reescribir de una matriz de 3PAR a otra." msgid "Cannot retype to a CPG in a different domain." msgstr "No se puede volver a escribir en un CPG en un dominio diferente." @@ -1382,7 +1375,7 @@ "permissions are set properly." msgstr "" "No se puede ejecutar el mandato vgc-cluster, asegúrese de que el software se " -"haya instalado y que los permisos se hayan configurado correctamente." +"haya instalado y de que los permisos se hayan configurado correctamente." msgid "Cannot set both hitachi_serial_number and hitachi_unit_name." msgstr "" @@ -1396,7 +1389,7 @@ msgid "Cannot specify both storage pool name and storage pool id." msgstr "" "No se puede especificar el nombre de agrupación de almacenamiento y el ID de " -"agrupación de almacenamiento." +"agrupación de almacenamiento a la vez." #, python-format msgid "" @@ -1404,7 +1397,8 @@ "description, add_volumes, or remove_volumes were provided." msgstr "" "No se puede actualizar el grupo de consistencia %(group_id)s porque no se " -"han proporcionado nombre, descripción, add_volumes o remove_volumes válidos." +"han proporcionado valores válidos para nombre, descripción, add_volumes o " +"remove_volumes." msgid "Cannot update encryption specs. Volume type in use." msgstr "" @@ -1413,7 +1407,7 @@ #, python-format msgid "Cannot update volume_type %(id)s" -msgstr "No se puede actualizar volume_type (tipo de volumen): %(id)s" +msgstr "No se puede actualizar el volume_type %(id)s" #, python-format msgid "Cannot verify the existence of object:%(instanceName)s." @@ -1454,7 +1448,7 @@ "este controlador." msgid "Check hostgroup associate error." -msgstr "Error al comprobar la asociación del grupo de host." +msgstr "Error al comprobar la asociación del grupo de hosts." msgid "Check initiator added to array error." msgstr "Error al comprobar el iniciador añadido a la matriz." @@ -1570,7 +1564,7 @@ #, python-format msgid "Connection to glance failed: %(reason)s" -msgstr "Conexión a glance falló: %(reason)s" +msgstr "Ha fallado la conexión a glance: %(reason)s" #, python-format msgid "Connection to swift failed: %(reason)s" @@ -1604,14 +1598,14 @@ "Consistency group status must be available or error, but current status is: " "%s" msgstr "" -"El estado del grupo de consistencia debe ser disponible o error, pero el " -"estado actual es:%s" +"El estado del grupo de consistencia debe ser disponible o error, sin " +"embargo, el estado actual es:%s" #, python-format msgid "Consistency group status must be available, but current status is: %s." msgstr "" -"El estado del grupo de consistencia debe estar disponible, pero el estado " -"actual es: %s" +"El estado del grupo de consistencia debe estar disponible, sin embargo, el " +"estado actual es: %s" #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." @@ -1625,11 +1619,12 @@ "Container format: %s is unsupported by the VMDK driver, only 'bare' is " "supported." msgstr "" -"Formato de contenedor: el controlador VMDK no da soporte a %s, sólo 'bare' " -"se admite." +"Formato de contenedor: el controlador VMDK no da soporte a %s, sólo se " +"admite 'bare'." msgid "Container size smaller than required file size." -msgstr "Tamaño de contenedor menor que tamaño de archivo necesario." +msgstr "" +"El tamaño del contenedor es menor que el tamaño de archivo obligatorio." msgid "Content type not supported." msgstr "Tipo de contenido no soportado." @@ -1637,7 +1632,7 @@ #, python-format msgid "Controller Configuration Service not found on %(storageSystemName)s." msgstr "" -"El servicio de configuración de controlador no se ha encontrado en " +"No se ha encontrado el servicio de configuración de controlador en " "%(storageSystemName)s." #, python-format @@ -1689,7 +1684,7 @@ "'backup_swift_auth_url'." msgstr "" "No se ha podido determinar qué punto final Keystone debe utilizarse. Puede " -"establecerse en el catálogo de servicio o con la opción de configuración " +"establecerse en el catálogo de servicio o con la opción de configuración de " "cinder.conf 'backup_swift_url'." msgid "" @@ -1697,7 +1692,7 @@ "the service catalog or with the cinder.conf config option 'backup_swift_url'." msgstr "" "No se ha podido determinar qué punto final Swift debe utilizarse. Puede " -"establecerse en el catálogo de servicio o con la opción de configuración " +"establecerse en el catálogo de servicio o con la opción de configuración de " "cinder.conf 'backup_swift_url'." msgid "Could not find DISCO wsdl file." @@ -1720,7 +1715,7 @@ #, python-format msgid "Could not find config at %(path)s" -msgstr "No se ha podido encontrar configuración en %(path)s" +msgstr "No se ha podido encontrar la configuración en %(path)s" #, python-format msgid "Could not find iSCSI export for volume %(volumeName)s." @@ -1829,14 +1824,14 @@ "imagen %(image)s ." msgid "Create export for volume failed." -msgstr "Error al crear la exportación de volumen." +msgstr "Error al crear la exportación del volumen." msgid "Create hostgroup error." -msgstr "Error al crear el grupo de host." +msgstr "Error al crear el grupo de hosts." #, python-format msgid "Create hypermetro error. %s." -msgstr "Error al crear el hypermetro. %s." +msgstr "Error al crear el hipermetro. %s." msgid "Create lun error." msgstr "Error al crear el LUN." @@ -1845,13 +1840,13 @@ msgstr "Error al crear la migración de lun." msgid "Create luncopy error." -msgstr "Error de crear luncopy." +msgstr "Error al crear luncopy." msgid "Create lungroup error." msgstr "Error al crear el grupo de LUN." msgid "Create manager volume flow failed." -msgstr "Error al crear un flujo de volumen de gestor." +msgstr "Error al crear el flujo del volumen de gestor." msgid "Create port group error." msgstr "Error al crear el grupo de puertos." @@ -1864,14 +1859,14 @@ msgstr "Crear par de replicación ha fallado. Error: %s." msgid "Create snapshot error." -msgstr "Error crear instantánea." +msgstr "Error al crear la instantánea." #, python-format msgid "Create volume error. Because %s." -msgstr "Error al crear volumen. Razón: %s." +msgstr "Error al crear el volumen. Motivo: %s." msgid "Create volume failed." -msgstr "La creación de volumen ha fallado." +msgstr "Ha fallado la creación del volumen." msgid "Creating a consistency group from a source is not currently supported." msgstr "" @@ -1883,7 +1878,7 @@ "Creating and activating zone set failed: (Zone set=%(cfg_name)s error=" "%(err)s)." msgstr "" -"Han fallado la creación y activación del conjunto de zonas: (Zone set=" +"Ha fallado la creación y activación del conjunto de zonas: (Zone set=" "%(cfg_name)s error=%(err)s)." #, python-format @@ -1936,7 +1931,7 @@ "not found." msgstr "" "Error de configuración de controlador DRBDmanage: algunas bibliotecas " -"obligatorias (dbus, drbdmanage.*) no encontradas." +"obligatorias (dbus, drbdmanage.*) no se han encontrado." #, python-format msgid "DRBDmanage expected one resource (\"%(res)s\"), got %(n)d" @@ -1963,8 +1958,8 @@ "DRBDmanage timeout waiting for volume creation; resource \"%(res)s\", volume " "\"%(vol)s\"" msgstr "" -"Tiempo de espera excedido para DRBDmanage esperando la creación del volumen; " -"recurso \"%(res)s\", volumen \"%(vol)s\"" +"Tiempo de espera excedido para DRBDmanage al esperar la creación del " +"volumen; recurso \"%(res)s\", volumen \"%(vol)s\"" #, python-format msgid "" @@ -2057,7 +2052,7 @@ msgstr "Ha fallado la supresión del grupo de consistencia." msgid "Delete hostgroup error." -msgstr "Error al suprimir el grupo de host." +msgstr "Error al suprimir el grupo de hosts." msgid "Delete hostgroup from mapping view error." msgstr "Error al suprimir el grupo de host de la vista de correlaciones." @@ -2088,7 +2083,8 @@ #, python-format msgid "Delete snapshot of volume not supported in state: %s." -msgstr "La supresión de instantánea del volumen no se soporta en estado: %s." +msgstr "" +"No se admite suprimir instantáneas del volumen cuando el estado es: %s." #, python-format msgid "" @@ -2107,7 +2103,8 @@ msgid "Dell API 2.1 or later required for Consistency Group support" msgstr "" -"Dell API 2.1 o superior necesario para soporte del grupo de consistencia." +"Se requiere Dell API 2.1 o superior para el soporte para grupos de " +"consistencia." msgid "" "Dell Cinder driver configuration error replication not supported with direct " @@ -2126,7 +2123,7 @@ msgstr "Despliegue la v3 de la API de Cinder." msgid "Describe-resource is admin only functionality" -msgstr "El recurso de descripción es funcionalidad sólo de administrador" +msgstr "El recurso de descripción es funcionalidad sólo del administrador" #, python-format msgid "Destination has migration_status %(stat)s, expected %(exp)s." @@ -2136,14 +2133,14 @@ msgstr "El host de destino debe ser diferente del host actual." msgid "Destination volume not mid-migration." -msgstr "El volumen de destino no mid-migration." +msgstr "El volumen de destino no es mid-migration." msgid "" "Detach volume failed: More than one attachment, but no attachment_id " "provided." msgstr "" -"Error al desconectar el volumen: más de una conexión, pero ningún " -"attachment_id proporcionado." +"Error al desconectar el volumen: se ha proporcionado más de una conexión, " +"pero ningún attachment_id." msgid "Detach volume from instance and then try again." msgstr "Desconecte el volumen de la instancia y vuelva a intentarlo." @@ -2195,8 +2192,8 @@ "Driver successfully decoded imported backup data, but there are missing " "fields (%s)." msgstr "" -"El controlador ha decodificado correctamente los datos de la copia de " -"seguridad importados, pero faltan campos (%s)." +"El controlador ha decodificado correctamente los datos de copia de seguridad " +"importados, pero faltan campos (%s)." #, python-format msgid "" @@ -2244,7 +2241,7 @@ "error statement for valid values." msgstr "" "El SLO: %(slo)s o la carga de trabajo %(workload)s no son válidos. Examine " -"sentencias de error anteriores para valores válidos." +"sentencias de error anteriores para saber los valores válidos." msgid "Either hitachi_serial_number or hitachi_unit_name is required." msgstr "Se necesita hitachi_serial_number o hitachi_unit_name." @@ -2252,7 +2249,7 @@ #, python-format msgid "Element Composition Service not found on %(storageSystemName)s." msgstr "" -"El servicio de composición de elementos no se ha encontrado en " +"No se ha encontrado el servicio de composición de elementos en " "%(storageSystemName)s" msgid "Enables QoS." @@ -2310,8 +2307,8 @@ "Error Create Cloned Volume: Volume: %(cloneName)s Source Volume:" "%(sourceName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Error al crear el volumen clonado: Volumen: %(cloneName)s Origen Volumen: " -"%(sourceName)s. Código de retorno: %(rc)lu. Error: %(error)s." +"Error al crear el volumen clonado: Volumen: %(cloneName)s Volumen de " +"origen: %(sourceName)s. Código de retorno: %(rc)lu. Error: %(error)s." #, python-format msgid "" @@ -2516,7 +2513,7 @@ msgid "" "Error Extend Volume: %(volumeName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Error al extender el volumen: %(volumeName)s. Código de retorno: %(rc)lu. " +"Error al ampliar el volumen: %(volumeName)s. Código de retorno: %(rc)lu. " "Error: %(error)s." #, python-format @@ -2711,7 +2708,7 @@ "%(syncName)s Código de retorno: %(rc)lu. Error: %(error)s." msgid "Error connecting to ceph cluster." -msgstr "Error al conectarse con un clúster ceph." +msgstr "Error al establecer conexión con un clúster ceph." #, python-format msgid "Error connecting via ssh: %s" @@ -2734,7 +2731,7 @@ #, python-format msgid "Error during evaluator parsing: %(reason)s" -msgstr "Error durante el análisis de evaluador: %(reason)s" +msgstr "Error durante el análisis del evaluador: %(reason)s" #, python-format msgid "" @@ -2774,7 +2771,7 @@ #, python-format msgid "Error extending volume: %(reason)s" -msgstr "Error al extender volumen: %(reason)s" +msgstr "Error al ampliar el volumen: %(reason)s" #, python-format msgid "Error finding %(name)s." @@ -2809,7 +2806,7 @@ "Error al obtener el ID de dominio a partir del nombre %(name)s: %(id)s." msgid "Error getting initiator groups." -msgstr "Error al obtener los grupos de iniciador." +msgstr "Error al obtener los grupos de iniciadores." #, python-format msgid "Error getting pool id from name %(pool)s: %(err)s." @@ -2930,7 +2927,7 @@ msgstr "Error al analizar el archivo de configuración: %s" msgid "Error promoting secondary volume to primary" -msgstr "Error al promocionar el volumen secundario al primario" +msgstr "Error al promocionar el volumen secundario a primario" #, python-format msgid "Error removing volume %(vol)s. %(error)s." @@ -2945,7 +2942,7 @@ msgstr "Respuesta de tipo error: %s" msgid "Error retrieving volume size" -msgstr "Error al recuperar el tamaño de volumen" +msgstr "Error al recuperar el tamaño del volumen" #, python-format msgid "" @@ -3005,7 +3002,7 @@ #, python-format msgid "Error while checking transaction status: %s" -msgstr "Error al comprobar estado de transacción: %s" +msgstr "Error al comprobar el estado de transacción: %s" #, python-format msgid "Error while checking whether VF is available for management %s." @@ -3042,7 +3039,7 @@ #, python-format msgid "Error while extending volume [status] %(stat)s - [result] %(res)s." -msgstr "Error al extender el volumen [estado] %(stat)s - [resultado] %(res)s." +msgstr "Error al ampliar el volumen [estado] %(stat)s - [resultado] %(res)s." #, python-format msgid "Error while getting %(op)s details, returned code: %(status)s." @@ -3160,7 +3157,7 @@ #, python-format msgid "Expected exactly one node called \"%s\"" -msgstr "Se esperaba exactamente un volumen denominado \"%s\"" +msgstr "Se esperaba exactamente un nodo denominado \"%s\"" #, python-format msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s." @@ -3183,7 +3180,7 @@ #, python-format msgid "Expected volume size was %d" -msgstr "El tamaño de volumen esperado era %d" +msgstr "Se esperaba un tamaño de volumen de %d" #, python-format msgid "" @@ -3215,7 +3212,7 @@ "existen instantáneas." msgid "Extend volume not implemented" -msgstr "Ampliar el volumen no se ha implementado" +msgstr "No se ha implementado la opción de ampliar un volumen" msgid "" "FAST VP Enabler is not installed. Can't set tiering policy for the volume" @@ -3266,7 +3263,7 @@ #, python-format msgid "Failed removing connection for fabric=%(fabric)s: Error: %(err)s" msgstr "" -"No se ha podido eliminar conexión para tejido=%(fabric)s: Error:%(err)s" +"No se ha podido eliminar la conexión para el tejido=%(fabric)s: Error:%(err)s" #, python-format msgid "Failed to Extend Volume %(volname)s" @@ -3278,7 +3275,7 @@ msgid "Failed to access active zoning configuration." msgstr "" -"No se ha podido acceder a configuración de distribución en zonas activa." +"No se ha podido acceder a la configuración de distribución en zonas activa." #, python-format msgid "Failed to access zoneset status:%s" @@ -3309,7 +3306,7 @@ "%(cgName)s. Código de retorno: %(rc)lu. Error: %(error)s." msgid "Failed to add zoning configuration." -msgstr "No se ha podido añadir configuración de distribución en zonas." +msgstr "No se ha podido añadir la configuración de distribución en zonas." #, python-format msgid "" @@ -3326,13 +3323,13 @@ #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." msgstr "" -"Se ha encontrado un error en al conectar el destino iSCSI para el volumen " +"Se ha encontrado un error al conectar el destino iSCSI para el volumen " "%(volume_id)s." #, python-format msgid "Failed to backup volume metadata - %s" msgstr "" -"No se ha podido realizar la copia de seguridad de los metadatos de volumen - " +"No se ha podido realizar la copia de seguridad de los metadatos de volumen: " "%s" #, python-format @@ -3340,8 +3337,8 @@ "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" msgstr "" -"No se ha podido hacer copia de seguridad de metadatos de volumen - Objeto de " -"copia de seguridad de metadatos 'backup.%s.meta' ya existe" +"No se ha podido hacer copia de seguridad de los metadatos del volumen - El " +"objeto de copia de seguridad de metadatos 'backup.%s.meta' ya existe" #, python-format msgid "Failed to clone volume from snapshot %s." @@ -3352,7 +3349,7 @@ msgstr "No se ha podido conectar a %(vendor_name)s Matriz %(host)s: %(err)s" msgid "Failed to connect to Dell REST API" -msgstr "No se ha podido conectar con la API REST de Dell" +msgstr "No se ha podido establecer conexión con la API REST de Dell" msgid "Failed to connect to array" msgstr "No se ha podido conectar a la matriz" @@ -3365,11 +3362,11 @@ #, python-format msgid "Failed to copy image to volume: %(reason)s" -msgstr "Copiar la imagen al volumen ha fallado: %(reason)s" +msgstr "No se ha podido copiar la imagen al volumen: %(reason)s" #, python-format msgid "Failed to copy metadata to volume: %(reason)s" -msgstr "No se ha podido copiar los metadatos a volumen: %(reason)s" +msgstr "No se han podido copiar los metadatos al volumen: %(reason)s" msgid "Failed to copy volume, destination device unavailable." msgstr "Error al copiar el volumen, dispositivo de destino no disponible." @@ -3402,7 +3399,7 @@ #, python-format msgid "Failed to create a temporary snapshot for volume %s." -msgstr "No se ha podido crear una instantánea temporal para el volumen %s." +msgstr "No se ha podido crear una instantánea temporal del volumen %s." msgid "Failed to create api volume flow." msgstr "No se ha podido crear flujo de volumen de la API." @@ -3458,7 +3455,7 @@ #, python-format msgid "Failed to create hostgroup: %(name)s. Check if it exists on the array." msgstr "" -"No se ha podido crear el grupo de host: %(name)s. Compruebe si existe en la " +"No se ha podido crear el grupo de hosts: %(name)s. Compruebe si existe en la " "matriz." msgid "Failed to create iqn." @@ -3471,14 +3468,14 @@ "%(volume_id)s." msgid "Failed to create manage existing flow." -msgstr "No se ha podido crear la gestión del flujo existente." +msgstr "No se ha podido crear la gestión de flujo existente." msgid "Failed to create manage_existing flow." msgstr "No se ha podido crear el flujo manage_existing." msgid "Failed to create map on mcs, no channel can map." msgstr "" -"No se ha podido crear la correlación en mcs, ningún canal se puede " +"No se ha podido crear la correlación en mcs, ningún canal puede " "correlacionar." msgid "Failed to create map." @@ -3486,20 +3483,21 @@ #, python-format msgid "Failed to create metadata for volume: %(reason)s" -msgstr "No se ha podido crear los metadatos para volumen: %(reason)s" +msgstr "No se han podido crear los metadatos para volumen: %(reason)s" msgid "Failed to create partition." msgstr "No se ha podido crear la partición." #, python-format msgid "Failed to create qos_specs: %(name)s with specs %(qos_specs)s." -msgstr "Error al crear qos_specs: %(name)s con especificaciones %(qos_specs)s." +msgstr "" +"Error al crear qos_specs: %(name)s con las especificaciones %(qos_specs)s." msgid "Failed to create replica." msgstr "No se ha podido crear la réplica." msgid "Failed to create scheduler manager volume flow" -msgstr "No se ha podido crear flujo de volumen de gestor de planificador" +msgstr "No se ha podido crear el flujo de volumen del gestor de planificador" #, python-format msgid "Failed to create snapshot %s" @@ -3552,7 +3550,8 @@ #, python-format msgid "Failed to create thin pool, error message was: %s" msgstr "" -"No se ha podido crear la agrupación ligera, el mensaje de error ha sido: %s" +"No se ha podido crear la agrupación ligera, el mensaje de error recibido es: " +"%s" #, python-format msgid "Failed to create volume %s" @@ -3646,7 +3645,7 @@ "%(volume_id)s." msgid "Failed to determine blockbridge API configuration" -msgstr "No se ha podido determinar la configuración de API Blockbridge" +msgstr "No se ha podido determinar la configuración de la API de Blockbridge" msgid "Failed to disassociate qos specs." msgstr "Error al desasociar especificaciones de qos." @@ -3693,14 +3692,14 @@ msgstr "No se ha podido encontrar QoSnode" msgid "Failed to find Storage Center" -msgstr "No se ha podido encontrar Storage Center" +msgstr "No se ha podido encontrar el Storage Center" msgid "Failed to find a vdisk copy in the expected pool." msgstr "" "No se ha podido encontrar una copia de vdisk en la agrupación esperada." msgid "Failed to find account for volume." -msgstr "No se ha podido encontrar la cuenta para el volumen." +msgstr "No se ha podido encontrar la cuenta del volumen." #, python-format msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s." @@ -3777,7 +3776,7 @@ #, python-format msgid "Failed to get all associations of qos specs %s" -msgstr "Error al obtener todas las asociaciones de qos specs %s" +msgstr "Error al obtener todas las asociaciones de las especificaciones QoS %s" msgid "Failed to get channel info." msgstr "No se ha podido obtener información de canal." @@ -3791,7 +3790,9 @@ #, python-format msgid "Failed to get domain because CPG (%s) doesn't exist on array." -msgstr "No ha obtenido dominio debido a que CPG (%s) no existe en la matriz." +msgstr "" +"No se ha podido obtener el dominio debido a que CPG (%s) no existe en la " +"matriz." msgid "Failed to get image snapshots." msgstr "No se han podido obtener las instantáneas de imagen." @@ -3823,7 +3824,7 @@ "desde el clon" msgid "Failed to get name server info." -msgstr "No se ha podido obtener información de servidor de nombres." +msgstr "No se ha podido obtener información del servidor de nombres." msgid "Failed to get network info." msgstr "No se ha podido obtener información de red." @@ -3852,7 +3853,7 @@ msgid "" "Failed to get remote copy information for %(volume)s. Exception: %(err)s." msgstr "" -"No se ha podido obtener la información de la copia remota para %(volume)s. " +"No se ha podido obtener la información de copia remota de %(volume)s. " "Excepción: %(err)s." msgid "Failed to get replica info." @@ -3907,7 +3908,7 @@ "%(errorMessage)s." msgid "Failed to identify volume backend." -msgstr "No se ha podido identificar el programa de fondo de volumen." +msgstr "No se ha podido identificar el programa de fondo del volumen." #, python-format msgid "Failed to link fileset for the share %(cgname)s. Error: %(excmsg)s." @@ -3943,8 +3944,8 @@ "Failed to manage existing %(type)s %(name)s, because reported size %(size)s " "was not a floating-point number." msgstr "" -"No se ha podido gestionar %(type)s %(name)s existentes, porque el tamaño " -"reportado %(size)s no era un número de coma flotante." +"No se ha podido gestionar el %(name)s de %(type)s existente porque el " +"tamaño reportado %(size)s no era un número de tipo coma flotante." #, python-format msgid "" @@ -4039,7 +4040,7 @@ "Failed to manage existing volume due to the volume to be managed is thick, " "but the volume type chosen is thin." msgstr "" -"No se ha podido gestionar el volumen existente debido a que el volumen a " +"No se ha podido gestionar el volumen existente debido a que el volumen a " "gestionar es pesado, pero el tipo de volumen elegido es ligero." msgid "" @@ -4097,14 +4098,14 @@ "the form ::" msgstr "" "Error al analizar la opción de configuración 'keystone_catalog_info'; debe " -"tener el formato ::" +"tener el formato ::" msgid "" "Failed to parse the configuration option 'swift_catalog_info', must be in " "the form ::" msgstr "" "Error al analizar la opción de configuración 'swift_catalog_info'; debe " -"tener el formato ::" +"tener el formato ::" #, python-format msgid "" @@ -4158,13 +4159,13 @@ "Failed to rename logical volume %(name)s, error message was: %(err_msg)s" msgstr "" "No se ha podido renombrar el volumen lógico %(name)s, el mensaje de error " -"era: %(err_msg)s" +"recibido es: %(err_msg)s" #, python-format msgid "Failed to retrieve active zoning configuration %s" msgstr "" -"No se ha podido recuperar la configuración de distribución en zonas activas " -"%s" +"No se ha podido recuperar la configuración de la distribución en zonas " +"activas %s" #, python-format msgid "" @@ -4228,7 +4229,7 @@ msgid "Failed to unmap a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" msgstr "" "No se ha podido anular correlación de un dispositivo lógico. (LDEV: " -"%(ldev)s, razón: %(reason)s)" +"%(ldev)s, motivo: %(reason)s)" #, python-format msgid "Failed to update consistency group: %(cgName)s." @@ -4236,7 +4237,7 @@ #, python-format msgid "Failed to update metadata for volume: %(reason)s" -msgstr "No se ha podido actualizar los metadatos para volumen: %(reason)s" +msgstr "No se han podido actualizar los metadatos para volumen: %(reason)s" msgid "Failed to update or delete zoning configuration" msgstr "" @@ -4251,7 +4252,7 @@ #, python-format msgid "Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s." msgstr "" -"Error al actualizar qos_specs: %(specs_id)s con especificaciones " +"Error al actualizar qos_specs: %(specs_id)s con las especificaciones " "%(qos_specs)s." msgid "Failed to update quota usage while retyping volume." @@ -4263,7 +4264,7 @@ #, python-format msgid "Failed updating model with driver provided model %(model)s" msgstr "" -"No se ha podido actualizar el modelo con modelo proporcionado del " +"No se ha podido actualizar el modelo con el modelo proporcionado por el " "controlador %(model)s" #, python-format @@ -4353,7 +4354,7 @@ msgstr "El archivo ya existe en: %s" msgid "Find host in hostgroup error." -msgstr "Error al buscar el host en el grupo de host." +msgstr "Error al buscar el host en el grupo de hosts." msgid "Find host lun id error." msgstr "Error al buscar el ID de LUN de host." @@ -4660,10 +4661,10 @@ msgstr "Obtener par ha fallado." msgid "Get partition by name error." -msgstr "Error al obtener partición por nombre." +msgstr "Error al obtener una partición por nombre." msgid "Get partition by partition id error." -msgstr "Error al obtener partición por ID de partición." +msgstr "Error al obtener una partición por ID de partición." msgid "Get port group by view error." msgstr "Error al obtener el grupo de puertos por vista." @@ -4718,7 +4719,7 @@ #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." msgstr "" -"No se ha podido encontrar los metadatos de vistazo para los metadatos/" +"No se han podido encontrar los metadatos de Glance para el volumen/" "instantánea %(id)s." #, python-format @@ -4743,7 +4744,7 @@ "Se ha obtenido información incorrecta sobre vía de acceso de DRBDmanage (%s)" msgid "HBSD error occurs." -msgstr "Se ha producido un error HBSD." +msgstr "Se ha producido un error de HBSD." msgid "HNAS has disconnected SSC" msgstr "HNAS ha desconectado SSC" @@ -4759,14 +4760,14 @@ msgstr "" "Se ha solicitado la verificación de certificados HTTPS, pero no se puede " "habilitar con la versión de módulo de purestorage %(version)s. Actualícese a " -"una nueva versión para habilitar esta característica." +"una versión más reciente para habilitar esta característica." #, python-format msgid "" "Hash block size has changed since the last backup. New hash block size: " "%(new)s. Old hash block size: %(old)s. Do a full backup." msgstr "" -"El tamaño de bloque de hash ha cambiado desde la última copia de seguridad. " +"El tamaño de bloque hash ha cambiado desde la última copia de seguridad. " "Nuevo tamaño de bloque hash: %(new)s. Tamaño de bloque hash antiguo: " "%(old)s. Haga una copia de seguridad completa." @@ -4803,7 +4804,7 @@ #, python-format msgid "Host '%s' could not be found." -msgstr "El host '%s' no se ha encontrado." +msgstr "No se ha encontrado el host '%s'." #, python-format msgid "Host group with name %s not found" @@ -4836,7 +4837,7 @@ #, python-format msgid "Host type %s not supported." -msgstr "El tipo de host %s no se soporta." +msgstr "El tipo de host %s no se admite." #, python-format msgid "Host with ports %(ports)s not found." @@ -4855,7 +4856,7 @@ msgstr "ID" msgid "IP address/hostname of Blockbridge API." -msgstr "Dirección IP/nombre de host de la API of Blockbridge." +msgstr "Dirección IP/nombre de host de la API de Blockbridge." msgid "" "If compression is set to True, rsize must also be set (not equal to -1)." @@ -4904,7 +4905,7 @@ #, python-format msgid "Image %(image_id)s is unacceptable: %(reason)s" -msgstr "La imagen %(image_id)s es inaceptable: %(reason)s" +msgstr "La imagen %(image_id)s no es aceptable: %(reason)s" msgid "Image location not present." msgstr "Ubicación de imagen no presente." @@ -4961,7 +4962,7 @@ msgstr "El tipo de entrada {} no está soportado." msgid "Input volumes or snapshots are invalid." -msgstr "Los volúmenes de entrada o instantáneas no son válidos." +msgstr "Los volúmenes de entrada o las instantáneas no son válidos." msgid "Input volumes or source volumes are invalid." msgstr "Los volúmenes de entrada o los volúmenes de origen no son válidos." @@ -4971,7 +4972,7 @@ msgstr "No se ha podido encontrar la instancia %(uuid)s." msgid "Insufficient free space available to extend volume." -msgstr "No hay suficiente espacio libre disponible para extender el volumen." +msgstr "No hay suficiente espacio libre disponible para ampliar el volumen." msgid "Insufficient privileges" msgstr "Privilegios insuficientes" @@ -4996,8 +4997,8 @@ msgid "Invalid Ceph args provided for backup rbd operation" msgstr "" -"Arg de ceph no válidos proporcionados para operación rbd de copia de " -"seguridad" +"Se han proporcionado unos argumentos de ceph no válidos para la operación " +"rbd de copia de seguridad" #, python-format msgid "Invalid CgSnapshot: %(reason)s" @@ -5019,12 +5020,13 @@ "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." msgstr "" -"ConsistencyGroup no válido: El estado del grupo de consistencia debe estar " +"ConsistencyGroup no válido: El estado del grupo de consistencia debe ser " "disponible, pero el estado actual es: %s." msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "" -"ConsistencyGroup no válido: No hay host para crear grupo de consistencia" +"ConsistencyGroup no válido: No hay ningún host para crear el grupo de " +"consistencia" #, python-format msgid "" @@ -5082,7 +5084,7 @@ #, python-format msgid "Invalid argument - whence=%s not supported" -msgstr "Argumento no válido - whence=%s no admitido" +msgstr "No se admite el argumento no válido - whence=%s" #, python-format msgid "Invalid argument - whence=%s not supported." @@ -5090,11 +5092,11 @@ #, python-format msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." -msgstr "Método de conexión '%(mode)s' inválido para el volumen %(volume_id)s." +msgstr "Método de conexión '%(mode)s' no válido para el volumen %(volume_id)s." #, python-format msgid "Invalid auth key: %(reason)s" -msgstr "Claves de autenticación inválidas: %(reason)s" +msgstr "Claves de autenticación no válidas: %(reason)s" #, python-format msgid "Invalid backup: %(reason)s" @@ -5105,8 +5107,8 @@ "Invalid barbican api url: version is required, e.g. 'http[s]://|" "[:port]/' url specified is: %s" msgstr "" -"URL de API de Barbican no válido: debe tener el formato siguiente: " -"'http[s]://|[:puerto]/', el URL especificado es: %s" +"URL de API de Barbican no válido: debe tener el formato siguiente: " +"'http[s]://|[:port]/', el URL especificado es: %s" msgid "Invalid cgsnapshot" msgstr "Cgsnapshot no válido" @@ -5129,7 +5131,7 @@ #, python-format msgid "Invalid content type %(content_type)s." -msgstr "Tipo de contenido invalido %(content_type)s." +msgstr "Tipo de contenido no válido%(content_type)s." msgid "Invalid credentials" msgstr "Credenciales no válidas" @@ -5156,7 +5158,7 @@ #, python-format msgid "Invalid host: %(reason)s" -msgstr "Host inválido: %(reason)s" +msgstr "Host no válido: %(reason)s" #, python-format msgid "" @@ -5198,7 +5200,7 @@ #, python-format msgid "Invalid input received: %(reason)s" -msgstr "Entrada inválida recibida: %(reason)s" +msgstr "La entrada recibida no es válida: %(reason)s" #, python-format msgid "Invalid is_public filter [%s]" @@ -5210,11 +5212,11 @@ #, python-format msgid "Invalid metadata size: %(reason)s" -msgstr "Tamaño de metadatos inválido: %(reason)s" +msgstr "Tamaño de metadatos no válido: %(reason)s" #, python-format msgid "Invalid metadata: %(reason)s" -msgstr "Metadatos inválidos: %(reason)s" +msgstr "Metadatos no válidos: %(reason)s" #, python-format msgid "Invalid mount point base: %s" @@ -5251,8 +5253,8 @@ "Invalid request to attach volume with an invalid mode. Attaching mode should " "be 'rw' or 'ro'" msgstr "" -"Solicitud no válida para adjuntar un volumen con el modo no válido. " -"Adjuntando modo debe ser 'rw' o 'ro'" +"Solicitud no válida para adjuntar un volumen con el modo no válido. El modo " +"de adjunción debe ser 'rw' o 'ro'" #, python-format msgid "Invalid reservation expiration %(expire)s." @@ -5316,8 +5318,8 @@ "Invalid url: must be in the form 'http[s]://|[:port]/" "', url specified is: %s" msgstr "" -"URL no válido: debe tener el formato siguiente: 'http[s]://|[:" -"puerto]/', el URL especificado es: %s" +"URL no válido: debe tener el formato siguiente: 'http[s]://|[:" +"port]/', el URL especificado es: %s" #, python-format msgid "Invalid value '%s' for force." @@ -5377,11 +5379,11 @@ #, python-format msgid "Invalid volume type: %(reason)s" -msgstr "Tipo de volumen inválido: %(reason)s" +msgstr "Tipo de volumen no válido: %(reason)s" #, python-format msgid "Invalid volume: %(reason)s" -msgstr "Volumen inválido: %(reason)s" +msgstr "Volumen no válido: %(reason)s" #, python-format msgid "" @@ -5400,8 +5402,8 @@ "group." msgstr "" "Volumen no válido: No se puede añadir el volumen %(volume_id)s al grupo de " -"consistencia %(group_id)s porque el grupos de consistencia no soporta el " -"tipo de volumen %(volume_type)s ." +"consistencia %(group_id)s porque el grupo no soporta el tipo de volumen " +"%(volume_type)s ." #, python-format msgid "" @@ -5421,24 +5423,24 @@ #, python-format msgid "Invalid volume_type passed: %s." -msgstr "El volume_type no válido ha pasado: %s." +msgstr "Se ha pasado un volume_type no válido: %s." #, python-format msgid "" "Invalid volume_type provided: %s (requested type is not compatible; either " "match source volume, or omit type argument)." msgstr "" -"Se ha proporcionado un tipo volume_type no válido: %s (el tipo solicitado no " -"es compatible; debe hacer coincidir el volumen de origen o debe omitir el " -"argumento de tipo)." +"Se ha proporcionado un volume_type no válido: %s (el tipo solicitado no es " +"compatible; debe coincidir el volumen de origen o bien omitir el argumento " +"de tipo)." #, python-format msgid "" "Invalid volume_type provided: %s (requested type is not compatible; " "recommend omitting the type argument)." msgstr "" -"Se ha proporcionado un tipo volume_type no válido: %s (el tipo solicitado no " -"es compatible; se recomienda omitir el argumento de tipo)." +"Se ha proporcionado un volume_type no válido: %s (el tipo solicitado no es " +"compatible; se recomienda omitir el argumento de tipo)." #, python-format msgid "" @@ -5446,7 +5448,7 @@ "consistency group)." msgstr "" "volume_type proporcionado no válido: %s (este grupo de consistencia debe " -"soportar el tipo solicitado)." +"admitir el tipo solicitado)." #, python-format msgid "Invalid wwpns format %(wwpns)s" @@ -5635,10 +5637,11 @@ "Estado de zona mal formado: (switch=%(switch)s zone_config=%(zone_config)s)." msgid "Manage existing get size requires 'id'." -msgstr "La gestión para obtener tamaño necesita 'id'." +msgstr "La gestión para obtener el tamaño necesita el 'id'." msgid "Manage existing snapshot not implemented." -msgstr "No se ha implementado la gestión de la instantánea existente." +msgstr "" +"No se ha implementado la opción de gestionar una instantánea existente." #, python-format msgid "" @@ -5655,7 +5658,7 @@ "tipo de volumen: %(reason)s" msgid "Manage existing volume not implemented." -msgstr "La gestión de volumen existente no se ha implementado." +msgstr "No se ha implementado la opción de gestionar un volumen existente." msgid "Manage existing volume requires 'source-id'." msgstr "La gestión del volumen existente necesita 'source-id'." @@ -5746,7 +5749,7 @@ msgid "Metadata restore failed due to incompatible version" msgstr "" -"La restauración de metadatos ha fallado debido a la versión incompatible" +"La restauración de metadatos ha fallado debido a una versión incompatible" msgid "Metadata restore failed due to incompatible version." msgstr "" @@ -5788,7 +5791,7 @@ #, python-format msgid "Missing required element '%s' in request body" -msgstr "Falta el elemento requerido '%s' en el cuerpo de la solicitud" +msgstr "Falta el elemento obligatorio '%s' en el cuerpo de la solicitud" #, python-format msgid "Missing required element '%s' in request body." @@ -5803,7 +5806,8 @@ msgstr "Falta el elemento obligatorio 'host' en el cuerpo de la solicitud." msgid "Missing required element quota_class_set in request body." -msgstr "Falta el elemento necesario quota_class_set en cuerpo de solicitud." +msgstr "" +"Falta el elemento obligatorio quota_class_set en el cuerpo de la solicitud." msgid "Missing required element snapshot in request body." msgstr "" @@ -5830,19 +5834,19 @@ msgstr "Se han encontrado varios perfiles." msgid "Must implement a fallback schedule" -msgstr "Debe de implementar un horario de reserva" +msgstr "Es necesario implementar un horario de reserva" msgid "Must implement find_retype_host" -msgstr "Debe implementar find_retype_host" +msgstr "Es necesario implementar find_retype_host" msgid "Must implement host_passes_filters" -msgstr "Debe implementar host_passes_filters" +msgstr "Es necesario implementar host_passes_filters" msgid "Must implement schedule_create_consistencygroup" msgstr "Es necesario implementar schedule_create_consistencygroup" msgid "Must implement schedule_create_volume" -msgstr "Debe implementar schedule_create_volume" +msgstr "Es necesario implementar schedule_create_volume" msgid "Must implement schedule_get_pools" msgstr "Es necesario implementar schedule_get_pools" @@ -5914,7 +5918,7 @@ "de protección." msgid "Must specify readonly in request." -msgstr "Debe especificar sólo lectura en solicitud." +msgstr "Debe especificar readonly (sólo lectura) en la solicitud." msgid "Must specify snapshot source-name or source-id." msgstr "" @@ -6006,7 +6010,7 @@ #, python-format msgid "New volume_type same as original: %s." -msgstr "El nuevo volume_type igual que el original: %s." +msgstr "El nuevo volume_type es igual que el original: %s." msgid "Nimble Cinder Driver exception" msgstr "Excepción de controlador Nimble Cinder" @@ -6071,19 +6075,19 @@ msgstr "No hay ningún elemento con el nombre indicado %s." msgid "No errors in logfiles!" -msgstr "¡No hay errores en los ficheros de log!" +msgstr "¡No hay errores en los ficheros de registro!" #, python-format msgid "No file found with %s as backing file." -msgstr "No se ha encontrado el archivo con %s como archivo de respaldo." +msgstr "No se ha encontrado ningún archivo con %s como archivo de respaldo." #, python-format msgid "" "No free LUN IDs left. Maximum number of volumes that can be attached to host " "(%s) has been exceeded." msgstr "" -"No queda libre ningún ID de LUN. El número máximo de volúmenes que se puede " -"conectar al host (%s) se ha superado." +"No queda libre ningún ID de LUN. Se ha superado el número máximo de " +"volúmenes que se puede conectar al host (%s)." msgid "No free disk" msgstr "No hay disco libre" @@ -6100,7 +6104,7 @@ #, python-format msgid "No host to create consistency group %s." -msgstr "No hay host para crear grupo de consistencia%s." +msgstr "No hay ningún host para crear grupo de consistencia%s." msgid "No iSCSI-enabled ports on target array." msgstr "No hay puertos habilitados para iSCSI en la matriz de destino." @@ -6144,8 +6148,8 @@ #, python-format msgid "No key file specified and unable to load key from %(cert)s %(e)s." msgstr "" -"No se ha especificado archivo de claves y no se puede cargar la clave desde " -"%(cert)s %(e)s." +"No se ha especificado ningún archivo de claves y no se puede cargar la clave " +"desde %(cert)s %(e)s." msgid "No mounted Gluster shares found" msgstr "No se han encontrado unidades compartidas Gluster montadas" @@ -6200,7 +6204,8 @@ #, python-format msgid "No snap found with %s as backing file." -msgstr "No se ha encontrado archivo con %s como archivo de respaldo." +msgstr "" +"No se ha encontrado ninguna instantánea con %s como archivo de respaldo." #, python-format msgid "No snapshot image found in snapshot group %s." @@ -6226,7 +6231,7 @@ #, python-format msgid "No such QoS spec %(specs_id)s." -msgstr "No hay especificaciones de QoS %(specs_id)s." +msgstr "No existe la especificación de QoS %(specs_id)s." msgid "No suitable discovery ip found" msgstr "No se ha encontrado ningún IP de descubrimiento adecuado" @@ -6245,8 +6250,8 @@ "requires that all LUN IDs to be unique across the entire host group." msgstr "" "No hay disponibles ID de LUN sin utilizar en el host; la conexión múltiple " -"está habilitada, lo cual requiere que todos los ID de LUN sean exclusivos en " -"todo el grupo de hosts." +"está habilitada, lo cual requiere que todos los ID de LUN sean exclusivos " +"dentro del grupo de hosts." #, python-format msgid "No valid host was found. %(reason)s" @@ -6324,7 +6329,7 @@ msgstr "No está almacenado en rbd" msgid "Nova returned \"error\" status while creating snapshot." -msgstr "Nova devolvió el estado \"error\" mientras creaba la instantánea." +msgstr "Nova devolvió el estado \"error\" al crear la instantánea." msgid "Null response received from CloudByte's list filesystem." msgstr "" @@ -6349,14 +6354,14 @@ #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." msgstr "" -"Respuesta nula recibida al crear el volumen [%s] en el almacenamiento de " -"CloudByte." +"Se ha recibido una respuesta nula al crear el volumen [%s] en el " +"almacenamiento de CloudByte." #, python-format msgid "Null response received while deleting volume [%s] at CloudByte storage." msgstr "" -"Respuesta nula recibida al suprimir el volumen [%s] en el almacenamiento de " -"CloudByte." +"Se ha recibido una respuesta nula al suprimir el volumen [%s] en el " +"almacenamiento de CloudByte." #, python-format msgid "" @@ -6364,7 +6369,7 @@ "[%(job)s] at CloudByte storage." msgstr "" "Se ha recibido una respuesta nula al realizar la consulta para el trabajo " -"basado en [%(operation)s] [%(job)s] en el almacenamiento CloudByte." +"basado en [%(operation)s] [%(job)s] en el almacenamiento de CloudByte." msgid "Number of retries if connection to ceph cluster failed." msgstr "Número de reintentos si la conexión al clúster ceph ha fallado." @@ -6449,7 +6454,8 @@ msgid "Override HTTPS port to connect to Blockbridge API server." msgstr "" -"Sustituya el puerto HTTPS para conectarse al servidor de API Blockbridge." +"Sustituya el puerto HTTPS para establecer conexión con el servidor de la API " +"de Blockbridge." #, python-format msgid "ParseException: %s" @@ -6457,8 +6463,8 @@ msgid "Partition name is None, please set smartpartition:partitionname in key." msgstr "" -"Nombre de la partición es Ninguno, establezca smartpartition:partitionname " -"en clave." +"El nombre de la partición es None, establezca smartpartition:partitionname " +"en la clave." msgid "" "Password or SSH private key is required for authentication: set either " @@ -6491,7 +6497,7 @@ #, python-format msgid "Pool %(poolNameInStr)s is not found." -msgstr "La agrupación %(poolNameInStr)s no se ha encontrado." +msgstr "No se ha encontrado la agrupación %(poolNameInStr)s." #, python-format msgid "Pool %s does not exist in Nexenta Store appliance" @@ -6506,7 +6512,7 @@ msgstr "La agrupación del volumen ['host'] ha fallado con: %(ex)s." msgid "Pool is not available in the volume host field." -msgstr "La agrupación no está disponible en el campo del host del volumen." +msgstr "La agrupación no está disponible en el campo de host del volumen." msgid "Pool is not available in the volume host fields." msgstr "La agrupación no está disponibles en los campos de host del volumen." @@ -6563,7 +6569,7 @@ "Protocol %(storage_protocol)s is not supported for storage family " "%(storage_family)s." msgstr "" -"El protocolo %(storage_protocol)s no es admitido para la familia de " +"El protocolo %(storage_protocol)s no se admite para la familia de " "almacenamiento %(storage_family)s." msgid "Provided backup record is missing an id" @@ -6575,7 +6581,7 @@ "%(current)s." msgstr "" "El estado de instantánea proporcionado %(provided)s no está permitido para " -"instantánea con estado %(current)s." +"la instantánea con estado %(current)s." #, python-format msgid "" @@ -6595,7 +6601,8 @@ #, python-format msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "Especificaciones de QoS %(specs_id)s está asociado con las entidades." +msgstr "" +"Las especificaciones de QoS %(specs_id)s están aún asociadas a entidades." #, python-format msgid "QoS config is wrong. %s must > 0." @@ -6661,7 +6668,7 @@ #, python-format msgid "Quota exceeded for resources: %(overs)s" -msgstr "Cuota superada para recursos: %(overs)s" +msgstr "Cuota superada para los recursos: %(overs)s" #, python-format msgid "Quota exceeded: code=%(code)s" @@ -6697,7 +6704,7 @@ msgstr "REST %(proxy_ver)s hpelefthandclient %(rest_ver)s" msgid "REST server IP must by specified." -msgstr "Se debe especificar la IP de servidor REST." +msgstr "Se debe especificar la IP del servidor REST." msgid "REST server password must by specified." msgstr "Se debe especificar la contraseña del servidor REST." @@ -6725,10 +6732,10 @@ #, python-format msgid "Received error string: %s" -msgstr "Serie de error recibida: %s" +msgstr "Se ha recibido la siguiente cadena de error: %s" msgid "Reference must be for an unmanaged snapshot." -msgstr "La referencia debe ser para una instantánea no gestionada." +msgstr "La referencia debe ser para una instantánea no gestionada." msgid "Reference must be for an unmanaged virtual volume." msgstr "La referencia debe ser para un volumen virtual no gestionado." @@ -6800,7 +6807,7 @@ msgstr "Error al eliminar el host de la matriz." msgid "Remove host from hostgroup error." -msgstr "Error al eliminar el host del grupo de host." +msgstr "Error al eliminar el host del grupo de hosts." msgid "Remove iscsi from host error." msgstr "Error al eliminar iscsi del host." @@ -6809,10 +6816,10 @@ msgstr "Error al eliminar LUN de QoS ." msgid "Remove lun from cache error." -msgstr "Error al eliminar lun de la caché." +msgstr "Error al eliminar un lun de la caché." msgid "Remove lun from partition error." -msgstr "Error al eliminar lun de la partición." +msgstr "Error al eliminar un lun de la partición." msgid "Remove port from port group error." msgstr "Error al eliminar el puerto del grupo de puertos." @@ -6828,20 +6835,20 @@ #, python-format msgid "Replication %(name)s to %(ssn)s failed." -msgstr "Ha fallado la replicación %(name)s a %(ssn)s." +msgstr "Ha fallado la replicación de %(name)s a %(ssn)s." #, python-format msgid "Replication Service Capability not found on %(storageSystemName)s." msgstr "" -"La capacidad del servicio de réplica no se ha encontrado en " +" No se ha encontrado la capacidad del servicio de réplica en " "%(storageSystemName)s." #, python-format msgid "Replication Service not found on %(storageSystemName)s." -msgstr "El servicio de réplica no se ha encontrado en %(storageSystemName)s." +msgstr "No se ha encontrado el servicio de réplica en %(storageSystemName)s." msgid "Replication is not enabled" -msgstr "La réplica no está habilitada" +msgstr "La replicación no está habilitada" msgid "Replication is not enabled for volume" msgstr "La réplica no está habilitada para el volumen" @@ -6866,7 +6873,7 @@ "pero el estado actual es: %s" msgid "Request body and URI mismatch" -msgstr "Discrepancia de URI y cuerpo de solicitud" +msgstr "Discrepancia entre el URI y el cuerpo de la solicitud" msgid "Request body contains too many items" msgstr "El cuerpo de solicitud contiene demasiados elementos" @@ -6875,7 +6882,7 @@ msgstr "El cuerpo de solicitud contiene demasiados elementos." msgid "Request body empty" -msgstr "Cuerpo de la solicitud vacío" +msgstr "El cuerpo de la solicitud está vacío" #, python-format msgid "Request to Datera cluster returned bad status: %(status)s | %(reason)s" @@ -6914,7 +6921,7 @@ #, python-format msgid "Required flag %s is not set" -msgstr "El distintivo necesario %s no se ha establecido" +msgstr "El distintivo obligatorio %s no se ha establecido" msgid "Requires an NaServer instance." msgstr "Requiere una instancia de NaServer." @@ -6932,7 +6939,7 @@ #, python-format msgid "Resizing clone %s failed." -msgstr "Error al cambiar el tamaño de clononación %s." +msgstr "Error al cambiar el tamaño de clonación %s." msgid "Resizing image file failed." msgstr "Cambiar tamaño de archivo de imagen ha fallado." @@ -7019,7 +7026,7 @@ "frontal para volúmenes en uso: %s." msgid "Retype requires migration but is not allowed." -msgstr "La reescritura requiere migración, pero no está permitido." +msgstr "La reescritura requiere migración, pero no se permite." #, python-format msgid "" @@ -7047,7 +7054,7 @@ msgstr "Producto SAN no está configurado." msgid "SAN protocol is not configured." -msgstr "Protocolo SAN no está configurado." +msgstr "El protocolo SAN no está configurado." #, python-format msgid "SMBFS config 'smbfs_oversub_ratio' invalid. Must be > 0: %s" @@ -7076,13 +7083,8 @@ "intentos: '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "" -"El mandato SSH ha fallado con el error: '%(err)s', mandato: '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" -msgstr "Se ha detectado inyección de mandato SSH: %(command)s" +msgstr "Se ha detectado una inyección del mandato SSH: %(command)s" #, python-format msgid "SSH connection failed for %(fabric)s with error: %(err)s" @@ -7099,11 +7101,12 @@ #, python-format msgid "Scheduler Host Filter %(filter_name)s could not be found." msgstr "" -"No se ha podido encontrar el filtro de host de planificador %(filter_name)s." +"No se ha podido encontrar el filtro del host planificador %(filter_name)s." #, python-format msgid "Scheduler Host Weigher %(weigher_name)s could not be found." -msgstr "El Scheduler Host Weigher %(weigher_name)s no se ha podido encontrar." +msgstr "" +"No se ha podido encontrar el pesador del host planificador %(weigher_name)s." #, python-format msgid "" @@ -7140,16 +7143,13 @@ #, python-format msgid "Service %s not found." -msgstr "El servicio %s no se ha encontrado." +msgstr "No se ha encontrado el servicio %s." msgid "Service is too old to fulfil this request." msgstr "El servicio es demasiado antiguo para cumplir esta solicitud." msgid "Service is unavailable at this time." -msgstr "El servicio no esta disponible en este momento" - -msgid "Service not found." -msgstr "Servicio no encontrado." +msgstr "El servicio no está disponible en este momento" msgid "Set pair secondary access error." msgstr "Error al definir el acceso secundario del par." @@ -7176,8 +7176,9 @@ "Share %s ignored due to invalid format. Must be of form address:/export. " "Please check the nas_ip and nas_share_path settings." msgstr "" -"La unidad compartida %s se ignora debido a un formato no válido. Debe tener " -"el formato address:/export. Compruebe los valores nas_ip y nas_share_path." +"La unidad compartida %s se ignorará debido a que el formato no es válido. " +"Debe tener el formato address:/export. Compruebe los valores nas_ip y " +"nas_share_path." #, python-format msgid "" @@ -7185,7 +7186,7 @@ "operations will not be supported." msgstr "" "El servicio de volumen Cinder no puede grabar en la unidad compartida en " -"%(dir)s. Las operaciones de instantánea no se admitirán." +"%(dir)s. Las operaciones de instantáneas no se admitirán." #, python-format msgid "Sheepdog I/O Error, command was: \"%s\"." @@ -7204,7 +7205,8 @@ #, python-format msgid "Size for volume: %s not found, cannot secure delete." msgstr "" -"Tamaño para volumen: %s no se ha encontrado, no puede asegurar la supresión." +"No se ha encontrado el tamaño del volumen: %s, no se puede suprimir de forma " +"segura." #, python-format msgid "" @@ -7235,7 +7237,7 @@ "Snapshot %(id)s was found in state %(state)s rather than 'deleting' during " "cascade delete." msgstr "" -"La instantánea %(id)s se ha encontrado con el estado%(state)s en lugar de " +"Se ha encontrado la instantánea %(id)s con el estado%(state)s en lugar de " "'borrando' durante la supresión en cascada." #, python-format @@ -7268,7 +7270,7 @@ msgstr "No se puede crear una instantánea mientras se está migrando el volumen" msgid "Snapshot of secondary replica is not allowed." -msgstr "La instantánea de la réplica secundaria no está permitida." +msgstr "No se permite hacer una instantánea de una réplica secundaria." #, python-format msgid "Snapshot of volume not supported in state: %s." @@ -7276,7 +7278,7 @@ #, python-format msgid "Snapshot res \"%s\" that is not deployed anywhere?" -msgstr "¿Recurso de instantánea \"%s\" no desplegado en ningún sitio?" +msgstr "¿El recurso de instantánea \"%s\" no está desplegado en ningún sitio?" msgid "Snapshot size must be multiple of 1 GB." msgstr "El tamaño de la instantánea debe ser múltiplo de 1 GB." @@ -7286,7 +7288,8 @@ msgstr "Estado de instantánea %(cur)s no permitido para update_snapshot_status" msgid "Snapshot status must be \"available\" to clone." -msgstr "El estado de la instantánea debe ser \"disponible\" para clonar." +msgstr "" +"El estado de la instantánea debe estar \"disponible\" para poder clonarla." #, python-format msgid "" @@ -7305,7 +7308,7 @@ "incremental backup" msgstr "" "La instantánea='%(snap)s' no existe en la imagen de base='%(base)s' - " -"terminando anormalmente copia de seguridad incremental" +"terminando anormalmente la copia de seguridad incremental" #, python-format msgid "Snapshots are not supported for this volume format: %s" @@ -7325,7 +7328,7 @@ msgid "Source CG is empty. No consistency group will be created." msgstr "" -"El grupo de consistencia está vacío. No se creará ningún grupo de " +"El grupo de consistencia de origen está vacío. No se creará ningún grupo de " "consistencia." msgid "Source host details not found." @@ -7335,7 +7338,7 @@ msgstr "El ID de dispositivo de volumen de origen es obligatorio." msgid "Source volume not mid-migration." -msgstr "El volumen de origen no mid-migration." +msgstr "El volumen de origen no es mid-migration." #, python-format msgid "" @@ -7402,14 +7405,14 @@ #, python-format msgid "Storage Configuration Service not found on %(storageSystemName)s." msgstr "" -"El servicio de configuración de almacenamiento no se ha encontrado en " +"No se ha encontrado el servicio de configuración de almacenamiento en " "%(storageSystemName)s." #, python-format msgid "Storage HardwareId mgmt Service not found on %(storageSystemName)s." msgstr "" -"El servicio de gestión de ID de hardware de almacenamiento no se ha " -"encontrado en %(storageSystemName)s." +"No se ha encontrado el servicio de gestión de ID de hardware de " +"almacenamiento en %(storageSystemName)s." #, python-format msgid "Storage Profile %s not found." @@ -7418,7 +7421,7 @@ #, python-format msgid "Storage Relocation Service not found on %(storageSystemName)s." msgstr "" -"El servicio de reubicación de almacenamiento no se ha encontrado en " +"No se ha encontrado el servicio de reubicación de almacenamiento en " "%(storageSystemName)s." #, python-format @@ -7443,7 +7446,7 @@ msgstr "No se ha encontrado el perfil de almacenamiento %(storage_profile)s." msgid "Storage resource could not be found." -msgstr "No se he encontrado el recurso de almacenamiento." +msgstr "No se ha encontrado el recurso de almacenamiento." msgid "Storage system id not set." msgstr "ID de sistema de almacenamiento no establecido." @@ -7460,7 +7463,7 @@ #, python-format msgid "StorageSystem %(array)s is not found." -msgstr "El sistema de almacenamiento %(array)s no se ha encontrado." +msgstr "No se ha encontrado el sistema de almacenamiento %(array)s." #, python-format msgid "String with params: %s" @@ -7483,7 +7486,7 @@ msgstr "Error al sincronizar el par." msgid "Synchronizing secondary volume to primary failed." -msgstr "Error en la sincronización del volumen secundario con primario." +msgstr "Error en la sincronización del volumen secundario a primario." #, python-format msgid "System %(id)s found with bad password status - %(pass_status)s." @@ -7493,7 +7496,8 @@ #, python-format msgid "System %(id)s found with bad status - %(status)s." -msgstr "El sistema%(id)s se ha encontrado con estado incorrecto - %(status)s." +msgstr "" +"Se ha encontrado el sistema %(id)s con un estado incorrecto - %(status)s." msgid "System does not support compression." msgstr "El sistema no soporta la compresión." @@ -7505,7 +7509,7 @@ msgid "" "TSM [%(tsm)s] was not found in CloudByte storage for account [%(account)s]." msgstr "" -"No se ha encontrado TSM [%(tsm)s] en el almacenamiento CloudByte para la " +"No se ha encontrado TSM [%(tsm)s] en el almacenamiento de CloudByte para la " "cuenta [%(account)s]." msgid "Target volume type is still in use." @@ -7520,15 +7524,14 @@ #, python-format msgid "Tenant ID: %s does not exist." -msgstr "ID de arrendatario: %s no existe." +msgstr "El ID de arrendatario: %s no existe." msgid "Terminate connection failed" msgstr "No se ha podido terminar la conexión" msgid "Terminate connection unable to connect to backend." msgstr "" -"La terminación de la conexión no se ha podido conectar con el programa de " -"fondo." +"Terminar conexión no ha podido establecer conexión con el programa de fondo." #, python-format msgid "Terminate volume connection failed: %(err)s" @@ -7536,7 +7539,7 @@ #, python-format msgid "The %(type)s %(id)s source to be replicated was not found." -msgstr "El origen %(type)s %(id)s para replicar no se ha encontrado." +msgstr "No se ha encontrado el origen %(type)s %(id)s a replicar." msgid "" "The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be used " @@ -7615,7 +7618,7 @@ #, python-format msgid "The device in the path %(path)s is unavailable: %(reason)s" -msgstr "El dispositivo en la ruta %(path)s no está disponible: %(reason)s" +msgstr "El dispositivo de la ruta %(path)s no está disponible: %(reason)s" #, python-format msgid "The end time (%(end)s) must be after the start time (%(start)s)." @@ -7652,7 +7655,7 @@ msgstr "No se ha podido añadir el grupo de host o el destino iSCSI." msgid "The host group or iSCSI target was not found." -msgstr "No se ha encontrado el grupo de host o el destino iSCSI." +msgstr "No se ha encontrado el grupo de hosts o el destino iSCSI." msgid "" "The host is not ready to be failed back. Please resynchronize the volumes " @@ -7666,14 +7669,14 @@ "and resume replication on the LeftHand backends." msgstr "" "El host no está a punto para restablecerlo. Vuelva a sincronizar los " -"volúmenes y reanude la replicación en los programas de fondo LeftHand." +"volúmenes y reanude la replicación en los programas de fondo LeftHand." msgid "" "The host is not ready to be failed back. Please resynchronize the volumes " "and resume replication on the Storwize backends." msgstr "" "El host no está a punto para restablecerlo. Vuelva a sincronizar los " -"volúmenes y reanude la replicación en los programas de fondo de Storwize." +"volúmenes y reanude la replicación en los programas de fondo de Storwize." #, python-format msgid "The iSCSI CHAP user %(user)s does not exist." @@ -7688,7 +7691,7 @@ "gestionada por el host %(host)s." msgid "The key cannot be None." -msgstr "La clave no puede ser Ninguno." +msgstr "La clave no puede ser None." #, python-format msgid "The logical device for specified %(type)s %(id)s was already deleted." @@ -7910,7 +7913,7 @@ #, python-format msgid "The volume %(volume_id)s is managed successfully. (LDEV: %(ldev)s)" msgstr "" -"Se ha gestionado correctamente el volumen %(volume_id)s. (LDEV: %(ldev)s)" +"El volumen %(volume_id)s se ha gestionado correctamente. (LDEV: %(ldev)s)" #, python-format msgid "The volume %(volume_id)s is unmanaged successfully. (LDEV: %(ldev)s)" @@ -7919,24 +7922,27 @@ #, python-format msgid "The volume %(volume_id)s to be mapped was not found." -msgstr "El volumen %(volume_id)s para correlacionar no se ha encontrado." +msgstr "No se ha encontrado el volumen %(volume_id)s a correlacionar." msgid "The volume cannot accept transfer in maintenance mode." msgstr "" -"El volumen no puede aceptar transferencias en la modalidad de mantenimiento." +"El volumen no puede aceptar transferencias si está en modalidad de " +"mantenimiento." msgid "The volume cannot be attached in maintenance mode." -msgstr "El volumen no se puede conectar en la modalidad de mantenimiento." +msgstr "El volumen no se puede conectar si está en modalidad de mantenimiento." msgid "The volume cannot be detached in maintenance mode." -msgstr "El volumen no se puede desconectar en la modalidad de mantenimiento." +msgstr "" +"El volumen no se puede desconectar si está en modalidad de mantenimiento." msgid "The volume cannot be updated during maintenance." msgstr "El volumen no se puede actualizar durante el mantenimiento." msgid "The volume connection cannot be initialized in maintenance mode." msgstr "" -"La conexión de volumen no se puede inicializar en modalidad de mantenimiento." +"La conexión de volumen no se puede inicializar si está en modalidad de " +"mantenimiento." msgid "The volume driver requires the iSCSI initiator name in the connector." msgstr "" @@ -7950,7 +7956,7 @@ "momento. Inténtelo de nuevo más tarde." msgid "The volume label is required as input." -msgstr "Se necesita la etiqueta de volumen como entrada." +msgstr "Se requiere la etiqueta del volumen como entrada." msgid "" "The volume metadata cannot be deleted when the volume is in maintenance mode." @@ -8014,7 +8020,7 @@ #, python-format msgid "There was an error adding the volume to the remote copy group: %s." msgstr "" -"Se producido un error al añadir el volumen al grupo de copias remotas: %s." +"Se ha producido un error al añadir el volumen al grupo de copias remotas: %s." #, python-format msgid "There was an error creating the cgsnapshot: %s" @@ -8022,14 +8028,14 @@ #, python-format msgid "There was an error creating the remote copy group: %s." -msgstr "Se producido un error al crear el grupo de copias remotas: %s." +msgstr "Se ha producido un error al crear el grupo de copias remotas: %s." #, python-format msgid "" "There was an error setting the sync period for the remote copy group: %s." msgstr "" -"Se producido un error al definir el periodo de sincronización del grupo de " -"copias remotas: %s." +"Se ha producido un error al definir el periodo de sincronización del grupo " +"de copias remotas: %s." #, python-format msgid "" @@ -8049,7 +8055,7 @@ #, python-format msgid "There was an error starting remote copy: %s." -msgstr "Se producido un error al iniciar la copia remota: %s." +msgstr "Se ha producido un error al iniciar la copia remota: %s." #, python-format msgid "There's no Gluster config file configured (%s)" @@ -8065,7 +8071,7 @@ "" msgstr "" "No se ha configurado un volumen Quobyte (%s). Ejemplo: quobyte:///" -"" +"" msgid "Thin provisioning not supported on this version of LVM." msgstr "No se admite el aprovisionamiento ligero en esta versión de LVM." @@ -8095,29 +8101,29 @@ #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." msgstr "" -"El servicio de política de niveles no se ha encontrado para " +"No se ha encontrado el servicio de política de niveles para " "%(storageSystemName)s." #, python-format msgid "Timed out while waiting for Nova update for creation of snapshot %s." msgstr "" -"Se desactivó mientras esperaba la actualización de Nova para la creación de " -"la instantánea %s." +"Se ha excedido el tiempo de espera al esperar la actualización de Nova para " +"la creación de la instantánea %s." #, python-format msgid "" "Timed out while waiting for Nova update for deletion of snapshot %(id)s." msgstr "" -"Se ha desactivado mientras esperaba la actualización de Nova para suprimir " -"la instantánea %(id)s." +"Se ha excedido el tiempo de espera al esperar la actualización de Nova para " +"la supresión de la instantánea %(id)s." msgid "" "Timeout value (in seconds) used when connecting to ceph cluster. If value < " "0, no timeout is set and default librados value is used." msgstr "" "Valor de tiempo de espera (en segundos) que se utiliza al conectarse al " -"clúster ceph. Si el valor. < 0, no se establece ningún tiempo de espera y se " -"utiliza el valor librados predeterminado." +"clúster ceph. Si el valor es < 0, no se establece ningún tiempo de espera y " +"se utiliza el valor librados predeterminado." #, python-format msgid "Timeout while calling %s " @@ -8149,7 +8155,7 @@ msgid "" "Trying to import backup metadata from id %(meta_id)s into backup %(id)s." msgstr "" -"Intentando importar metadatos de copia de seguridad de ID %(meta_id)s a la " +"Intentando importar metadatos de copia de seguridad del ID %(meta_id)s a la " "copia de seguridad %(id)s." #, python-format @@ -8165,7 +8171,8 @@ "Type %(type_id)s is already associated with another qos specs: " "%(qos_specs_id)s" msgstr "" -"El tipo %(type_id)s ya está asociado con otro qos specs: %(qos_specs_id)s" +"El tipo %(type_id)s ya está asociado con otra especificación QoS: " +"%(qos_specs_id)s" msgid "Type access modification is not applicable to public volume type." msgstr "" @@ -8182,7 +8189,7 @@ #, python-format msgid "UUIDs %s are in both add and remove volume list." msgstr "" -"Los UUID %s están tanto en la lista de volumen de añadir como de eliminar." +"Los UUID %s están en la lista de tanto de añadir como de eliminar volumen." #, python-format msgid "Unable to access the Storwize back-end for volume %s." @@ -8197,8 +8204,8 @@ #, python-format msgid "Unable to access the backend storage via the path %(path)s." msgstr "" -"No se ha podido obtener acceso al almacenamiento de extremo trasero por " -"medio de la ruta %(path)s." +"No se ha podido obtener acceso al almacenamiento de programa de fondo a " +"través de la vía de acceso%(path)s." #, python-format msgid "Unable to add Cinder host to apphosts for space %(space)s" @@ -8277,8 +8284,8 @@ "Unable to detach volume. Volume status must be 'in-use' and attach_status " "must be 'attached' to detach." msgstr "" -"No se puede desasociar el volumen. El estado del volumen debe ser 'in-use' y " -"attach_status debe ser 'attached' para poder desasociarlo." +"No se puede desasociar el volumen. El estado del volumen debe ser 'en uso' y " +"attach_status debe ser 'conectado' para poder desasociarlo." #, python-format msgid "" @@ -8294,7 +8301,7 @@ "instantánea %(id)s." msgid "Unable to determine system id." -msgstr "No se ha podido determinar ID del sistema." +msgstr "No se ha podido determinar el ID del sistema." msgid "Unable to determine system name." msgstr "No se ha podido determinar el nombre del sistema." @@ -8312,7 +8319,7 @@ "Unable to do replication with Purity REST API version %(api_version)s, " "requires one of %(required_versions)s." msgstr "" -"No se ha podido realizar la replicación con la API REST de Purity versión " +"No se ha podido realizar la replicación con la API REST de Purity versión " "%(api_version)s, se necesita una de las versiones siguientes: " "%(required_versions)s." @@ -8380,7 +8387,7 @@ msgstr "No se puede encontrar ssh_hosts_key_file: %s" msgid "Unable to find system log file!" -msgstr "¡No ha sido posible encontrar el fichero de log del sistema!" +msgstr "¡No ha sido posible encontrar el fichero de registro del sistema!" #, python-format msgid "" @@ -8399,7 +8406,7 @@ #, python-format msgid "Unable to find volume %s" -msgstr "No se puede encontrar el volumen %s" +msgstr "No se ha podido encontrar el volumen %s" #, python-format msgid "Unable to get a block device for file '%s'" @@ -8472,8 +8479,8 @@ "Unable to import volume %(deviceId)s to cinder. It is the source volume of " "replication session %(sync)s." msgstr "" -"No se puede importar el volumen %(deviceId)s en cinder. Es el volumen de " -"origen de sesión de réplica %(sync)s." +"No se puede importar el volumen %(deviceId)s a cinder. Es el volumen de " +"origen de sesión de replicación %(sync)s." #, python-format msgid "" @@ -8516,7 +8523,7 @@ #, python-format msgid "Unable to locate specified replay profiles %s " msgstr "" -"No se han podido encontrar los perfiles de reproducción specificados %s " +"No se han podido encontrar los perfiles de reproducción especificados %s " #, python-format msgid "" @@ -8584,7 +8591,7 @@ "Unable to retype: A copy of volume %s exists. Retyping would exceed the " "limit of 2 copies." msgstr "" -"No se puede volver a escribir: ya existe una copia de volumen %s. La " +"No se puede volver a escribir: ya existe una copia del volumen %s. La " "reescritura superaría el límite de 2 copias." #, python-format @@ -8608,7 +8615,7 @@ msgstr "No se ha podido crear una instantánea del grupo de consistencia %s" msgid "Unable to terminate volume connection from backend." -msgstr "No se puede terminar conexión de volumen desde programa de fondo." +msgstr "No se puede terminar conexión de volumen desde el programa de fondo." #, python-format msgid "Unable to terminate volume connection: %(err)s" @@ -8616,7 +8623,7 @@ #, python-format msgid "Unable to update consistency group %s" -msgstr "No se ha actualizar el grupo de consistencia %s" +msgstr "No se ha podido actualizar el grupo de consistencia %s" #, python-format msgid "" @@ -8624,7 +8631,7 @@ "%(vol_id)s. Volume status must be available or in-use." msgstr "" "No se puede actualizar el tipo debido a un estado incorrecto: %(vol_status)s " -"en volumen: %(vol_id)s. El estado de volumen debe ser disponible o en uso." +"en el volumen: %(vol_id)s. El estado de volumen debe ser disponible o en uso." #, python-format msgid "" @@ -8635,7 +8642,7 @@ "de máscara %(maskingViewName)s. " msgid "Unacceptable parameters." -msgstr "Parametros inaceptables" +msgstr "Parámetros inaceptables" #, python-format msgid "" @@ -8759,7 +8766,7 @@ "excluyentes." msgid "Unmanage volume not implemented." -msgstr "No se ha implementdo la opción de dejar de administrar un volumen." +msgstr "No se ha implementado la opción de dejar de administrar un volumen." msgid "Unmanaging of snapshots from 'failed-over' volumes is not allowed." msgstr "" @@ -8785,7 +8792,7 @@ #, python-format msgid "Unset gcs options: %s" -msgstr "Inhabilite las opciones de gcs: %s" +msgstr "Inhabilitar las opciones de gcs: %s" #, python-format msgid "Unsuccessful iscsiadm. Exception is %(ex)s. " @@ -8871,7 +8878,7 @@ msgstr "El usuario no tiene privilegios de administrador" msgid "User is not authorized to use key manager." -msgstr "El usuario no está autorizado a usar el gestor de clave." +msgstr "El usuario no está autorizado a usar el gestor de claves." msgid "User not authorized to perform WebDAV operations." msgstr "El usuario no tiene autorización para realizar operaciones WebDAV." @@ -8904,7 +8911,7 @@ #, python-format msgid "Valid consumer of QoS specs are: %s" -msgstr "Consumidor válido de QoS specs son: %s" +msgstr "Consumidores válidos de especificaciones QoS son: %s" #, python-format msgid "Valid control location are: %s" @@ -8918,7 +8925,7 @@ msgid "" "Value \"%(value)s\" is not valid for configuration option \"%(option)s\"" msgstr "" -"El valor \"%(value)s\" no es valido para la opción de configuración " +"El valor \"%(value)s\" no es válido para la opción de configuración " "\"%(option)s\"" #, python-format @@ -8943,12 +8950,12 @@ "Version %(req_ver)s is not supported by the API. Minimum is %(min_ver)s and " "maximum is %(max_ver)s." msgstr "" -"La versión %(req_ver)s no está soportada por la API. La versión mínima es " +"La versión %(req_ver)s no está soportada por la API. La versión mínima es " "la %(min_ver)s y la máxima es la %(max_ver)s." #, python-format msgid "VersionedObject %s cannot retrieve object by id." -msgstr "VersionedObject %s no puede recuperar el objeto por su ID." +msgstr "VersionedObject %s no se puede recuperar el objeto por su ID." #, python-format msgid "VersionedObject %s does not support conditional update." @@ -8960,7 +8967,7 @@ #, python-format msgid "Vol copy job for dest %s failed." -msgstr "El trabajo de copia de volumen para destino %s ha fallado." +msgstr "El trabajo de copia de volumen para el destino %s ha fallado." #, python-format msgid "Volume %(deviceID)s not found." @@ -8971,7 +8978,7 @@ "Volume %(name)s not found on the array. Cannot determine if there are " "volumes mapped." msgstr "" -"El volumen %(name)s no se ha encontrado en la matriz. No se puede determinar " +"No se ha encontrado el volumen %(name)s en la matriz. No se puede determinar " "si hay volúmenes correlacionados." #, python-format @@ -9000,8 +9007,8 @@ "Volume %(vol_id)s status must be available to extend, but current status is: " "%(vol_status)s." msgstr "" -"El estado de volumen %(vol_id)s debe ser disponible para ampliar, pero el " -"estado actual es: %(vol_status)s." +"El estado de volumen %(vol_id)s debe ser disponible para poder ampliarlo, " +"sin embargo, el estado actual es: %(vol_status)s." #, python-format msgid "" @@ -9016,19 +9023,19 @@ "Volume %(vol_id)s status must be available, but current status is: " "%(vol_status)s." msgstr "" -"El estado de volumen %(vol_id)s debe ser disponible, pero el estado actual " -"es: %(vol_status)s." +"El estado del volumen %(vol_id)s debe ser disponible, sin embargo, el estado " +"actual es: %(vol_status)s." #, python-format msgid "Volume %(volume_id)s could not be found." -msgstr "El volumen %(volume_id)s no se ha podido encontrar." +msgstr "No se ha podido encontrar el volumen %(volume_id)s." #, python-format msgid "" "Volume %(volume_id)s has no administration metadata with key " "%(metadata_key)s." msgstr "" -"Volumen %(volume_id)s no tiene metadatos de administración con la clave " +"El volumen %(volume_id)s no tiene metadatos de administración con la clave " "%(metadata_key)s." #, python-format @@ -9041,7 +9048,7 @@ "Volume %(volume_id)s is currently mapped to unsupported host group %(group)s" msgstr "" "El volumen %(volume_id)s está correlacionado actualmente con un grupo de " -"host no admitido %(group)s" +"hosts no admitido %(group)s" #, python-format msgid "Volume %(volume_id)s is not currently mapped to host %(host)s" @@ -9052,12 +9059,12 @@ #, python-format msgid "Volume %(volume_id)s is still attached, detach volume first." msgstr "" -"El volumen %(volume_id)s todavía están conectados, en primer lugar " -"desconecte el volumen." +"El volumen %(volume_id)s todavía está conectado, primero desconecte el " +"volumen." #, python-format msgid "Volume %(volume_id)s replication error: %(reason)s" -msgstr "Error de réplica de volumen %(volume_id)s: %(reason)s" +msgstr "Error de replicación de volumen %(volume_id)s: %(reason)s" #, python-format msgid "Volume %(volume_name)s is busy." @@ -9089,7 +9096,7 @@ #, python-format msgid "Volume %s does not have provider_location specified, skipping." -msgstr "El volumen %s no tiene especificado provider_location, se salta." +msgstr "El volumen %s no tiene especificado provider_location, se omitirá." #, python-format msgid "Volume %s doesn't exist on array." @@ -9122,7 +9129,7 @@ "Volume %s is online. Set volume to offline for managing using OpenStack." msgstr "" "El volumen %s está en línea. Defina el volumen como fuera de línea para " -"gestionarlo con OpenStack." +"gestionarlo con OpenStack." #, python-format msgid "" @@ -9142,7 +9149,7 @@ #, python-format msgid "Volume %s must not have snapshots." -msgstr "El volumen %s no debe tener instantáneas." +msgstr "El volumen %s no puede tener instantáneas." #, python-format msgid "Volume %s not found." @@ -9179,8 +9186,8 @@ "Volume Type %(volume_type_id)s deletion is not allowed with volumes present " "with the type." msgstr "" -"La eliminación del tipo de volumen %(volume_type_id)s no está permitida con " -"los volúmenes presente con el tipo." +"No se permite eliminar el tipo de volumen %(volume_type_id)s de los " +"volúmenes presentes con este tipo." #, python-format msgid "" @@ -9191,7 +9198,7 @@ "con la clave %(extra_specs_key)s." msgid "Volume Type id must not be None." -msgstr "La id del tipo de volumen no debe ser Ninguno." +msgstr "El id del tipo de volumen no puede ser None." #, python-format msgid "" @@ -9208,7 +9215,7 @@ #, python-format msgid "Volume attachment could not be found with filter: %(filter)s ." msgstr "" -"El archivo adjunto de volumen no se ha podido encontrar con el filtro: " +"No se ha podido encontrar el archivo adjunto de volumen con el filtro: " "%(filter)s." #, python-format @@ -9227,7 +9234,7 @@ #, python-format msgid "Volume device file path %s does not exist." -msgstr "La vía de acceso de archivo de dispositivo de volumen %s no existe." +msgstr "La vía de acceso de archivo del dispositivo del volumen %s no existe." #, python-format msgid "Volume device not found at %(device)s." @@ -9238,11 +9245,11 @@ msgstr "Controlador de volumen %s no inicializado." msgid "Volume driver not ready." -msgstr "Driver de volumen no está preparado." +msgstr "El controlador del volumen no está preparado." #, python-format msgid "Volume driver reported an error: %(message)s" -msgstr "Driver de volumen ha reportado un error: %(message)s" +msgstr "El controlador del volumen ha reportado un error: %(message)s" msgid "Volume has a temporary snapshot that can't be deleted at this time." msgstr "" @@ -9283,11 +9290,11 @@ "feature." msgstr "" "Se ha solicitado copia de seguridad de metadatos de volumen pero este " -"controlador no soporta aún esta característica." +"controlador todavía no admite esta característica." #, python-format msgid "Volume migration failed: %(reason)s" -msgstr "Ha fallado la migración en volumen: %(reason)s" +msgstr "Ha fallado la migración del volumen: %(reason)s" msgid "Volume must be available" msgstr "El volumen deber estar disponible" @@ -9307,10 +9314,10 @@ msgstr "El volumen no puede formar parte de un grupo de consistencia." msgid "Volume must not be replicated." -msgstr "El volumen no debe replicarse." +msgstr "El volumen no puede replicarse." msgid "Volume must not have snapshots." -msgstr "El volumen no debe tener instantáneas." +msgstr "El volumen no puede tener instantáneas." #, python-format msgid "Volume not found for instance %(instance_id)s." @@ -9348,7 +9355,7 @@ #, python-format msgid "Volume replication for %(volume_id)s could not be found." -msgstr "La réplica de volumen de %(volume_id)s no se ha encontrado." +msgstr "No se ha encontrado la réplica de volumen de %(volume_id)s ." #, python-format msgid "Volume service %s failed to start." @@ -9375,7 +9382,7 @@ "%(source_size)sGB. They must be >= original volume size." msgstr "" "El tamaño del volumen '%(size)s'GB no puede ser menor que el tamaño original " -"del volumen %(source_size)sGB. Deben ser >= tamaño de volumen original." +"del volumen %(source_size)sGB. Debe ser >= tamaño de volumen original." #, python-format msgid "" @@ -9391,7 +9398,7 @@ "una copia de seguridad completa." msgid "Volume size must be a multiple of 1 GB." -msgstr "El tamaño del volumen debe ser un múltiplo de 1 GB." +msgstr "El tamaño del volumen debe ser múltiplo de 1 GB." msgid "Volume size must be multiple of 1 GB." msgstr "El tamaño del volumen debe ser múltiplo de 1 GB." @@ -9410,7 +9417,7 @@ #, python-format msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)" msgstr "" -"El estado de volumen debe ser \"disponible\" o \"en-uso\" para la " +"El estado de volumen debe ser \"disponible\" o \"en-uso\" para hacer una " "instantánea. (es %s)" msgid "Volume status must be \"available\" or \"in-use\"." @@ -9418,10 +9425,10 @@ #, python-format msgid "Volume status must be %s to reserve." -msgstr "El estado de volumen debe ser %s para poder reservarlo." +msgstr "El estado del volumen debe ser %s para poder reservarlo." msgid "Volume status must be 'available'." -msgstr "El estado de volumen debe ser 'disponible'." +msgstr "El estado del volumen debe ser 'disponible'." msgid "Volume to Initiator Group mapping already exists" msgstr "El volumen para la correlación del grupo de iniciadores ya existe" @@ -9435,7 +9442,7 @@ "disponible o en uso, pero el estado actual es \"%s\"." msgid "Volume to be restored to must be available" -msgstr "El volumen que restaurar debe estar disponible" +msgstr "El volumen a restaurar debe estar disponible" #, python-format msgid "Volume type %(volume_type_id)s could not be found." @@ -9497,12 +9504,12 @@ #, python-format msgid "Volume: %(volumeName)s was not added to storage group %(sgGroupName)s." msgstr "" -"El volumen %(volumeName)s no se ha añadido al grupo de almacenamiento " +"No se ha añadido el volumen %(volumeName)s al grupo de almacenamiento " "%(sgGroupName)s." #, python-format msgid "Volume: %s could not be found." -msgstr "Volumen: %s no se ha encontrado." +msgstr "No se ha encontrado el volumen: %s ." #, python-format msgid "Volume: %s is already being managed by Cinder." @@ -9542,7 +9549,7 @@ "daemons sheep se estén ejecutando." msgid "We should not do switch over on primary array." -msgstr "No deberíamos hace conmutación en la matriz principal." +msgstr "No se debe hacer conmutación en la matriz principal." msgid "Wrong resource call syntax" msgstr "Sintaxis de llamada a recurso incorrecta" @@ -9579,7 +9586,7 @@ "Your original size: %(originalVolumeSize)s GB is greater than: %(newSize)s " "GB. Only Extend is supported. Exiting..." msgstr "" -"Su tamaño original de %(originalVolumeSize)s GB es mayor que: %(newSize)s " +"El tamaño original de %(originalVolumeSize)s GB es mayor que: %(newSize)s " "GB. Sólo se admite la ampliación. Saliendo..." #, python-format @@ -9674,7 +9681,7 @@ "_delete_volume, volumename: %(volumename)s, Storage Configuration Service " "not found." msgstr "" -"_delete_volume, nombre de volumen: %(volumename)s, nombre de volumenel " +"_delete_volume, nombre de volumen: %(volumename)s, no se ha encontrado el " "servicio de configuración de almacenamiento." #, python-format @@ -9757,7 +9764,7 @@ "Please edit driver configuration file and correct." msgstr "" "_get_drvcfg, nombre de archivo: %(filename)s, nombre de etiqueta: " -"%(tagname)s,los datos son None. Edite la configuración del controlador y " +"%(tagname)s, los datos son None. Edite la configuración del controlador y " "corríjalo." #, python-format @@ -9974,7 +9981,7 @@ msgstr "already_created" msgid "attach snapshot from remote node" -msgstr "conecte instantánea del nodo remoto" +msgstr "conectar instantánea desde un nodo remoto" #, python-format msgid "attribute %s not lazy-loadable" @@ -10036,18 +10043,18 @@ "regular files supported, actual file mode is %(vol_mode)s." msgstr "" "copia de seguridad: %(vol_id)s ha fallado. %(path)s es de un tipo de archivo " -"inesperado. Se soportan archivos de bloque o normales, la modalidad de " +"inesperado. Se admiten archivos de bloque o normales, la modalidad de " "archivo real es %(vol_mode)s." #, python-format msgid "" "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." msgstr "" -"copia de seguridad: %(vol_id)s ha fallado. No se puede obtener vía de acceso " -"real al volumen en %(path)s." +"copia de seguridad: %(vol_id)s ha fallado. No se puede obtener una vía de " +"acceso real al volumen en %(path)s." msgid "being attached by different mode" -msgstr "conectado por medio de un modo diferente" +msgstr "conectando de un modo diferente" #, python-format msgid "call failed: %r" @@ -10071,13 +10078,13 @@ msgstr "No se encuentra lun-map, ig:%(ig)s vol:%(vol)s" msgid "can't find the volume to extend" -msgstr "no se puede encontrar el volumen para ampliar" +msgstr "no se puede encontrar el volumen a ampliar" msgid "can't handle both name and index in req" msgstr "no se pueden gestionar el nombre y el índice en la solicitud" msgid "cannot understand JSON" -msgstr "no se puede entender JSON" +msgstr "no se puede comprender JSON" msgid "cannot understand XML" msgstr "no se puede entender XML" @@ -10126,7 +10133,7 @@ msgstr "consistencygroup modificado" msgid "control_location must be defined" -msgstr "control_location se debe definir" +msgstr "Se debe definir control_location" msgid "create_cloned_volume, Source Volume does not exist in ETERNUS." msgstr "create_cloned_volume, el volumen de origen no existe en ETERNUS." @@ -10194,7 +10201,7 @@ msgid "create_snapshot, eternus_pool: %(eternus_pool)s, pool not found." msgstr "" "create_snapshot, eternus_pool: %(eternus_pool)s, no se ha encontrado la " -"aprupación." +"agrupación." #, python-format msgid "" @@ -10231,15 +10238,15 @@ "\"in-use\" (en uso) para la instantánea. El estado no válido es %s." msgid "create_snapshot: get source volume failed." -msgstr "create_snapshot: la obtención de volumen de origen ha fallado." +msgstr "create_snapshot: la obtención del volumen de origen ha fallado." #, python-format msgid "" "create_volume, volume: %(volume)s, EnumerateInstances, cannot connect to " "ETERNUS." msgstr "" -"create_volume, volumen: %(volume)s, EnumerateInstances, no puede conectar " -"con ETERNUS." +"create_volume, volumen: %(volume)s, EnumerateInstances, no puede establecer " +"conexión con ETERNUS." #, python-format msgid "" @@ -10295,7 +10302,8 @@ msgid "deduplicated and auto tiering can't be both enabled." msgstr "" -"los niveles deduplicados y automáticos no pueden estar ambos habilitados." +"No puede estar habilitada a la vez la organización en niveles deduplicados y " +"la organización en niveles automática." #, python-format msgid "" @@ -10312,8 +10320,7 @@ "delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"suprimir: %(vol_id)s no ha podido ejecutar dsmc sin salida estándar: " -"%(out)s\n" +"suprimir: %(vol_id)s no ha podido ejecutar dsmc sin stdout: %(out)s\n" " stderr: %(err)s" msgid "delete_hypermetro error." @@ -10336,10 +10343,10 @@ msgstr "suprimiendo el volumen %(volume_name)s que tiene instantánea" msgid "detach snapshot from remote node" -msgstr "desconecte instantánea del nodo remoto" +msgstr "desconecte la instantánea del nodo remoto" msgid "do_setup: No configured nodes." -msgstr "do_setup: No hay nodos configurado." +msgstr "do_setup: No hay nodos configurados." msgid "element is not a child" msgstr "el elemento no es un hijo" @@ -10352,8 +10359,8 @@ "error writing object to swift, MD5 of object in swift %(etag)s is not the " "same as MD5 of object sent to swift %(md5)s" msgstr "" -"error al grabar archivo en Swift, el MD5 del archivo en Swift %(etag)s no es " -"el mismo que el MD5 del archivo enviado a Swift %(md5)s" +"error al grabar el objeto en Swift, el MD5 del archivo en Swift %(etag)s no " +"es el mismo que el MD5 del archivo enviado a Swift %(md5)s" #, python-format msgid "extend_volume, eternus_pool: %(eternus_pool)s, pool not found." @@ -10395,7 +10402,7 @@ msgstr "el archivo ya existe en %s" msgid "fileno is not supported by SheepdogIOWrapper" -msgstr "fileno no admitido por SheepdogIOWrapper" +msgstr "fileno no se admite en SheepdogIOWrapper" msgid "fileno() not supported by RBD()" msgstr "fileno() no admitido por RBD()" @@ -10539,12 +10546,12 @@ #, python-format msgid "iscsi portal, %s, not found" -msgstr "portal iscsi portal, %s, no encontrado" +msgstr "No se ha encontrado el portal iscsi, %s" msgid "" "iscsi_ip_address must be set in config file when using protocol 'iSCSI'." msgstr "" -"iscsi_ip_address debe establecerse en el archivo de configuración al " +"Debe establecerse iscsi_ip_address en el archivo de configuración al " "utilizar el protocolo 'iSCSI'." msgid "iscsiadm execution failed. " @@ -10567,7 +10574,7 @@ "manage_existing cannot manage a volume connected to hosts. Please disconnect " "this volume from existing hosts before importing" msgstr "" -" manage_existing no puede gestionar un volumen conectado con hosts. " +"manage_existing no puede gestionar un volumen conectado con hosts. " "Desconecte este volumen de los hosts existentes antes de realizar la " "importación." @@ -10594,12 +10601,13 @@ #, python-format msgid "migration_policy must be 'on-demand' or 'never', passed: %s" -msgstr "migration_policy debe ser 'on-demand' o 'never', se ha pasado: %s" +msgstr "migration_policy debe ser 'on-demand' o 'never', se ha pasado: %s" #, python-format msgid "mkfs failed on volume %(vol)s, error message was: %(err)s." msgstr "" -"mkfs ha fallado en el volumen %(vol)s, el mensaje de error era: %(err)s." +"mkfs ha fallado en el volumen %(vol)s, el mensaje de error recibido es: " +"%(err)s." msgid "mock" msgstr "simulación" @@ -10634,11 +10642,11 @@ #, python-format msgid "not exactly one snapshot with id %s" -msgstr "no exactamente una instantánea con el id %s" +msgstr "no hay exactamente una instantánea con el id %s" #, python-format msgid "not exactly one volume with id %s" -msgstr "no exactamente un volumen con el id %s" +msgstr "no hay exactamente un volumen con el id %s" #, python-format msgid "obj missing quotes %s" @@ -10684,7 +10692,7 @@ #, python-format msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" -msgstr "read_deleted solo puede ser 'no', 'yes' o 'only', no %r" +msgstr "read_deleted solo puede ser 'no', 'yes' o 'only', pero no %r" #, python-format msgid "replication_device should be configured on backend: %s." @@ -10784,7 +10792,7 @@ #, python-format msgid "snapshot id:%s not found" -msgstr "id:%s de instantánea no encontrado" +msgstr "No se ha encontrado el id de instantánea:%s" #, python-format msgid "snapshot-%s" @@ -10798,11 +10806,11 @@ #, python-format msgid "source vol id:%s not found" -msgstr "id:%s de volumen de origen no encontrado" +msgstr "No se ha encontrado el id de volumen de origen:%s" #, python-format msgid "source volume id:%s is not replicated" -msgstr "El ID de volumen de origen: %s no se replica" +msgstr "El ID de volumen de origen: %s no se ha replicado" msgid "source-name cannot be empty." msgstr "source-name no puede estar vacío." @@ -10815,7 +10823,7 @@ msgstr "el estado debe ser %s y" msgid "status must be available" -msgstr "el estado debe ser available" +msgstr "el estado debe ser 'disponible'" msgid "stop_hypermetro error." msgstr "Error de stop_hypermetro." @@ -10926,8 +10934,8 @@ msgid "" "volume_type must be provided when creating a volume in a consistency group." msgstr "" -"Es necesario proporcionar el tipo_volumen al crear un volumen en un grupo " -"de ." +"Es necesario proporcionar el volume_type al crear un volumen en un grupo de " +"consistencia." msgid "volume_type_id cannot be None" msgstr "volume_type_id no puede ser None (Ninguno)" @@ -10935,13 +10943,13 @@ #, python-format msgid "volume_types must be provided to create consistency group %(name)s." msgstr "" -"Es necesario proporcionar tipos_volumen para crear el grupo de consistencia " -"%(name)s." +"Es necesario proporcionar los volume_types para crear el grupo de " +"consistencia %(name)s." #, python-format msgid "volume_types must be provided to create consistency group %s." msgstr "" -"Es necesario proporcionar tipos_volumen para crear el grupo de consistencia " +"Es necesario proporcionar volume_types para crear el grupo de consistencia " "%s." msgid "volumes assigned" diff -Nru cinder-8.0.0/cinder/locale/fr/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/fr/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/fr/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/fr/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,21 +7,17 @@ # François Bureau, 2013 # FIRST AUTHOR , 2011 # Jonathan Dupart , 2014 -# Maxime Coquerel , 2015. #zanata -# OpenStack Infra , 2015. #zanata -# Tom Cocozzello , 2015. #zanata -# Martine Marin , 2016. #zanata -# Tom Cocozzello , 2016. #zanata +# Sylvie Chesneau , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev29\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-29 01:54+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-28 08:03+0000\n" -"Last-Translator: Martine Marin \n" +"PO-Revision-Date: 2016-04-14 05:46+0000\n" +"Last-Translator: Sylvie Chesneau \n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "Generated-By: Babel 2.0\n" @@ -42,11 +38,11 @@ #, python-format msgid " but size is now %d" -msgstr " mais la taille est maintenant %d" +msgstr " mais la taille est à présent %d" #, python-format msgid " but size is now %d." -msgstr " mais la taille est maintenant %d." +msgstr " mais la taille est à présent %d." msgid " or " msgstr " ou " @@ -135,7 +131,8 @@ #, python-format msgid "%(name)s has a minimum character requirement of %(min_length)s." -msgstr "%(name)s doit être long d'au moins %(min_length)s caractères." +msgstr "" +"%(name)s doit avoir une longueur minimale de %(min_length)s caractères." #, python-format msgid "%(name)s has more than %(max_length)s characters." @@ -155,15 +152,15 @@ msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" msgstr "" "Le service %(service)s n'a pas le statut %(status)s sur le dispositif de " -"stockage %(host)s" +"stockage : %(host)s" #, python-format msgid "%(value_name)s must be <= %(max_value)d" -msgstr "%(value_name)s doit être <= %(max_value)d" +msgstr "%(value_name)s doit être <= à %(max_value)d" #, python-format msgid "%(value_name)s must be >= %(min_value)d" -msgstr "%(value_name)s doit être >= %(min_value)d" +msgstr "%(value_name)s doit être >= à %(min_value)d" #, python-format msgid "" @@ -215,7 +212,7 @@ #, python-format msgid "%s is not a string or unicode" -msgstr "%s n'est pas une chaîne ou unicode" +msgstr "%s n'est pas de typechaîne ou unicode" #, python-format msgid "%s is not installed" @@ -268,7 +265,7 @@ "fichier de configuration. La ou les valeurs valides sont %(enabled)s." msgid "'active' must be present when writing snap_info." -msgstr "'active' doit présent lors de l'écriture de snap_info." +msgstr "'active' doit être présent lors de l'écriture de snap_info." msgid "'consistencygroup_id' must be specified" msgstr "'consistencygroup_id' doit être spécifié" @@ -296,8 +293,7 @@ #, python-format msgid "A LUN (HLUN) was not found. (LDEV: %(ldev)s)" msgstr "" -"Un numéro d'unité logique hôte (HLUN) est introuvable. (unité logique : " -"%(ldev)s)" +"Un numéro d'unité logique (HLUN) est introuvable. (unité logique : %(ldev)s)" msgid "A concurrent, possibly contradictory, request has been made." msgstr "Une demande simultanée, et peut-être contradictoire, a été effectuée." @@ -312,7 +308,7 @@ #, python-format msgid "A host group could not be added. (port: %(port)s, name: %(name)s)" msgstr "" -"Un groupe d'hôtes n'a pas pu être ajouté (port : %(port)s, nom : %(name)s)" +"Un groupe d'hôtes n'a pas pu être ajouté. (port : %(port)s, nom : %(name)s)" #, python-format msgid "" @@ -353,7 +349,7 @@ #, python-format msgid "A snapshot status is invalid. (status: %(status)s)" -msgstr "Un statut d'instantané n'est pas valide. (statut : %(status)s)" +msgstr "Un statut de snapshot n'est pas valide. (statut : %(status)s)" msgid "A valid secondary target MUST be specified in order to failover." msgstr "" @@ -361,7 +357,7 @@ "basculement." msgid "A volume ID or share was not specified." -msgstr "Un ID de volume ou un partage n'a pas été spécifié." +msgstr "Un ID volume ou un partage n'a pas été spécifié." #, python-format msgid "A volume status is invalid. (status: %(status)s)" @@ -393,7 +389,7 @@ #, python-format msgid "API version %(version)s is not supported on this method." msgstr "" -"La version %(version)s de l'API n'est pas prise en charge avec cette méthode." +"La version d'API %(version)s n'est pas prise en charge avec cette méthode." msgid "API version could not be determined." msgstr "La version d'API n'a pas pu être déterminée." @@ -402,8 +398,8 @@ "About to delete child projects having non-zero quota. This should not be " "performed" msgstr "" -"Vous êtes sur le point de supprimer des projets enfants avec quota non zéro. " -"Ceci ne devrait pas être effectué. " +"Vous êtes sur le point de supprimer des projets enfant avec quota différent " +"de zéro. Cette opération ne doit pas être effectuée. " msgid "Access list not available for public volume types." msgstr "Liste d'accès indisponible pour les types de volume publics." @@ -412,7 +408,7 @@ msgstr "Erreur lors de l'activation ou de la désactivation QoS." msgid "Activate snapshot error." -msgstr "Erreur lors de l'activation de l'instantané." +msgstr "Erreur lors de l'activation du snapshot." msgid "Add FC port to host error." msgstr "Erreur lors de l'ajout du port FC à l'hôte." @@ -444,7 +440,7 @@ "your configuration. Non-existent pools: %s" msgstr "" "Les pools de stockage spécifiés pour être gérés n'existent pas tous. " -"Vérifiez votre configuration. Pools non existants : %s" +"Vérifiez votre configuration. Pools inexistants : %s" msgid "An API version request must be compared to a VersionedMethod object." msgstr "" @@ -460,8 +456,8 @@ #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." msgstr "" -"Une erreur s'est produite lors de la tentative de modification de " -"l'instantané '%s'." +"Une erreur s'est produite lors de la tentative de modification du snapshot " +"'%s'." #, python-format msgid "An error occured while seeking for volume \"%s\"." @@ -531,8 +527,8 @@ "Applying the zones and cfgs to the switch failed (error code=%(err_code)s " "error msg=%(err_msg)s." msgstr "" -"Echec de l'application de zones et de cfgs au commutateur (code d'erreur=" -"%(err_code)s, message d'erreur=%(err_msg)s.)" +"Echec de l'application de zones et de configurations au commutateur (code " +"d'erreur=%(err_code)s, message d'erreur=%(err_msg)s.)" #, python-format msgid "Array does not exist or is offline. Current status of array is %s." @@ -565,7 +561,8 @@ #, python-format msgid "Attempt to transfer %s with invalid auth key." -msgstr "Tentative de transfert de %s avec une clé d'auth non valide." +msgstr "" +"Tentative de transfert de %s avec une clé d'authentification non valide." #, python-format msgid "Auth group [%s] details not found in CloudByte storage." @@ -575,8 +572,8 @@ msgid "Auth user details not found in CloudByte storage." msgstr "" -"Informations d'utilisateur de l'authentification introuvables dans le " -"stockage CloudByte." +"Informations d'authentification d'utilisateur introuvables dans le stockage " +"CloudByte." msgid "Authentication error" msgstr "Erreur d'authentification" @@ -606,7 +603,7 @@ #, python-format msgid "Backend doesn't exist (%(backend)s)" -msgstr "Le système dorsal n'existe pas (%(backend)s)" +msgstr "Le système de back-end n'existe pas (%(backend)s)" msgid "Backend has already been failed over. Unable to fail back." msgstr "Le back-end a déjà été basculé. Impossible de le rebasculer." @@ -626,12 +623,10 @@ #, python-format msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "" -"Le délai de nouvelle tentative du service de back-end est atteint : " -"%(timeout)s s" +msgstr "Délai de relance du service de back-end atteint : %(timeout)s s" msgid "Backend storage did not configure fiber channel target." -msgstr "Le stockage de back-end n'a pas configuré la cible de canal optique." +msgstr "Le stockage de back-end n'a pas configuré la cible Fibre Channel." msgid "Backing up an in-use volume must use the force flag." msgstr "" @@ -658,21 +653,21 @@ msgid "Backup is not supported for GlusterFS volumes with snapshots." msgstr "" "La sauvegarde n'est pas prise en charge pour les volumes GlusterFS avec des " -"instantanés." +"snapshots." msgid "Backup is only supported for SOFS volumes without backing file." msgstr "" -"La sauvegarde est seulement prise en charge pour les volumes SOFS sans " -"fichier de sauvegarde." +"La sauvegarde est prise en charge uniquement pour les volumes SOFS sans " +"fichier de support." msgid "Backup is only supported for raw-formatted GlusterFS volumes." msgstr "" -"La sauvegarde est seulement prise en charge pour les volumes GlusterFS au " +"La sauvegarde est prise en charge uniquement pour les volumes GlusterFS au " "format raw." msgid "Backup is only supported for raw-formatted SOFS volumes." msgstr "" -"La sauvegarde est seulement prise en charge pour les volumes SOFS au format " +"La sauvegarde est prise en charge uniquement pour les volumes SOFS au format " "raw." msgid "Backup operation of an encrypted volume failed." @@ -698,24 +693,24 @@ #, python-format msgid "Backup should only have one snapshot but instead has %s" msgstr "" -"La sauvegarde comporte %s instantanés alors qu'elle ne doit en contenir qu'un" +"La sauvegarde comporte %s snapshots alors qu'elle ne doit en contenir qu'un" msgid "Backup status must be available" -msgstr "L'état de sauvegarde doit être disponible" +msgstr "Le statut de la sauvegarde doit être disponible" #, python-format msgid "Backup status must be available and not %s." -msgstr "L'état de sauvegarde doit être disponible mais pas %s." +msgstr "Le statut de la sauvegarde doit être disponible et non %s." msgid "Backup status must be available or error" -msgstr "L'état de sauvegarde doit être Disponible ou Erreur" +msgstr "Le statut de la sauvegarde doit être Disponible ou Erreur" msgid "Backup to be restored has invalid size" msgstr "La sauvegarde à restaurer a une taille non valide" #, python-format msgid "Bad Status line returned: %(arg)s." -msgstr "Mauvaise ligne d'état renvoyée : %(arg)s." +msgstr "Mauvaise ligne de statut renvoyée : %(arg)s." #, python-format msgid "Bad key(s) in quota set: %s" @@ -750,26 +745,25 @@ msgstr "Réponse incorrecte de XMS, %s" msgid "Binary" -msgstr "binaire" +msgstr "Binaire" msgid "Blank components" msgstr "Composants vides" msgid "Blockbridge API authentication scheme (token or password)" -msgstr "" -"Méthode d'authentification de l'API Blockbridge (jeton ou mot de passe)" +msgstr "Schéma d'authentification de l'API Blockbridge (jeton ou mot de passe)" msgid "Blockbridge API password (for auth scheme 'password')" msgstr "" -"Mot de passe de l'API Blockbridge (pour méthode d'authentification 'mot de " +"Mot de passe de l'API Blockbridge (pour schéma d'authentification 'mot de " "passe')" msgid "Blockbridge API token (for auth scheme 'token')" -msgstr "Jeton de l'API Blockbridge (pour méthode d'authentification 'jeton')" +msgstr "Jeton de l'API Blockbridge (pour schéma d'authentification 'jeton')" msgid "Blockbridge API user (for auth scheme 'password')" msgstr "" -"Utilisateur de l'API Blockbridge (pour méthode d'authentification 'mot de " +"Utilisateur de l'API Blockbridge (pour schéma d'authentification 'mot de " "passe')" msgid "Blockbridge api host not configured" @@ -778,7 +772,7 @@ #, python-format msgid "Blockbridge configured with invalid auth scheme '%(auth_scheme)s'" msgstr "" -"Blockbridge a été configuré avec une méthode d'authentification non valide " +"Blockbridge a été configuré avec un schéma d'authentification non valide " "'%(auth_scheme)s'" msgid "Blockbridge default pool does not exist" @@ -787,7 +781,7 @@ msgid "" "Blockbridge password not configured (required for auth scheme 'password')" msgstr "" -"Le mot de passe Blockbridge n'a pas été configuré (requis pour la méthode " +"Le mot de passe Blockbridge n'a pas été configuré (requis pour le schéma " "d'authentification 'mot de passe')" msgid "Blockbridge pools not configured" @@ -795,12 +789,12 @@ msgid "Blockbridge token not configured (required for auth scheme 'token')" msgstr "" -"Le jeton Blockbridge n'a pas été configuré (requis pour la méthode " +"Le jeton Blockbridge n'a pas été configuré (requis pour le schéma " "d'authentification 'jeton')" msgid "Blockbridge user not configured (required for auth scheme 'password')" msgstr "" -"L'utilisateur Blockbridge n'a pas été configuré (requis pour la méthode " +"L'utilisateur Blockbridge n'a pas été configuré (requis pour le schéma " "d'authentification 'mot de passe')" #, python-format @@ -813,7 +807,7 @@ msgstr "Erreur HTTP de segmentation Brocade Fibre Channel : %(reason)s" msgid "CHAP secret should be 12-16 bytes." -msgstr "Le secret CHAP doit contenir 12 à 16 octets." +msgstr "Le secret CHAP doit comporter 12 à 16 octets." #, python-format msgid "" @@ -860,7 +854,7 @@ #, python-format msgid "Cache volume %(cache_vol)sdoes not have snapshot %(cache_snap)s." -msgstr "Le volume cache %(cache_vol)s n'a pas d'instantané %(cache_snap)s." +msgstr "Le volume cache %(cache_vol)s n'a pas de snapshot %(cache_snap)s." #, python-format msgid "Cache volume %s does not have required properties" @@ -874,12 +868,11 @@ #, python-format msgid "Can not find cache id by cache name %(name)s." -msgstr "" -"Impossible de déterminer l'ID de cache à partir du nom de cache %(name)s." +msgstr "Impossible de déterminer l'ID cache par nom de cache %(name)s." #, python-format msgid "Can not find partition id by name %(name)s." -msgstr "Impossible de déterminer l'ID de partition à partir du nom %(name)s." +msgstr "Impossible de déterminer l'ID partition par nom %(name)s." #, python-format msgid "Can not get pool info. pool: %s" @@ -894,7 +887,7 @@ msgstr "Impossible d'accéder à 'scality_sofs_config' : %s" msgid "Can't attach snapshot." -msgstr "Impossible de connecter l'instantané." +msgstr "Impossible de connecter le snapshot." msgid "Can't decode backup record." msgstr "Impossible de décoder l'enregistrement de sauvegarde." @@ -913,12 +906,6 @@ msgstr "Nom de cache %(name)s introuvable sur la matrice." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "" -"ID de numéro d'unité logique (lun) introuvable à partir de la base de " -"données, volume : %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "Informations de numéro d'unité logique (lun) introuvables sur la matrice. " @@ -936,21 +923,20 @@ msgid "" "Can't find snapshot on array, please check the source-name or source-id." msgstr "" -"Instantané introuvable sur la matrice, vérifiez la valeur de source-name ou " +"Snapshot introuvable sur la matrice, vérifiez la valeur de source-name ou " "source-id." msgid "Can't find the same host id from arrays." -msgstr "Impossible de trouver le même ID d'hôte (host id) dans les matrices." +msgstr "Impossible de trouver le même ID hôte (host id) dans les matrices." #, python-format msgid "Can't get volume id from snapshot, snapshot: %(id)s" msgstr "" -"Impossible d'obtenir l'ID de volume à partir de l'instantané, instantané : " -"%(id)s" +"Impossible d'obtenir l'ID volume à partir du snapshot, snapshot : %(id)s" #, python-format msgid "Can't get volume id. Volume name: %s." -msgstr "Impossible d'obtenir l'ID du volume. Nom du volume : %s." +msgstr "Impossible d'obtenir l'ID volume. Nom du volume : %s." #, python-format msgid "Can't import LUN %(lun_id)s to Cinder. LUN type mismatched." @@ -1010,13 +996,13 @@ #, python-format msgid "Can't import snapshot %s to Cinder. Snapshot doesn't belong to volume." msgstr "" -"Impossible d'importer l'instantané %s dans Cinder. L'instantané n'appartient " +"Impossible d'importer le snapshot %s dans Cinder. Le snapshot n'appartient " "pas au volume." #, python-format msgid "Can't import snapshot %s to Cinder. Snapshot is exposed to initiator." msgstr "" -"Impossible d'importer l'instantané %s dans Cinder. L'instantané est exposé " +"Impossible d'importer le snapshot %s dans Cinder. Le snapshot est exposé " "dans l'initiateur." #, python-format @@ -1024,7 +1010,7 @@ "Can't import snapshot %s to Cinder. Snapshot status is not normal or running " "status is not online." msgstr "" -"Impossible d'importer l'instantané %s dans Cinder. Le statut de l'instantané " +"Impossible d'importer le snapshot %s dans Cinder. Le statut du snapshot " "n'est pas normal ou le statut d'exécution n'est pas connecté (online)." #, python-format @@ -1072,8 +1058,8 @@ "volume is in an invalid state: %(status)s. Valid states are: %(valid)s." msgstr "" "Impossible d'ajouter le volume %(volume_id)s au groupe de cohérence " -"%(group_id)s car le volume est dans un état non valide : %(status)s. Les " -"états valides sont : %(valid)s." +"%(group_id)s car le volume est dans un état non valide : %(status)s. Etats " +"valides : %(valid)s." #, python-format msgid "" @@ -1089,7 +1075,7 @@ "Cannot attach already attached volume %s; multiattach is disabled via the " "'netapp_enable_multiattach' configuration option." msgstr "" -"Impossible de rattacher le volume %s qui est déjà rattaché ; multiattach est " +"Impossible de connecter le volume %s qui est déjà connecté ; multiattach est " "désactivé via l'option de configuration 'netapp_enable_multiattach'." msgid "Cannot change VF context in the session." @@ -1118,8 +1104,8 @@ "Cannot create consistency group %(group)s because snapshot %(snap)s is not " "in a valid state. Valid states are: %(valid)s." msgstr "" -"Impossible de créer le groupe de cohérence %(group)s car l'instantané " -"%(snap)s n'est pas dans un état valide. Les états valides sont : %(valid)s." +"Impossible de créer le groupe de cohérence %(group)s car le snapshot " +"%(snap)s n'est pas dans un état valide. Etats valides : %(valid)s." #, python-format msgid "" @@ -1155,7 +1141,7 @@ "'netapp_enable_multiattach' is set to true." msgstr "" "Impossible de créer plus de %(req)s volumes sur la matrice ESeries lorsque " -"'netapp_enable_multiattach' est défini à true." +"'netapp_enable_multiattach' est défini sur true." #, python-format msgid "Cannot create or find an storage group with name %(sgGroupName)s." @@ -1168,7 +1154,7 @@ "Cannot create volume of size %(vol_size)s from snapshot of size %(snap_size)s" msgstr "" "Impossible de créer un volume d'une taille de %(vol_size)s depuis un " -"instantané d'une taille de %(snap_size)s" +"snapshot d'une taille de %(snap_size)s" #, python-format msgid "Cannot create volume of size %s: not multiple of 8GB." @@ -1185,8 +1171,8 @@ #, python-format msgid "Cannot delete LUN %s while snapshots exist." msgstr "" -"Impossible de supprimer le numéro d'unité logique %s alors que des " -"instantanés existent." +"Impossible de supprimer le numéro d'unité logique %s alors qu'il existe des " +"snapshots." #, python-format msgid "" @@ -1202,7 +1188,7 @@ "Cannot delete cache volume: %(cachevol_name)s. It was updated at " "%(updated_at)s and currently has %(numclones)s volume instances." msgstr "" -"Impossible de supprimer le volume cache : %(cachevol_name)s. Ila été mis à " +"Impossible de supprimer le volume cache %(cachevol_name)s. Il a été mis à " "jour le %(updated_at)s et contient actuellement %(numclones)s instances de " "volume." @@ -1226,18 +1212,18 @@ "Cannot find Controller Configuration Service for storage system " "%(storage_system)s." msgstr "" -"Service de configuration du contrôleur introuvable pour le système de " +"Service de configuration de contrôleur introuvable pour le système de " "stockage %(storage_system)s." #, python-format msgid "Cannot find Replication Service to create volume for snapshot %s." msgstr "" -"Service de réplication introuvable pour créer le volume pour l'instantané %s." +"Service de réplication introuvable pour créer le volume pour le snapshot %s." #, python-format msgid "Cannot find Replication Service to delete snapshot %s." msgstr "" -"Impossible de trouver le service de réplication pour supprimer l'instantané " +"Impossible de trouver le service de réplication pour supprimer le snapshot " "%s." #, python-format @@ -1247,12 +1233,13 @@ #, python-format msgid "Cannot find Volume: %(id)s. unmanage operation. Exiting..." msgstr "" -"Impossible de trouver le volume : %(id)s. Opération d'arrêt de la gestion " -"(unmanage). Sortie..." +"Impossible de trouver le volume %(id)s. Opération d'arrêt de la gestion " +"(unmanage). Sortie en cours..." #, python-format msgid "Cannot find Volume: %(volumename)s. Extend operation. Exiting...." -msgstr "Volume %(volumename)s introuvable. Etendez l'opération. Sortie..." +msgstr "" +"Volume %(volumename)s introuvable. Opération d'extension. Sortie en cours..." #, python-format msgid "Cannot find device number for volume %(volumeName)s." @@ -1269,12 +1256,11 @@ msgid "Cannot find source CG instance. consistencygroup_id: %s." msgstr "" "Impossible de trouver l'instance de groupe de cohérence source. " -"consistencygroup_id: %s." +"consistencygroup_id : %s." #, python-format msgid "Cannot get mcs_id by channel id: %(channel_id)s." -msgstr "" -"Impossible d'obtenir mcs_id à partir de l'ID de canal : %(channel_id)s." +msgstr "Impossible d'obtenir mcs_id à partir de l'ID canal : %(channel_id)s." msgid "Cannot get necessary pool or storage system information." msgstr "" @@ -1303,7 +1289,7 @@ "Cannot get storage group: %(sgGroupName)s from masking view " "%(maskingViewInstanceName)s. " msgstr "" -"Impossible d'obtenir le groupe de stockage %(sgGroupName)s de la vue de " +"Impossible d'obtenir le groupe de stockage %(sgGroupName)s depuis la vue de " "masquage %(maskingViewInstanceName)s. " #, python-format @@ -1322,7 +1308,7 @@ "%(fastPolicyName)s" msgid "Cannot get the portgroup from the masking view." -msgstr "Impossible d'obtenir portgroup à partir de la vue de masquage." +msgstr "Impossible d'obtenir le portgroup à partir de la vue de masquage." msgid "Cannot mount Scality SOFS, check syslog for errors" msgstr "" @@ -1331,7 +1317,7 @@ msgid "Cannot ping DRBDmanage backend" msgstr "" -"Impossible d'exécuter une commande ping sur le système dorsal DRBDmanage" +"Impossible d'exécuter une commande ping sur le système de back-end DRBDmanage" #, python-format msgid "Cannot place volume %(id)s on %(host)s" @@ -1349,14 +1335,14 @@ msgstr "Impossible d'enregistrer la ressource" msgid "Cannot register resources" -msgstr "Impossible d'enregistrer les ressources" +msgstr "Impossible d'enregistrer des ressources" #, python-format msgid "" "Cannot remove volume %(volume_id)s from consistency group %(group_id)s " "because it is not in the group." msgstr "" -"Impossible de supprimer le volume %(volume_id)s du groupe de cohérence " +"Impossible de retirer le volume %(volume_id)s du groupe de cohérence " "%(group_id)s car il ne se trouve pas dans le groupe." #, python-format @@ -1365,9 +1351,9 @@ "because volume is in an invalid state: %(status)s. Valid states are: " "%(valid)s." msgstr "" -"Impossible de supprimer le volume %(volume_id)s du groupe de cohérence " -"%(group_id)s car le volume est dans un état non valide : %(status)s. Les " -"états valides sont : %(valid)s." +"Impossible de retirer le volume %(volume_id)s du groupe de cohérence " +"%(group_id)s car le volume est dans un état non valide : %(status)s. Etats " +"valides : %(valid)s." #, python-format msgid "Cannot retype from HPE3PARDriver to %s." @@ -1377,11 +1363,10 @@ msgstr "Confirmation impossible de matrice 3PAR en une autre." msgid "Cannot retype to a CPG in a different domain." -msgstr "Confirmation impossible vers un CPG dans un autre domaine." +msgstr "Confirmation impossible vers un CPG d'un autre domaine." msgid "Cannot retype to a snap CPG in a different domain." -msgstr "" -"Confirmation impossible vers un CPG d'instantané dans un autre domaine." +msgstr "Confirmation impossible vers un CPG de snapshot d'un autre domaine." msgid "" "Cannot run vgc-cluster command, please ensure software is installed and " @@ -1408,8 +1393,8 @@ "Cannot update consistency group %(group_id)s because no valid name, " "description, add_volumes, or remove_volumes were provided." msgstr "" -"Impossible de mettre à jour le groupe de cohérence %(group_id)s car aucun " -"nom, description, add_volumes ou remove_volumes valide n'ont été fournis." +"Impossible de mettre à jour le groupe de cohérence %(group_id)s car aucun(e) " +"nom, description, add_volumes ou remove_volumes valide n'a été fourni(e)." msgid "Cannot update encryption specs. Volume type in use." msgstr "" @@ -1429,20 +1414,20 @@ #, python-format msgid "CgSnapshot %(cgsnapshot_id)s could not be found." -msgstr "L'instantané de groupe de cohérence %(cgsnapshot_id)s est introuvable." +msgstr "Le snapshot de groupe de cohérence %(cgsnapshot_id)s est introuvable." msgid "Cgsnahost is empty. No consistency group will be created." msgstr "Cgsnahost est vide. Aucun groupe de cohérence ne sera créé." msgid "Cgsnapshot status must be available or error" msgstr "" -"L'état d'instantané de groupe de cohérence doit être Disponible ou Erreur" +"Le statut du snapshot de groupe de cohérence doit être Disponible ou Erreur" msgid "Change hostlun id error." msgstr "Erreur lors du changement d'ID hostlun." msgid "Change lun priority error." -msgstr "Erreur lors de la modification de priorité de numéro d'unité logique." +msgstr "Erreur lors du changement de priorité de numéro d'unité logique." msgid "Change lun smarttier policy error." msgstr "" @@ -1487,7 +1472,7 @@ msgid "Chunk size is not multiple of block size for creating hash." msgstr "" -"La taille de bloc n'est pas un multiple de la taille de bloc pour la " +"La taille de bloc (chunk) n'est pas un multiple de la taille de bloc pour la " "création du hachage." #, python-format @@ -1522,8 +1507,7 @@ #, python-format msgid "Command %(cmd)s blocked in the CLI and was cancelled" -msgstr "" -"La commande %(cmd)s a été bloquée dans l'interface CLI et a été annulée" +msgstr "La commande %(cmd)s bloquée dans l'interface CLI et a été annulée" #, python-format msgid "CommandLineHelper._wait_for_a_condition: %s timeout" @@ -1536,7 +1520,7 @@ msgid "Compression Enabler is not installed. Can not create compressed volume." msgstr "" -"L'optimiseur de compression n'est pas installé. Impossible de créer le " +"L'optimiseur de compression n'est pas installé. Impossible de créer un " "volume compressé." #, python-format @@ -1544,7 +1528,7 @@ msgstr "Cluster de calcul %(cluster)s introuvable." msgid "Condition has no field." -msgstr "La condition n'a aucun champ correspondant." +msgstr "La condition ne comporte aucun champ correspondant." #, python-format msgid "Config 'max_over_subscription_ratio' invalid. Must be > 0: %s" @@ -1576,24 +1560,24 @@ msgstr "" "Conflit entre les spécifications QoS dans le type de volume %s : lorsque la " "spécification QoS est associée au type de volume, un \"netapp:" -"qos_policy_group\" suranné n'est pas autorisédans les spécifications " -"supplémentaires du type de volume." +"qos_policy_group\" existant n'est pas autorisé dans les spécifications " +"supplémentaires de type de volume." #, python-format msgid "Connection to glance failed: %(reason)s" -msgstr "Connexion à glance échouée : %(reason)s" +msgstr "Connexion à glance en échec : %(reason)s" #, python-format msgid "Connection to swift failed: %(reason)s" -msgstr "Connexion à swift échouée : %(reason)s" +msgstr "Echec de connexion à swift : %(reason)s" #, python-format msgid "Connector does not provide: %s" -msgstr "Le connecteur ne fournit pas : %s" +msgstr "Le connecteur ne fournit pas %s" #, python-format msgid "Connector doesn't have required information: %(missing)s" -msgstr "Le connecteur n'a pas les informations requises : %(missing)s" +msgstr "Le connecteur ne comporte pas les informations requises : %(missing)s" #, python-format msgid "" @@ -1606,12 +1590,12 @@ #, python-format msgid "Consistency group %s still has dependent cgsnapshots." msgstr "" -"Le groupe de cohérence %s contient encore des instantanés de groupe de " +"Le groupe de cohérence %s contient encore des snapshots de groupe de " "cohérence dépendants." msgid "Consistency group is empty. No cgsnapshot will be created." msgstr "" -"Le groupe de cohérence est vide. Aucun instantané de groupe de cohérence ne " +"Le groupe de cohérence est vide. Aucun snapshot de groupe de cohérence ne " "sera créé." #, python-format @@ -1619,14 +1603,14 @@ "Consistency group status must be available or error, but current status is: " "%s" msgstr "" -"L'état de groupe de cohérence doit être Disponible ou Erreur, mais l'état en " -"cours est : %s" +"Le statut de groupe de cohérence doit être Disponible ou Erreur, mais le " +"statut en cours est : %s" #, python-format msgid "Consistency group status must be available, but current status is: %s." msgstr "" -"L'état du groupe de cohérence doit être disponible, mais l'état actuel est : " -"%s." +"Le groupe de cohérence doit avoir le statut disponible, mais le statut " +"actuel est : %s." #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." @@ -1644,7 +1628,7 @@ "'bare' est pris en charge." msgid "Container size smaller than required file size." -msgstr "Taille du conteneur inférieure à la taille de fichier requise." +msgstr "Taille de conteneur inférieure à la taille de fichier requise." msgid "Content type not supported." msgstr "Type de contenu non pris en charge." @@ -1660,21 +1644,21 @@ #, python-format msgid "Converted to %(f1)s, but format is now %(f2)s" -msgstr "Converti au format %(f1)s, mais le format est maintenant %(f2)s" +msgstr "Converti au format %(f1)s, mais le format est à présent %(f2)s" #, python-format msgid "Converted to %(vol_format)s, but format is now %(file_format)s" msgstr "" -"Converti au format %(vol_format)s, mais le format est maintenant " +"Converti au format %(vol_format)s, mais le format est à présent " "%(file_format)s" #, python-format msgid "Converted to raw, but format is now %s" -msgstr "Converti au format brut, mais le format est maintenant %s" +msgstr "Converti au format raw, mais le format est à présent %s" #, python-format msgid "Converted to raw, but format is now %s." -msgstr "Converti au format brut, mais le format est maintenant %s." +msgstr "Converti au format brut (raw), mais le format est à présent %s." msgid "Coordinator uninitialized." msgstr "Coordinateur non initialisé." @@ -1684,7 +1668,7 @@ "Copy volume task failed: convert_to_base_volume: id=%(id)s, status=" "%(status)s." msgstr "" -"Echec de la tâche de copie de volume : convert_to_base_volume: id=%(id)s, " +"Echec de la tâche de copie de volume : convert_to_base_volume : id=%(id)s, " "status=%(status)s." #, python-format @@ -1703,16 +1687,16 @@ "in the service catalog or with the cinder.conf config option " "'backup_swift_auth_url'." msgstr "" -"Impossible de déterminer le noeud final Keystone à utiliser. Cela peut être " -"défini dans le catalogue de service ou à l'aide de l'option de configuration " -"cinder.conf 'backup_swift_auth_url'." +"Impossible de déterminer le noeud final Keystone à utiliser. Peut être " +"défini dans le catalogue de services ou à l'aide de l'option de " +"configuration cinder.conf 'backup_swift_auth_url'." msgid "" "Could not determine which Swift endpoint to use. This can either be set in " "the service catalog or with the cinder.conf config option 'backup_swift_url'." msgstr "" -"Impossible de déterminer le noeud final Swift à utiliser. Cela peut être " -"défini dans le catalogue de service ou à l'aide de l'option de configuration " +"Impossible de déterminer le noeud final Swift à utiliser. Peut être défini " +"dans le catalogue de services ou à l'aide de l'option de configuration " "cinder.conf 'backup_swift_url'." msgid "Could not find DISCO wsdl file." @@ -1720,7 +1704,7 @@ #, python-format msgid "Could not find GPFS cluster id: %s." -msgstr "ID de cluster GPFS introuvable : %s." +msgstr "ID cluster GPFS introuvable : %s." #, python-format msgid "Could not find GPFS file system device: %s." @@ -1742,16 +1726,17 @@ #, python-format msgid "Could not find iSCSI export for volume %s" -msgstr "Exportation iSCSI trouvée pour le volume %s" +msgstr "Exportation iSCSI introuvable pour le volume %s" #, python-format msgid "Could not find iSCSI target for volume: %(volume_id)s." -msgstr "Cible iSCSI introuvable pour le volume : %(volume_id)s." +msgstr "Cible iSCSI introuvable pour le volume %(volume_id)s." #, python-format msgid "Could not find key in output of command %(cmd)s: %(out)s." msgstr "" -"Impossible de trouver une clé dans la sortie de la commande %(cmd)s: %(out)s." +"Impossible de trouver une clé dans la sortie de la commande %(cmd)s : " +"%(out)s." #, python-format msgid "Could not find parameter %(param)s" @@ -1764,19 +1749,18 @@ #, python-format msgid "Could not find the parent volume for Snapshot '%s' on array." msgstr "" -"Impossible de trouver le volume parent de l'instantané '%s' sur la matrice." +"Impossible de trouver le volume parent du snapshot '%s' sur la matrice." #, python-format msgid "Could not find unique snapshot %(snap)s on volume %(vol)s." -msgstr "" -"Impossible de trouver l'instantané unique %(snap)s sur le volume %(vol)s." +msgstr "Snapshot unique %(snap)s introuvable sur le volume %(vol)s." msgid "Could not get system name." msgstr "Impossible d'obtenir le nom du système." #, python-format msgid "Could not load paste app '%(name)s' from %(path)s" -msgstr "Echec du chargement de l'app de collage '%(name)s' depuis %(path)s" +msgstr "Echec du chargement de l'appli de collage '%(name)s' depuis %(path)s" #, python-format msgid "Could not read %s. Re-running with sudo" @@ -1787,7 +1771,7 @@ "Could not read information for snapshot %(name)s. Code: %(code)s. Reason: " "%(reason)s" msgstr "" -"Impossible de lire les informations pour l'instantané %(name)s. Code : " +"Impossible de lire les informations pour le snapshot %(name)s. Code : " "%(code)s. Raison : %(reason)s" #, python-format @@ -1797,15 +1781,15 @@ #, python-format msgid "Could not save configuration to %(file_path)s: %(exc)s" -msgstr "Impossible d'enregistrer la configuration dans %(file_path)s: %(exc)s" +msgstr "Impossible de sauvegarder la configuration dans %(file_path)s: %(exc)s" #, python-format msgid "Could not start consistency group snapshot %s." -msgstr "Impossible de démarrer l'instantané du groupe de cohérence %s." +msgstr "Impossible de démarrer le snapshot du groupe de cohérence %s." #, python-format msgid "Counter %s not found" -msgstr "Compteur %s non trouvé" +msgstr "Compteur %s introuvable" msgid "Create QoS policy error." msgstr "Erreur lors de la création de la stratégie QoS." @@ -1815,16 +1799,16 @@ "Create backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Création de la sauvegarde interrompue, état de la sauvegarde attendu " -"%(expected_status)s, mais état %(actual_status)s obtenu." +"Création de la sauvegarde interrompue, statut de la sauvegarde attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." #, python-format msgid "" "Create backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Création de la sauvegarde interrompue, état du volume attendu " -"%(expected_status)s, mais état %(actual_status)s obtenu." +"Création de la sauvegarde interrompue, statut du volume attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." msgid "Create consistency group failed." msgstr "La création du groupe de cohérence a échoué." @@ -1854,13 +1838,13 @@ msgstr "Erreur lors de la création de migration de numéro d'unité logique." msgid "Create luncopy error." -msgstr "Erreur lors de la création luncopy." +msgstr "Erreur lors de la création de luncopy." msgid "Create lungroup error." msgstr "Erreur lors de la création de lungroup." msgid "Create manager volume flow failed." -msgstr "Echec de la création du flux de volume du gestionnaire. " +msgstr "Echec de création du flux de volume du gestionnaire. " msgid "Create port group error." msgstr "Erreur lors de la création du groupe de ports." @@ -1875,14 +1859,14 @@ "%s." msgid "Create snapshot error." -msgstr "Erreur lors de la création de l'instantané." +msgstr "Erreur lors de la création du snapshot." #, python-format msgid "Create volume error. Because %s." msgstr "Erreur lors de la création du volume. Motif : %s." msgid "Create volume failed." -msgstr "Echec de la création du volume." +msgstr "Echec de création du volume." msgid "Creating a consistency group from a source is not currently supported." msgstr "" @@ -1919,8 +1903,8 @@ "Current host not valid for volume %(id)s with type %(type)s, migration not " "allowed" msgstr "" -"Hôte actuel non valide pour le volume %(id)s de type %(type)s, migration non " -"autorisée" +"Hôte en cours non valide pour le volume %(id)s de type %(type)s, migration " +"non autorisée" #, python-format msgid "" @@ -1931,10 +1915,10 @@ "non pris en charge avec %(group)s." msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "OBSOLETE : Déploiement v1 de l'API Cinder." +msgstr "OBSOLETE : Deploy version 1 de l'API Cinder." msgid "DEPRECATED: Deploy v2 of the Cinder API." -msgstr "OBSOLETE : Déploiement v2 de l'API Cinder." +msgstr "OBSOLETE : Deploy version 2 de l'API Cinder." #, python-format msgid "" @@ -1961,16 +1945,15 @@ "\"%(res)s\", volume \"%(vol)s\"" msgstr "" "Dépassement du délai d'attente de DRBDmanage lors de la création du volume " -"après la restauration d'instantané ; ressource \"%(res)s\", volume \"%(vol)s" -"\"" +"après la restauration de snapshot ; ressource \"%(res)s\", volume \"%(vol)s\"" #, python-format msgid "" "DRBDmanage timeout waiting for snapshot creation; resource \"%(res)s\", " "snapshot \"%(sn)s\"" msgstr "" -"Dépassement du délai d'attente de DRBDmanage lors de la création de " -"l'instantané ; ressource \"%(res)s\", instantané \"%(sn)s\"" +"Dépassement du délai d'attente de DRBDmanage lors de la création du " +"snapshot ; ressource \"%(res)s\", snapshot \"%(sn)s\"" #, python-format msgid "" @@ -2001,7 +1984,8 @@ #, python-format msgid "Dataset %s is not shared in Nexenta Store appliance" -msgstr "Dataset %s n'est pas partagé dans Nexenta Store Appliance" +msgstr "" +"L'ensemble de données %s n'est pas partagé dans Nexenta Store Appliance" #, python-format msgid "Dataset group %s not found at Nexenta SA" @@ -2043,7 +2027,7 @@ msgid "" "Defines the set of exposed pools and their associated backend query strings" msgstr "" -"Définit l'ensemble de pools exposés et leurs chaînes de requête dorsale " +"Définit l'ensemble des pools exposés et leurs chaînes de requête de back-end " "associées" msgid "Delete LUNcopy error." @@ -2097,32 +2081,31 @@ msgstr "Erreur lors de la suppression de portgroup de la vue de mappage." msgid "Delete snapshot error." -msgstr "Erreur lors de la suppression de l'instantané." +msgstr "Erreur lors de la suppression du snapshot." #, python-format msgid "Delete snapshot of volume not supported in state: %s." -msgstr "" -"Suppression de l'instantané du volume non pris en charge à l'état : %s." +msgstr "Suppression du snapshot du volume non pris en charge à l'état : %s." #, python-format msgid "" "Delete_backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Delete_backup interrompu, état de la sauvegarde attendu %(expected_status)s, " -"mais état %(actual_status)s obtenu." +"Opération delete_backup interrompue, statut de la sauvegarde attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." msgid "Deleting volume from database and skipping rpc." msgstr "Suppression du volume de la base de données et saut de RPC." #, python-format msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)." -msgstr "Echec de la suppression des zones : (commande=%(cmd)s erreur=%(err)s)." +msgstr "Echec de suppression de zones : (commande=%(cmd)s erreur=%(err)s)." msgid "Dell API 2.1 or later required for Consistency Group support" msgstr "" -"L'API Dell 2.1 ou ultérieure est requise pour prise en charge de groupe de " -"cohérence" +"L'API Dell 2.1 ou ultérieure est requise pour la prise en charge des groupes " +"de cohérence" msgid "" "Dell Cinder driver configuration error replication not supported with direct " @@ -2138,14 +2121,14 @@ "introuvable" msgid "Deploy v3 of the Cinder API." -msgstr "Déploiement v3 de l'API Cinder." +msgstr "Deploy version 3 de l'API Cinder." msgid "Describe-resource is admin only functionality" msgstr "Describe-resource est une fonctionnalité admin uniquement" #, python-format msgid "Destination has migration_status %(stat)s, expected %(exp)s." -msgstr "La destination a pour migration_status %(stat)s, %(exp)s est attendu." +msgstr "La destination a pour migration_status %(stat)s, %(exp)s attendu." msgid "Destination host must be different than the current host." msgstr "L'hôte de destination doit être différent de l'hôte en cours." @@ -2158,14 +2141,14 @@ "provided." msgstr "" "La déconnexion du volume a échoué : plusieurs volumes connectés ont été " -"indiqués, mais sans attachment_id attachment_id." +"indiqués, mais sans attachment_id fourni." msgid "Detach volume from instance and then try again." msgstr "Déconnectez le volume de l'instance puis réessayez." #, python-format msgid "Detected more than one volume with name %(vol_name)s" -msgstr "Plusieurs volumes portant le nom %(vol_name)s détectés" +msgstr "Plusieurs volumes portant le nom %(vol_name)s on été détectés" #, python-format msgid "Did not find expected column in %(fun)s: %(hdr)s." @@ -2177,7 +2160,7 @@ msgid "Disabled reason contains invalid characters or is too long" msgstr "" -"La raison de désactivation contient des caractères invalides ou est trop " +"Le motif de désactivation contient des caractères non valides ou est trop " "longue" #, python-format @@ -2196,14 +2179,14 @@ #, python-format msgid "Driver initialize connection failed (error: %(err)s)." msgstr "" -"L'initialisation de la connexion par le pilote a échoué (erreur : %(err)s)." +"L'initialisation de la connexion au pilote a échoué (erreur : %(err)s)." msgid "" "Driver is not able to do retype because the volume (LUN {}) has snapshot " "which is forbidden to migrate." msgstr "" "Le pilote n'est pas en mesure d'effectuer une nouvelle saisie car le volume " -"(LUN {}) contient un instantané qu'il est interdit de migrer." +"(LUN {}) contient un snapshot qu'il est interdit de migrer." msgid "Driver must implement initialize_connection" msgstr "Le pilote doit implémenter initialize_connection" @@ -2222,8 +2205,8 @@ "SSC extra specs. The proxy version must be at at least %(min_version)s." msgstr "" "La version %(current_version)s de l'API de proxy lE-series ne prend pas en " -"charge la panoplie complète de spécifications SSC supplémentaires. La " -"version du proxy doit être au moins %(min_version)s." +"charge l'ensemble complet des spécifications SSC supplémentaires. La version " +"du proxy doit être au moins %(min_version)s." #, python-format msgid "" @@ -2253,16 +2236,16 @@ "Either 'cgsnapshot_id' or 'source_cgid' must be provided to create " "consistency group %(name)s from source." msgstr "" -"Soit 'cgsnapshot_id', soit 'source_cgid' doit être soumis pour créer le " -"groupe de cohérence %(name)s depuis la source." +"'cgsnapshot_id' ou 'source_cgid' doit être fourni pour créer le groupe de " +"cohérence %(name)s depuis la source." #, python-format msgid "" "Either SLO: %(slo)s or workload %(workload)s is invalid. Examine previous " "error statement for valid values." msgstr "" -"SLO : %(slo)s ou la charge de travail %(workload)s n'est pas valide. " -"Examinez l'énoncé de l'erreur pour voir si les valeurs sont valides." +"SLO %(slo)s ou charge de travail %(workload)s non valide. Examinez l'énoncé " +"de l'erreur précédente pour voir si les valeurs sont valides." msgid "Either hitachi_serial_number or hitachi_unit_name is required." msgstr "Soit hitachi_serial_number, soit hitachi_unit_name est requis." @@ -2297,12 +2280,12 @@ "Error Adding to TargetGroup: %(targetgroup)s withIQN: %(iqn)sReturn code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur d'ajout du groupe cible : %(targetgroup)s avec IQN : %(iqn)s Code " +"Erreur d'ajout du groupe cible %(targetgroup)s avec IQN %(iqn)s Code " "retour : %(ret.status)d Message : %(ret.data)s ." #, python-format msgid "Error Attaching volume %(vol)s." -msgstr "Erreur lors du rattachement du volume %(vol)s." +msgstr "Erreur lors de la connexion du volume %(vol)s." #, python-format msgid "" @@ -2310,9 +2293,9 @@ "Project: %(project)s Clone project: %(clone_proj)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur de clonage de l'instantané : %(snapshot)s sur le volume : %(lun)s du " -"pool : %(pool)s Projet : %(project)s Projet clone : %(clone_proj)s Code " -"retour : %(ret.status)d Message : %(ret.data)s ." +"Erreur de clonage du snapshot %(snapshot)s sur le volume : %(lun)s du pool " +"%(pool)s Projet : %(project)s Projet clone : %(clone_proj)s Code retour : " +"%(ret.status)d Message : %(ret.data)s ." #, python-format msgid "" @@ -2327,8 +2310,8 @@ "Error Create Cloned Volume: Volume: %(cloneName)s Source Volume:" "%(sourceName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erreur de création d'un volume cloné : Volume : %(cloneName)s Volume :" -"%(sourceName)s. Code retour : %(rc)lu. Erreur : %(error)s." +"Erreur de création d'un volume cloné : Volume : %(cloneName)s Volume " +"source : %(sourceName)s. Code retour : %(rc)lu. Erreur : %(error)s." #, python-format msgid "" @@ -2349,8 +2332,8 @@ msgid "" "Error Create Volume: %(volumeName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erreur de création du volume : %(volumeName)s. Code retour : %(rc)lu. " -"Erreur : %(error)s." +"Erreur de création du volume %(volumeName)s. Code retour : %(rc)lu. Erreur : " +"%(error)s." #, python-format msgid "" @@ -2380,15 +2363,15 @@ "Error Creating Project: %(project)s on Pool: %(pool)s Return code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"Erreur de création du projet : %(project)s sur le pool : %(pool)s Code " -"retour : %(ret.status)d Message : %(ret.data)s ." +"Erreur de création du projet %(project)s sur le pool %(pool)s Code retour : " +"%(ret.status)d Message : %(ret.data)s ." #, python-format msgid "" "Error Creating Property: %(property)s Type: %(type)s Description: " "%(description)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur lors de la création de la propriété : %(property)s. Type : %(type)s. " +"Erreur lors de la création de la propriété %(property)s. Type : %(type)s. " "Description : %(description)s. Code retour : %(ret.status)d Message : " "%(ret.data)s." @@ -2405,18 +2388,18 @@ "Error Creating Snapshot: %(snapshot)s onVolume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur de création de l'instantané : %(snapshot)s sur le volume %(lun)s vers " -"le pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d " -"Message : %(ret.data)s." +"Erreur de création du snapshot %(snapshot)s sur le volume : %(lun)s vers le " +"pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d Message : " +"%(ret.data)s." #, python-format msgid "" "Error Creating Snapshot: %(snapshot)s onshare: %(share)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur lors de la création de l'instantané %(snapshot)s sur le partage " -"%(share)s vers le pool %(pool)s Projet : %(project)s Code retour : " -"%(ret.status)d Message : %(ret.data)s." +"Erreur lors de la création du snapshot %(snapshot)s sur le partage %(share)s " +"vers le pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d " +"Message : %(ret.data)s." #, python-format msgid "" @@ -2431,7 +2414,7 @@ "Error Creating TargetGroup: %(targetgroup)s withIQN: %(iqn)sReturn code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"Erreur de création du groupe cible : %(targetgroup)s avec IQN : %(iqn)s Code " +"Erreur de création du groupe cible %(targetgroup)s avec IQN %(iqn)s Code " "retour : %(ret.status)d Message : %(ret.data)s ." #, python-format @@ -2469,7 +2452,7 @@ msgid "" "Error Delete Volume: %(volumeName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erreur de suppression du volume : %(volumeName)s. Code retour : %(rc)lu. " +"Erreur de suppression du volume %(volumeName)s. Code retour : %(rc)lu. " "Erreur : %(error)s." #, python-format @@ -2477,15 +2460,15 @@ "Error Deleting Group: %(storageGroupName)s. Return code: %(rc)lu. Error: " "%(error)s" msgstr "" -"Erreur lors de la suppression du groupe : %(storageGroupName)s. Code " -"retour : %(rc)lu. Erreur : %(error)s" +"Erreur lors de la suppression du groupe %(storageGroupName)s. Code retour : " +"%(rc)lu. Erreur : %(error)s" #, python-format msgid "" "Error Deleting Initiator Group: %(initiatorGroupName)s. Return code: " "%(rc)lu. Error: %(error)s" msgstr "" -"Erreur lors de la suppression du groupe d'initiateurs : " +"Erreur lors de la suppression du groupe d'initiateurs " "%(initiatorGroupName)s. Code retour : %(rc)lu. Erreur : %(error)s" #, python-format @@ -2493,7 +2476,7 @@ "Error Deleting Snapshot: %(snapshot)s on Share: %(share)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur lors de la suppression de l'instantané %(snapshot)s sur le partage " +"Erreur lors de la suppression du snapshot %(snapshot)s sur le partage " "%(share)s vers le pool %(pool)s Projet : %(project)s Code retour : " "%(ret.status)d Message : %(ret.data)s." @@ -2502,8 +2485,8 @@ "Error Deleting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur de suppression de l'instantané : %(snapshot)s sur le volume %(lun)s " -"vers le pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d " +"Erreur de suppression du snapshot %(snapshot)s sur le volume : %(lun)s vers " +"le pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d " "Message : %(ret.data)s." #, python-format @@ -2511,7 +2494,7 @@ "Error Deleting Volume: %(lun)s from Pool: %(pool)s, Project: %(project)s. " "Return code: %(ret.status)d, Message: %(ret.data)s." msgstr "" -"Erreur lors de la suppression du volume %(lun)s du pool : %(pool)s, projet : " +"Erreur lors de la suppression du volume : %(lun)s du pool %(pool)s, projet " "%(project)s. Code retour : %(ret.status)d, Message : %(ret.data)s." #, python-format @@ -2519,7 +2502,7 @@ "Error Deleting project: %(project)s on pool: %(pool)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur lors de la suppression du projet %(project)s sur le pool : %(pool)s. " +"Erreur lors de la suppression du projet %(project)s sur le pool %(pool)s. " "Code retour : %(ret.status)d Message : %(ret.data)s ." #, python-format @@ -2550,7 +2533,7 @@ "Error Getting Pool Stats: Pool: %(pool)s Return code: %(status)d Message: " "%(data)s." msgstr "" -"Erreur lors de l'obtention des statistiques du pool : pool : %(pool)s, code " +"Erreur lors de l'obtention des statistiques de pool : pool : %(pool)s, code " "retour : %(status)d, message : %(data)s." #, python-format @@ -2566,7 +2549,7 @@ "Error Getting Share: %(share)s on Pool: %(pool)s Project: %(project)s Return " "code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur d'obtention du partage %(share)s sur le pool %(pool)s. Projet: " +"Erreur d'obtention du partage %(share)s sur le pool %(pool)s. Projet : " "%(project)s Code retour : %(ret.status)d Message : %(ret.data)s." #, python-format @@ -2574,9 +2557,9 @@ "Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur d'obtention de l'instantané %(snapshot)s sur le volume %(lun)s vers " -"le pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d " -"Message : %(ret.data)s." +"Erreur d'obtention du snapshot %(snapshot)s sur le volume %(lun)s vers le " +"pool %(pool)s Projet : %(project)s Code retour : %(ret.status)d Message : " +"%(ret.data)s." #, python-format msgid "" @@ -2620,9 +2603,9 @@ "Error Setting props Props: %(props)s on Volume: %(lun)s of Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur de définition des propriétés : %(props)s sur le volume : %(lun)s du " -"pool : %(pool)s Projet : %(project)s Code retour : %(ret.status)d Message : " -"%(ret.data)s." +"Erreur de définition de propriétés. Propriétés : %(props)s sur le volume : " +"%(lun)s du pool : %(pool)s Projet : %(project)s Code retour : " +"%(ret.status)d Message : %(ret.data)s." #, python-format msgid "" @@ -2644,7 +2627,7 @@ "Error Verifying Pool: %(pool)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"Erreur de vérification du pool : %(pool)s Code retour : %(ret.status)d " +"Erreur de vérification du pool %(pool)s Code retour : %(ret.status)d " "Message : %(ret.data)s." #, python-format @@ -2652,7 +2635,7 @@ "Error Verifying Project: %(project)s on Pool: %(pool)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Erreur de vérification du projet : %(project)s sur le pool : %(pool)s Code " +"Erreur de vérification du projet %(project)s sur le pool %(pool)s Code " "retour : %(ret.status)d Message : %(ret.data)s ." #, python-format @@ -2693,12 +2676,12 @@ "Error adding initiator to group : %(groupName)s. Return code: %(rc)lu. " "Error: %(error)s." msgstr "" -"Erreur d'ajout du demandeur au groupe : %(groupName)s. Code retour : " -"%(rc)lu. Erreur : %(error)s." +"Erreur d'ajout du demandeur au groupe %(groupName)s. Code retour : %(rc)lu. " +"Erreur : %(error)s." #, python-format msgid "Error adding volume to composite volume. Error is: %(error)s." -msgstr "Erreur d'ajout du volume vers le volume composite. Erreur : %(error)s." +msgstr "Erreur d'ajout du volume au volume composite. Erreur : %(error)s." #, python-format msgid "Error appending volume %(volumename)s to target base volume." @@ -2715,7 +2698,7 @@ #, python-format msgid "Error attaching volume %s. Target limit might be reached!" msgstr "" -"Erreur lors du rattachement du volume %s. Il se peut que la limite des " +"Erreur lors de la connexion du volume %s. Il se peut que la limite des " "cibles ait été atteinte. " #, python-format @@ -2766,12 +2749,12 @@ "on your iSCSI port %(port)d on ip %(ip)s." msgstr "" "Erreur lors de l'activation d'iSER pour NetworkPortal : assurez-vous que " -"RDMA est pris en charge sur votre port iSCSI %(port)d à l'adresse IP %(ip)s." +"RDMA est pris en charge sur votre port iSCSI %(port)d, adresse IP %(ip)s." #, python-format msgid "Error encountered during cleanup of a failed attach: %(ex)s" msgstr "" -"Erreur survenue durant le nettoyage d'un rattachement ayant échoué : %(ex)s" +"Erreur survenue durant le nettoyage d'une connexion ayant échoué : %(ex)s" #, python-format msgid "Error executing CloudByte API [%(cmd)s], Error: %(err)s." @@ -2817,26 +2800,23 @@ #, python-format msgid "Error getting domain id from name %(name)s: %(err)s." -msgstr "" -"Erreur d'obtention de l'ID de domaine à partir du nom %(name)s : %(err)s." +msgstr "Erreur d'obtention de l'ID domaine à partir du nom %(name)s : %(err)s." #, python-format msgid "Error getting domain id from name %(name)s: %(id)s." -msgstr "" -"Erreur d'obtention de l'ID de domaine à partir du nom %(name)s : %(id)s." +msgstr "Erreur d'obtention de l'ID domaine à partir du nom %(name)s : %(id)s." msgid "Error getting initiator groups." msgstr "Erreur d'obtention des groupes d'initiateurs." #, python-format msgid "Error getting pool id from name %(pool)s: %(err)s." -msgstr "Erreur d'obtention de l'ID de pool à partir du nom %(pool)s : %(err)s." +msgstr "Erreur d'obtention de l'ID pool à partir du nom %(pool)s : %(err)s." #, python-format msgid "Error getting pool id from name %(pool_name)s: %(err_msg)s." msgstr "" -"Erreur d'obtention de l'ID de pool à partir du nom %(pool_name)s : " -"%(err_msg)s." +"Erreur d'obtention de l'ID pool à partir du nom %(pool_name)s : %(err_msg)s." #, python-format msgid "" @@ -2878,7 +2858,7 @@ #, python-format msgid "Error in SolidFire API response: data=%(data)s" -msgstr "Erreur dans la réponse de l'API SolidFire : data = %(data)s" +msgstr "Erreur dans la réponse de l'API SolidFire : données = %(data)s" #, python-format msgid "Error in space-create for %(space)s of size %(size)d GB" @@ -2894,7 +2874,7 @@ #, python-format msgid "Error managing volume: %s." -msgstr "Erreur lors de la gestion du volume : %s." +msgstr "Erreur de gestion du volume : %s." #, python-format msgid "Error mapping volume %(vol)s. %(error)s." @@ -2905,7 +2885,7 @@ "Error modify replica synchronization: %(sv)s operation: %(operation)s. " "Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erreur lors de la modification de synchronisation de la réplique : %(sv)s " +"Erreur de modification de la synchronisation de réplique : %(sv)s " "opération : %(operation)s. Code retour : %(rc)lu. Erreur : %(error)s." #, python-format @@ -2934,13 +2914,13 @@ #, python-format msgid "Error occurred when creating cgsnapshot %s." msgstr "" -"Une erreur est survenue lors de la création de l'instantané de groupe de " +"Une erreur est survenue lors de la création du snapshot de groupe de " "cohérence %s." #, python-format msgid "Error occurred when deleting cgsnapshot %s." msgstr "" -"Une erreur est survenue lors de la suppression de l'instantané de groupe de " +"Une erreur est survenue lors de la suppression du snapshot de groupe de " "cohérence %s." #, python-format @@ -2953,7 +2933,7 @@ msgstr "Erreur lors de l'analyse syntaxique du fichier de configuration : %s" msgid "Error promoting secondary volume to primary" -msgstr "Erreur de promotion du volume secondaire en volume primaire" +msgstr "Erreur de promotion du volume secondaire en volume principal" #, python-format msgid "Error removing volume %(vol)s. %(error)s." @@ -2977,7 +2957,7 @@ "%(ret.status)d Message: %(ret.data)s ." msgstr "" "Erreur lors de l'envoi de la mise à jour de la réplication pour l'ID " -"d'action : %(id)s. Code retour : %(ret.status)d Message : %(ret.data)s ." +"action : %(id)s. Code retour : %(ret.status)d Message : %(ret.data)s ." #, python-format msgid "" @@ -2992,7 +2972,7 @@ "%(project)s Return code: %(ret.status)d Message: %(ret.data)s ." msgstr "" "Erreur lors de la définition de l'héritage de réplication à %(set)s pour le " -"volume : %(vol)s Projet %(project)s. Code retour : %(ret.status)d Message : " +"volume : %(vol)s projet %(project)s. Code retour : %(ret.status)d Message : " "%(ret.data)s." #, python-format @@ -3000,8 +2980,8 @@ "Error severing the package: %(package)s from source: %(src)s Return code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"Erreur lors de la scission du package %(package)s de la source : %(src)s. " -"Code retour : %(ret.status)d Message : %(ret.data)s ." +"Erreur lors de la scission du package %(package)s de la source %(src)s. Code " +"retour : %(ret.status)d Message : %(ret.data)s ." #, python-format msgid "Error unbinding volume %(vol)s from pool. %(error)s." @@ -3013,8 +2993,8 @@ "Error verifying clone size on Volume clone: %(clone)s Size: %(size)d " "onSnapshot: %(snapshot)s" msgstr "" -"Erreur lors de la vérification de la taille du clone sur le clone du " -"volume : %(clone)s, Taille : %(size)d onSnapshot : %(snapshot)s" +"Erreur lors de la vérification de la taille de clone sur le clone de volume " +"%(clone)s, Taille : %(size)d sur le snapshot : %(snapshot)s" #, python-format msgid "Error while authenticating with switch: %s." @@ -3030,7 +3010,7 @@ #, python-format msgid "Error while checking transaction status: %s" -msgstr "Erreur de contrôle de l'état de transaction : %s" +msgstr "Erreur de vérification du statut de transaction : %s" #, python-format msgid "Error while checking whether VF is available for management %s." @@ -3053,7 +3033,7 @@ #, python-format msgid "Error while creating snapshot [status] %(stat)s - [result] %(res)s." msgstr "" -"Erreur lors de la création de l'instantané : [status] %(stat)s - [result] " +"Erreur lors de la création du snapshot : [status] %(stat)s - [result] " "%(res)s." #, python-format @@ -3064,7 +3044,7 @@ #, python-format msgid "Error while deleting snapshot [status] %(stat)s - [result] %(res)s" msgstr "" -"Erreur lors de la suppression de l'instantané : [status] %(stat)s - [result] " +"Erreur lors de la suppression du snapshot : [status] %(stat)s - [result] " "%(res)s" #, python-format @@ -3114,8 +3094,8 @@ msgid "" "Error while removing the zones and cfgs in the zone string: %(description)s." msgstr "" -"Erreur lors de la suppression de zones et cfgs dans la chaîne de zone : " -"%(description)s." +"Erreur lors de la suppression de zones et de configurations dans la chaîne " +"de zone : %(description)s." #, python-format msgid "Error while requesting %(service)s API." @@ -3132,43 +3112,44 @@ "Error while updating the new zones and cfgs in the zone string. Error " "%(description)s." msgstr "" -"Erreur lors de la mise à jour des nouvelles zones et cfgs dans la chaîne de " -"zone. Erreur : %(description)s." +"Erreur lors de la mise à jour des nouvelles zones et configurations dans la " +"chaîne de zone. Erreur : %(description)s." msgid "Error writing field to database" msgstr "Erreur lors de l'écriture du champ dans la base de données" #, python-format msgid "Error[%(stat)s - %(res)s] while getting volume id." -msgstr "Erreur [%(stat)s - %(res)s] lors de l'obtention de l'ID du volume." +msgstr "Erreur [%(stat)s - %(res)s] lors de l'obtention de l'ID volume." #, python-format msgid "" "Error[%(stat)s - %(res)s] while restoring snapshot [%(snap_id)s] into volume " "[%(vol)s]." msgstr "" -"Erreur [%(stat)s - %(res)s] lors de la restauration de l'instantané " +"Erreur [%(stat)s - %(res)s] lors de la restauration du snapshot " "[%(snap_id)s] dans le volume [%(vol)s]." #, python-format msgid "Error[status] %(stat)s - [result] %(res)s] while getting volume id." msgstr "" -"Erreur [status] %(stat)s - [result] %(res)s] lors de l'obtention de l'ID du " +"Erreur [status] %(stat)s - [result] %(res)s] lors de l'obtention de l'ID " "volume." #, python-format msgid "" "Exceeded max scheduling attempts %(max_attempts)d for volume %(volume_id)s" msgstr "" -"Tentatives de planification max %(max_attempts)d pour le volume %(volume_id)s" +"Nombre de tentatives de planification max %(max_attempts)d pour le volume " +"%(volume_id)s" msgid "Exceeded the limit of snapshots per volume" -msgstr "Nombre limite d'instantanés par volume dépassé" +msgstr "Nombre limite de snapshots par volume dépassé" #, python-format msgid "Exception appending meta volume to target volume %(volumename)s." msgstr "" -"Exception lors de l'ajout des métadonnées de volume au volume cible " +"Exception lors de l'ajout du volume de métadonnées au volume cible " "%(volumename)s." #, python-format @@ -3176,9 +3157,9 @@ "Exception during create element replica. Clone name: %(cloneName)s Source " "name: %(sourceName)s Extra specs: %(extraSpecs)s " msgstr "" -"Exception lors de la création d'une réplique de l'élément. Nom de clone : " -"%(cloneName)s Nom source : %(sourceName)s Spécifications supplémentaires : " -"%(extraSpecs)s " +"Exception lors de la création d'une réplique de l'élément. Nom du clone : " +"%(cloneName)s Nom de la source : %(sourceName)s Spécifications " +"supplémentaires : %(extraSpecs)s " #, python-format msgid "Exception in _select_ds_for_volume: %s." @@ -3198,7 +3179,7 @@ #, python-format msgid "Expected exactly one node called \"%s\"" -msgstr "Un seul noeud précis nommé \"%s\" est attendu" +msgstr "Précisément un noeud nommé \"%s\" attendu" #, python-format msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s." @@ -3221,15 +3202,15 @@ #, python-format msgid "Expected volume size was %d" -msgstr "La taille du volume attendue était %d" +msgstr "La taille de volume attendue était %d" #, python-format msgid "" "Export backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Exportation de la sauvegarde interrompue, état de la sauvegarde attendu " -"%(expected_status)s, mais état %(actual_status)s obtenu." +"Exportation de la sauvegarde interrompue, statut de la sauvegarde attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." #, python-format msgid "" @@ -3247,8 +3228,8 @@ msgid "" "Extend volume is only supported for this driver when no snapshots exist." msgstr "" -"L'extension de volume n'est prise en charge pour ce pilote que si aucun " -"instantané n'est défini." +"L'extension de volume est prise en charge pour ce pilote uniquement si aucun " +"snapshot n'est défini." msgid "Extend volume not implemented" msgstr "Extension du volume non implémentée" @@ -3256,7 +3237,7 @@ msgid "" "FAST VP Enabler is not installed. Can't set tiering policy for the volume" msgstr "" -"L'optimiseur FAST VP n'est pas installé. Impossible de définir la règle de " +"L'optimiseur FAST VP n'est pas installé. Impossible de définir de règle de " "hiérarchisation pour le volume" msgid "FAST is not supported on this array." @@ -3268,35 +3249,34 @@ #, python-format msgid "Faield to unassign %(volume)s" -msgstr "Echec de la libération de %(volume)s" +msgstr "Echec de libération de %(volume)s" #, python-format msgid "Fail to create cache volume %(volume)s. Error: %(err)s" -msgstr "Echec de la création du volume cache %(volume)s. Erreur : %(err)s" +msgstr "Echec de création du volume cache %(volume)s. Erreur : %(err)s" #, python-format msgid "Failed adding connection for fabric=%(fabric)s: Error: %(err)s" msgstr "" -"Echec de l'ajout de la connexion pour fabric=%(fabric)s : Erreur : %(err)s" +"Echec d'ajout de la connexion pour fabric=%(fabric)s : Erreur : %(err)s" msgid "Failed cgsnapshot" -msgstr "Echec de l'instantané de groupe de cohérence" +msgstr "Echec du snapshot de groupe de cohérence" #, python-format msgid "Failed creating snapshot for group: %(response)s." -msgstr "Echec de la création de l'instantané pour le groupe : %(response)s." +msgstr "Echec de création du snapshot pour le groupe : %(response)s." #, python-format msgid "Failed creating snapshot for volume %(volname)s: %(response)s." msgstr "" -"Echec de la création d'un instantané pour le volume %(volname)s : " -"%(response)s." +"Echec de création d'un instantané pour le volume %(volname)s : %(response)s." #, python-format msgid "Failed getting active zone set from fabric %s." msgstr "" -"Echec de l'obtention de la zone active définie à partir de l'ensemble de " -"noeuds (fabric) %s." +"Echec d'obtention de la zone active définie à partir de l'ensemble de noeuds " +"(fabric) %s." #, python-format msgid "Failed getting details for pool %s." @@ -3305,7 +3285,7 @@ #, python-format msgid "Failed removing connection for fabric=%(fabric)s: Error: %(err)s" msgstr "" -"Echec du retrait de la connexion pour fabric=%(fabric)s : Erreur : %(err)s" +"Echec de retrait de la connexion pour fabric=%(fabric)s : Erreur : %(err)s" #, python-format msgid "Failed to Extend Volume %(volname)s" @@ -3327,15 +3307,15 @@ "Failed to acquire a resource lock. (serial: %(serial)s, inst: %(inst)s, ret: " "%(ret)s, stderr: %(err)s)" msgstr "" -"Echec de l'acquisition d'un verrouillage des ressources. (série : " -"%(serial)s, inst : %(inst)s, ret : %(ret)s, stderr : %(err)s)" +"Echec d'acquisition d'un verrou de ressource. (série : %(serial)s, inst : " +"%(inst)s, ret : %(ret)s, stderr : %(err)s)" #, python-format msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries." -msgstr "Echec de l'ajout de %(vol)s dans %(sg)s après %(retries)s tentatives." +msgstr "Echec d'ajout de %(vol)s dans %(sg)s après %(retries)s tentatives." msgid "Failed to add the logical device." -msgstr "Echec de l'ajout de l'unité logique." +msgstr "Echec d'ajout de l'unité logique." #, python-format msgid "" @@ -3343,7 +3323,7 @@ "code: %(rc)lu. Error: %(error)s." msgstr "" "L'ajout du volume %(volumeName)s au groupe de cohérence %(cgName)s n'a pas " -"abouti. Retour : %(rc)lu. Erreur : %(error)s." +"abouti. Code retour : %(rc)lu. Erreur : %(error)s." msgid "Failed to add zoning configuration." msgstr "L'ajout de la configuration de segmentation a échoué." @@ -3353,13 +3333,12 @@ "Failed to assign the iSCSI initiator IQN. (port: %(port)s, reason: " "%(reason)s)" msgstr "" -"Echec de l'affectation du nom qualifié iSCSI de l'initiateur iSCSI. (port : " -"%(port)s, raison : %(reason)s)" +"Echec d'affectation du nom qualifié de l'initiateur iSCSI. (port : %(port)s, " +"raison : %(reason)s)" #, python-format msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "" -"Echec d'association de qos_specs : %(specs_id)s avec spécif. %(type_id)s." +msgstr "Echec d'association de qos_specs : %(specs_id)s avec type %(type_id)s." #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." @@ -3374,16 +3353,16 @@ "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" msgstr "" -"Echec de sauvegarde des métadonnées de volume de sauvegarde - objet de " +"Echec de sauvegarde des métadonnées de volume de sauvegarde - l'objet de " "sauvegarde de métadonnées 'backup.%s.meta' existe déjà" #, python-format msgid "Failed to clone volume from snapshot %s." -msgstr "Impossible de cloner un volume depuis l'instantané %s." +msgstr "Impossible de cloner un volume depuis le snapshot %s." #, python-format msgid "Failed to connect to %(vendor_name)s Array %(host)s: %(err)s" -msgstr "Echec de la connexion à la matrice %(vendor_name)s %(host)s : %(err)s" +msgstr "Echec de connexion à la matrice %(vendor_name)s %(host)s : %(err)s" msgid "Failed to connect to Dell REST API" msgstr "Echec de connexion à l'API REST Dell " @@ -3398,30 +3377,30 @@ #, python-format msgid "Failed to copy image to volume: %(reason)s" -msgstr "Échec de la copie de l'image vers le volume : %(reason)s" +msgstr "Echec de copie de l'image sur le volume : %(reason)s" #, python-format msgid "Failed to copy metadata to volume: %(reason)s" -msgstr "Échec de la copie des métadonnées pour le volume : %(reason)s" +msgstr "Echec de copie des métadonnées pour le volume : %(reason)s" msgid "Failed to copy volume, destination device unavailable." -msgstr "Echec de la copie du volume, l'unité de destination est indisponible." +msgstr "Echec de copie du volume, l'unité de destination est indisponible." msgid "Failed to copy volume, source device unavailable." -msgstr "Echec de la copie du volume, l'unité source est indisponible." +msgstr "Echec de copie du volume, l'unité source est indisponible." #, python-format msgid "Failed to create CG %(cgName)s from snapshot %(cgSnapshot)s." msgstr "" -"Echec de la création du groupe de cohérence %(cgName)s depuis l'instantané " +"Echec de création du groupe de cohérence %(cgName)s depuis le snapshot " "%(cgSnapshot)s." #, python-format msgid "Failed to create IG, %s" -msgstr "Echec de la création du groupe demandeur, %s" +msgstr "Echec de création du groupe demandeur, %s" msgid "Failed to create SolidFire Image-Volume" -msgstr "Echec de la création de l'entité (image-volume) SolidFire" +msgstr "Echec de création de l'entité (image-volume) SolidFire" #, python-format msgid "Failed to create Volume Group: %(vg_name)s" @@ -3431,12 +3410,12 @@ msgid "" "Failed to create a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)" msgstr "" -"Echec de la création d'un fichier. (fichier : %(file)s, ret : %(ret)s, " -"stderr : %(err)s)" +"Echec de création d'un fichier. (fichier : %(file)s, ret : %(ret)s, stderr : " +"%(err)s)" #, python-format msgid "Failed to create a temporary snapshot for volume %s." -msgstr "Impossible de créer un instantané temporaire pour le volume %s." +msgstr "Impossible de créer un snapshot temporaire pour le volume %s." msgid "Failed to create api volume flow." msgstr "Echec de la création du flux de volume d'API." @@ -3444,139 +3423,132 @@ #, python-format msgid "Failed to create cg snapshot %(id)s due to %(reason)s." msgstr "" -"Echec de la création de l'instantané du groupe de cohérence %(id)s. Cause : " +"Echec de création du snapshot de groupe de cohérence %(id)s. Cause : " "%(reason)s." #, python-format msgid "Failed to create consistency group %(id)s due to %(reason)s." -msgstr "" -"Echec de la création du groupe de cohérence %(id)s. Cause : %(reason)s." +msgstr "Echec de création du groupe de cohérence %(id)s. Cause : %(reason)s." #, python-format msgid "Failed to create consistency group %(id)s:%(ret)s." -msgstr "Echec de la création du groupe de cohérence %(id)s : %(ret)s." +msgstr "Echec de création du groupe de cohérence %(id)s : %(ret)s." #, python-format msgid "" "Failed to create consistency group %s because VNX consistency group cannot " "accept compressed LUNs as members." msgstr "" -"Echec de la création du groupe de cohérence %s car le groupe de cohérence " -"VNX ne peut pas accepter de numéros d'unités logiques compressés en tant que " +"Echec de création du groupe de cohérence %s car le groupe de cohérence VNX " +"ne peut pas accepter de numéros d'unité logique compressés en tant que " "membres." #, python-format msgid "Failed to create consistency group: %(cgName)s." -msgstr "Echec de la création du groupe de cohérence : %(cgName)s." +msgstr "Echec de création du groupe de cohérence : %(cgName)s." #, python-format msgid "Failed to create consistency group: %(cgid)s. Error: %(excmsg)s." msgstr "" -"Echec de la création du groupe de cohérence : %(cgid)s. Erreur : %(excmsg)s." +"Echec de création du groupe de cohérence : %(cgid)s. Erreur : %(excmsg)s." #, python-format msgid "" "Failed to create consistency group: %(consistencyGroupName)s Return code: " "%(rc)lu. Error: %(error)s." msgstr "" -"Echec de la création du groupe de cohérence : %(consistencyGroupName)s Code " +"Echec de création du groupe de cohérence : %(consistencyGroupName)s Code " "retour : %(rc)lu. Erreur : %(error)s." #, python-format msgid "Failed to create hardware id(s) on %(storageSystemName)s." -msgstr "Echec de la création des ID du matériel sur %(storageSystemName)s." +msgstr "Echec de création des ID matériel sur %(storageSystemName)s." #, python-format msgid "" "Failed to create host: %(name)s. Please check if it exists on the array." msgstr "" -"Echec de la création de l'hôte : %(name)s. Vérifiez s'il existe sur la " -"matrice." +"Echec de création de l'hôte : %(name)s. Vérifiez s'il existe sur la matrice." #, python-format msgid "Failed to create hostgroup: %(name)s. Check if it exists on the array." msgstr "" -"Echec de la création de hostgroup : %(name)s. Vérifiez s'il existe sur la " +"Echec de création du hostgroup : %(name)s. Vérifiez s'il existe sur la " "matrice." msgid "Failed to create iqn." -msgstr "Echec de la création de l'iqn." +msgstr "Echec de création de l'iqn." #, python-format msgid "Failed to create iscsi target for volume %(volume_id)s." -msgstr "Echec de la création de la cible iSCSI pour le volume %(volume_id)s." +msgstr "Echec de création de la cible iSCSI pour le volume %(volume_id)s." msgid "Failed to create manage existing flow." -msgstr "Echec de la création du flux de gestion existant." +msgstr "Echec de création du flux de gestion existant." msgid "Failed to create manage_existing flow." -msgstr "Echec de la création du flux manage_existing." +msgstr "Echec de création du flux manage_existing." msgid "Failed to create map on mcs, no channel can map." -msgstr "" -"Echec de la création de la mappe sur mcs, aucun canal ne peut être mappé." +msgstr "Echec de création de la mappe sur mcs, aucun canal ne peut être mappé." msgid "Failed to create map." msgstr "Echec de création de la mappe." #, python-format msgid "Failed to create metadata for volume: %(reason)s" -msgstr "Échec de la création de métadonnées pour le volume : %(reason)s" +msgstr "Echec de création de métadonnées pour le volume : %(reason)s" msgid "Failed to create partition." -msgstr "Echec de la création de la partition." +msgstr "Echec de création de la partition." #, python-format msgid "Failed to create qos_specs: %(name)s with specs %(qos_specs)s." msgstr "Echec de création de qos_specs : %(name)s avec spécif. %(qos_specs)s." msgid "Failed to create replica." -msgstr "Echec de la création de la réplique." +msgstr "Echec de création de la réplique." msgid "Failed to create scheduler manager volume flow" -msgstr "" -"Echec de la création du flux de volume du gestionnaire de planificateur" +msgstr "Echec de création du flux de volume du gestionnaire de planification" #, python-format msgid "Failed to create snapshot %s" -msgstr "Echec de la création de l'instantané %s" +msgstr "Echec de création du snapshot %s" msgid "Failed to create snapshot as no LUN ID is specified" -msgstr "" -"Echec de la création d'instantané car aucun identificateur de numéro d'unité " -"logique (LUN) n'est indiqué" +msgstr "Echec de création du snapshot car aucun ID LUN n'a été indiqué" #, python-format msgid "Failed to create snapshot for cg: %(cgName)s." msgstr "" -"Echec de la création de l'instantané pour le groupe de cohérence : " -"%(cgName)s." +"Echec de création du snapshot pour le groupe de cohérence : %(cgName)s." #, python-format msgid "Failed to create snapshot for volume %s." -msgstr "Echec de création d'un instantané pour le volume %s." +msgstr "Echec de création d'un snapshot pour le volume %s." #, python-format msgid "Failed to create snapshot policy on volume %(vol)s: %(res)s." msgstr "" -"Echec de la création de stratégie d'instantané sur le volume %(vol)s : " +"Echec de la création de stratégie de snapshot sur le volume %(vol)s : " "%(res)s." #, python-format msgid "Failed to create snapshot resource area on volume %(vol)s: %(res)s." msgstr "" -"Echec de la création de la zone de ressource d'instantané sur le volume " -"%(vol)s: %(res)s." +"Echec de création de la zone de ressource de snapshot sur le volume %(vol)s: " +"%(res)s." msgid "Failed to create snapshot." -msgstr "Echec de la création de l'instantané." +msgstr "Echec de création du snapshot." #, python-format msgid "" "Failed to create snapshot. CloudByte volume information not found for " "OpenStack volume [%s]." msgstr "" -"Echec de la création d'instantané. Les informations du volume CloudByte sont " +"Echec de création du de snapshot. Les informations de volume CloudByte sont " "introuvables pour le volume OpenStack [%s]." #, python-format @@ -3589,7 +3561,7 @@ #, python-format msgid "Failed to create thin pool, error message was: %s" -msgstr "Echec de la création du pool à la demande. Message d'erreur : %s" +msgstr "Echec de création du pool à la demande. Message d'erreur : %s" #, python-format msgid "Failed to create volume %s" @@ -3598,37 +3570,37 @@ #, python-format msgid "Failed to delete SI for volume_id: %(volume_id)s because it has pair." msgstr "" -"Echec de la suppression de SI pour volume_id : %(volume_id)s car il a une " +"Echec de suppression de SI pour volume_id : %(volume_id)s car il possède une " "paire." #, python-format msgid "Failed to delete a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" msgstr "" -"Echec de la suppression d'une unité logique. (unité logique : %(ldev)s, " +"Echec de suppression d'une unité logique. (unité logique : %(ldev)s, " "raison : %(reason)s)" #, python-format msgid "Failed to delete cgsnapshot %(id)s due to %(reason)s." msgstr "" -"Echec de la suppression de l'instantané du groupe de cohérence %(id)s. " -"Cause : %(reason)s." +"Echec de suppression du snapshot de groupe de cohérence %(id)s. Cause : " +"%(reason)s." #, python-format msgid "Failed to delete consistency group %(id)s due to %(reason)s." msgstr "" -"Echec de la suppression du groupe de cohérence %(id)s. Cause : %(reason)s." +"Echec de suppression du groupe de cohérence %(id)s. Cause : %(reason)s." #, python-format msgid "Failed to delete consistency group: %(cgName)s." -msgstr "Echec de la suppression du groupe de cohérence : %(cgName)s." +msgstr "Echec de suppression du groupe de cohérence : %(cgName)s." #, python-format msgid "" "Failed to delete consistency group: %(consistencyGroupName)s Return code: " "%(rc)lu. Error: %(error)s." msgstr "" -"Echec de la suppression du groupe de cohérence : %(consistencyGroupName)s " -"Code retour : %(rc)lu. Erreur : %(error)s." +"Echec de suppression du groupe de cohérence : %(consistencyGroupName)s Code " +"retour : %(rc)lu. Erreur : %(error)s." msgid "Failed to delete device." msgstr "Echec de suppression de l'unité." @@ -3641,35 +3613,34 @@ "%(cgname)s. Erreur : %(excmsg)s." msgid "Failed to delete iqn." -msgstr "Echec de la suppression de l'iqn." +msgstr "Echec de suppression de l'iqn." msgid "Failed to delete map." -msgstr "Echec de la suppression de la mappe." +msgstr "Echec de suppression de la mappe." msgid "Failed to delete partition." -msgstr "Echec de la suppression de la partition." +msgstr "Echec de suppression de la partition." msgid "Failed to delete replica." -msgstr "Echec de la suppression de la réplique." +msgstr "Echec de suppression de la réplique." #, python-format msgid "Failed to delete snapshot %s" -msgstr "Echec de la suppression de l'instantané %s" +msgstr "Echec de suppression d snapshot %s" #, python-format msgid "Failed to delete snapshot for cg: %(cgId)s." msgstr "" -"Echec de la suppression de l'instantané pour le groupe de cohérence : " -"%(cgId)s." +"Echec de suppression du snapshot pour le groupe de cohérence : %(cgId)s." #, python-format msgid "Failed to delete snapshot for snapshot_id: %s because it has pair." msgstr "" -"Echec de la suppression de l'instantané pour snapshot_id %s car il a une " +"Echec de suppression du snapshot pour snapshot_id %s car il possède une " "paire." msgid "Failed to delete snapshot." -msgstr "Echec de la suppression de l'instantané." +msgstr "Echec de suppression du snapshot." #, python-format msgid "Failed to delete volume %(volumeName)s." @@ -3679,7 +3650,7 @@ msgid "" "Failed to delete volume for volume_id: %(volume_id)s because it has pair." msgstr "" -"Echec de la suppression du volume pour volume_id : %(volume_id)s car il a " +"Echec de suppression du volume pour volume_id : %(volume_id)s car il possède " "une paire." #, python-format @@ -3695,13 +3666,13 @@ #, python-format msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." msgstr "" -"Echec de dissociation de qos_specs : %(specs_id)s avec spécif. %(type_id)s." +"Echec de dissociation de qos_specs : %(specs_id)s avec type %(type_id)s." #, python-format msgid "" "Failed to ensure snapshot resource area, could not locate volume for id %s" msgstr "" -"Impossible de réserver la zone de ressource d'instantané, impossible de " +"Impossible de réserver la zone de ressource de snapshot, impossible de " "localiser le volume pour l'ID %s" msgid "Failed to establish SSC connection." @@ -3719,21 +3690,21 @@ "Erreur : %(error)s." msgid "Failed to execute common command." -msgstr "Echec de l'exécution de la commande common." +msgstr "Echec d'exécution de la commande common." #, python-format msgid "Failed to export for volume: %(reason)s" -msgstr "Echec de l'exportation pour le volume : %(reason)s" +msgstr "Echec d'exportation pour le volume : %(reason)s" #, python-format msgid "Failed to extend volume %(name)s, Error msg: %(msg)s." -msgstr "Echec de l'extension du volume %(name)s, message d'erreur : %(msg)s." +msgstr "Echec d'extension du volume %(name)s, Message d'erreur : %(msg)s." msgid "Failed to find QoSnode" msgstr "QoSnode introuvable" msgid "Failed to find Storage Center" -msgstr "Echec de la recherche de Storage Center" +msgstr "Echec de recherche de Storage Center" msgid "Failed to find a vdisk copy in the expected pool." msgstr "Copie de disque virtuel introuvable dans le pool attendu." @@ -3749,7 +3720,7 @@ #, python-format msgid "Failed to find group snapshot named: %s" -msgstr "Impossible de trouver l'instantané de groupe nommé : %s" +msgstr "Impossible de trouver le snapshot de groupe nommé %s" #, python-format msgid "Failed to find host %s." @@ -3766,37 +3737,36 @@ #, python-format msgid "Failed to get CloudByte account details for account [%s]." -msgstr "Echec de l'obtention des détails CloudByte du compte [%s]." +msgstr "Echec d'obtention des détails de compte CloudByte pour le compte [%s]." #, python-format msgid "Failed to get LUN target details for the LUN %s" -msgstr "Echec d'obtention des détails cible du numéro d'unité logique %s" +msgstr "" +"Echec d'obtention des détails cible de LUN pour le numéro d'unité logique %s" #, python-format msgid "Failed to get LUN target details for the LUN %s." msgstr "" -"Echec de l'obtention des détails de la cible du numéro d'unité logique pour " -"le numéro d'unité logique %s." +"Echec d'obtention des détails de la cible de LUN pour le numéro d'unité " +"logique %s." #, python-format msgid "Failed to get LUN target list for the LUN %s" -msgstr "Echec d'obtention de la liste cible du numéro d'unité logique %s" +msgstr "Echec d'obtention de la liste cible de LUN %s" #, python-format msgid "Failed to get Partition ID for volume %(volume_id)s." -msgstr "Echec d'obtention de l'ID de partition pour le volume %(volume_id)s." +msgstr "Echec d'obtention de l'ID partition pour le volume %(volume_id)s." #, python-format msgid "Failed to get Raid Snapshot ID from Snapshot %(snapshot_id)s." msgstr "" -"Echec de l'obtention de l'ID d'instantané Raid à partir de l'instantané " -"%(snapshot_id)s." +"Echec d'obtention de l'ID snapshot Raid à partir du snapshot %(snapshot_id)s." #, python-format msgid "Failed to get Raid Snapshot ID from snapshot: %(snapshot_id)s." msgstr "" -"Echec de l'obtention de l'ID d'instantané Raid à partir de l'instantané " -"%(snapshot_id)s." +"Echec d'obtention de l'ID snapshot Raid à partir du snapshot %(snapshot_id)s." msgid "Failed to get SplitMirror." msgstr "Impossible d'obtenir SplitMirror." @@ -3806,7 +3776,7 @@ "Failed to get a storage resource. The system will attempt to get the storage " "resource again. (resource: %(resource)s)" msgstr "" -"Echec de l'obtention d'une ressource de stockage. Une nouvelle tentative " +"Echec d'obtention d'une ressource de stockage. Une nouvelle tentative " "d'obtention de la ressource de stockage sera effectuée. (ressource : " "%(resource)s)" @@ -3816,29 +3786,29 @@ "Echec de récupération de toutes les associations de spécifications QoS %s" msgid "Failed to get channel info." -msgstr "Echec d'obtention des informations du canal." +msgstr "Echec d'obtention des informations de canal." #, python-format msgid "Failed to get code level (%s)." msgstr "Echec d'obtention du niveau de code (%s)." msgid "Failed to get device info." -msgstr "Echec d'obtention des informations de l'unité." +msgstr "Echec d'obtention des informations d'unité." #, python-format msgid "Failed to get domain because CPG (%s) doesn't exist on array." msgstr "" -"Echec de l'obtention du nom de domaine car CPG (%s) n'existe pas dans la " +"Echec d'obtention du nom de domaine car CPG (%s) n'existe pas dans la " "matrice." msgid "Failed to get image snapshots." -msgstr "Echec d'obtention des instantanés de l'image." +msgstr "Echec d'obtention des snapshots de l'image." #, python-format msgid "Failed to get ip on Channel %(channel_id)s with volume: %(volume_id)s." msgstr "" -"Echec de l'obtention de l'adresse IP sur le canal %(channel_id)s avec le " -"volume : %(volume_id)s." +"Echec d'obtention de l'adresse IP sur le canal %(channel_id)s avec le volume " +"%(volume_id)s." msgid "Failed to get iqn info." msgstr "Echec d'obtention des informations iqn." @@ -3850,7 +3820,7 @@ msgstr "Echec d'obtention des informations lv." msgid "Failed to get map info." -msgstr "Echec d'obtention des informations de la mappe." +msgstr "Echec d'obtention des informations de mappe." msgid "Failed to get migration task." msgstr "Echec d'obtention de la tâche de migration." @@ -3867,21 +3837,21 @@ #, python-format msgid "Failed to get new part id in new pool: %(pool_id)s." msgstr "" -"Impossible d'obtenir l'ID du nouvel élément dans le nouveau pool : " +"Impossible d'obtenir l'ID du nouveau composant dans le nouveau pool : " "%(pool_id)s." msgid "Failed to get partition info." -msgstr "Echec d'obtention des informations de la partition." +msgstr "Echec d'obtention des informations de partition." #, python-format msgid "Failed to get pool id with volume %(volume_id)s." -msgstr "Echec de l'obtention de l'ID de pool à partir du volume %(volume_id)s." +msgstr "Echec d'obtention de l'ID pool avec le volume %(volume_id)s." #, python-format msgid "Failed to get remote copy information for %(volume)s due to %(err)s." msgstr "" "Impossible d'obtenir les informations de copie à distance pour %(volume)s en " -"raison de l'erreur : %(err)s." +"raison de l'erreur %(err)s." #, python-format msgid "" @@ -3891,26 +3861,26 @@ "Exception : %(err)s." msgid "Failed to get replica info." -msgstr "Echec d'obtention des informations de la réplique." +msgstr "Echec d'obtention des informations de réplique." msgid "Failed to get show fcns database info." -msgstr "Echec de l'obtention des infos de la commande show fcns database." +msgstr "Echec d'obtention des infos sur la commande show fcns database." msgid "Failed to get size of existing volume: %(vol). Volume Manage failed." msgstr "" -"Echec de l'obtention de la taille du volume existant : %(vol). L'opération " +"Echec d'obtention de la taille du volume existant : %(vol). L'opération " "Gérer le volume a échoué." #, python-format msgid "Failed to get size of volume %s" -msgstr "Echec de l'obtention de la taille du volume %s" +msgstr "Echec de l'obtention de la taille de volume %s" #, python-format msgid "Failed to get snapshot for volume %s." -msgstr "Impossible d'obtenir un instantané pour le volume %s." +msgstr "Impossible d'obtenir un snapshot pour le volume %s." msgid "Failed to get snapshot info." -msgstr "Echec d'obtention des informations de l'instantané." +msgstr "Echec d'obtention des informations de snapshot." #, python-format msgid "Failed to get target IQN for the LUN %s" @@ -3924,7 +3894,7 @@ msgstr "Echec d'obtention du portail cible pour le numéro d'unité logique %s" msgid "Failed to get targets" -msgstr "Echec de l'obtention des cibles" +msgstr "Echec d'obtention des cibles" msgid "Failed to get wwn info." msgstr "Echec d'obtention des informations wwn." @@ -3934,9 +3904,8 @@ "Failed to get, create or add volume %(volumeName)s to masking view " "%(maskingViewName)s. The error message received was %(errorMessage)s." msgstr "" -"Echec de l'obtention, de la création ou de l'ajout du volume %(volumeName)s " -"à la vue de masquage %(maskingViewName)s. Message d'erreur reçu : " -"%(errorMessage)s." +"Echec d'obtention, de création ou d'ajout du volume %(volumeName)s à la vue " +"de masquage %(maskingViewName)s. Message d'erreur reçu : %(errorMessage)s." msgid "Failed to identify volume backend." msgstr "Echec d'identification du back-end du volume." @@ -3963,26 +3932,26 @@ "Failed to make a request to Datera cluster endpoint due to the following " "reason: %s" msgstr "" -"Echec de la demande au noeud final du cluster Datera pour la raison " +"Echec de la demande envoyée au noeud final du cluster Datera pour la raison " "suivante : %s" msgid "Failed to manage api volume flow." -msgstr "Echec de la gestion du flux de volume d'API." +msgstr "Echec de gestion du flux de volume d'API." #, python-format msgid "" "Failed to manage existing %(type)s %(name)s, because reported size %(size)s " "was not a floating-point number." msgstr "" -"Echec de gestion du volume %(type)s %(name)s existant vu que la taille " -"signalée, %(size)s, n'était pas un nombre en virgule flottante." +"Echec de gestion du volume %(type)s %(name)s existant car la taille " +"consignée, %(size)s, n'était pas un nombre en virgule flottante." #, python-format msgid "" "Failed to manage existing volume %(name)s, because of error in getting " "volume size." msgstr "" -"Echec de gestion du volume %(name)s existant, en raison de l'erreur lors de " +"Echec de gestion du volume %(name)s existant en raison de l'erreur lors de " "obtention de la taille de volume." #, python-format @@ -3990,38 +3959,37 @@ "Failed to manage existing volume %(name)s, because rename operation failed: " "Error msg: %(msg)s." msgstr "" -"Echec de gestion du volume %(name)s existant, en raison de l'échec de " -"l'opération Renommer : Message d'erreur : %(msg)s." +"Echec de gestion du volume %(name)s existant en raison de l'échec de " +"l'opération Renommer. Message d'erreur : %(msg)s." #, python-format msgid "" "Failed to manage existing volume %(name)s, because reported size %(size)s " "was not a floating-point number." msgstr "" -"Echec de gestion du volume %(name)s existant, en raison de la taille " -"rapportée %(size)s qui n'était pas un nombre à virgule flottante." +"Echec de gestion du volume %(name)s existant en raison de la taille " +"consignée %(size)s qui n'était pas un nombre à virgule flottante." msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the NFS share passed in the volume reference." msgstr "" -"Echec de la gestion du volume existant vu que le pool du type de volume " -"choisi ne correspond pas au partage NFS transmis dans le volume de référence." +"Echec de gestion du volume existant car le pool du type de volume choisi ne " +"correspond pas au partage NFS transmis dans la référence de volume." msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the file system passed in the volume reference." msgstr "" -"Echec de la gestion du volume existant vu que le pool du type de volume " -"choisi ne correspond pas au système de fichiers transmis dans le volume de " -"référence." +"Echec de gestion du volume existant car le pool du type de volume choisi ne " +"correspond pas au système de fichiers transmis dans la référence de volume." msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the pool of the host." msgstr "" -"Echec de la gestion du volume existant vu que le pool du type de volume " -"choisi ne correspond pas au pool de l'hôte." +"Echec de gestion du volume existant car le pool du type de volume choisi ne " +"correspond pas au pool de l'hôte." #, python-format msgid "" @@ -4047,15 +4015,15 @@ "Failed to manage existing volume due to the volume to be managed is " "compress, but the volume type chosen is not compress." msgstr "" -"Impossible de gérer le volume existant car le volume à gérer est \"compress" -"\", alors que le type de volume sélectionné est \"not compress\"." +"Impossible de gérer le volume existant car le volume à gérer est de type " +"\"compress\", alors que le type de volume sélectionné est \"not compress\"." msgid "" "Failed to manage existing volume due to the volume to be managed is not " "compress, but the volume type chosen is compress." msgstr "" -"Impossible de gérer le volume existant car le volume à gérer est \"not " -"compress\", alors que le type de volume sélectionné est \"compress\"." +"Impossible de gérer le volume existant car le volume à gérer est de type " +"\"not compress\", alors que le type de volume sélectionné est \"compress\"." msgid "" "Failed to manage existing volume due to the volume to be managed is not in a " @@ -4087,19 +4055,19 @@ "Failed to map a logical device. (LDEV: %(ldev)s, LUN: %(lun)s, port: " "%(port)s, id: %(id)s)" msgstr "" -"Echec du mappage d'une unité logique. (unité logique : %(ldev)s, numéro " +"Echec de mappage d'une unité logique. (unité logique : %(ldev)s, numéro " "d'unité logique : %(lun)s, port : %(port)s, ID : %(id)s)" msgid "Failed to migrate volume for the first time." -msgstr "Echec de la migration du volume pour la première fois." +msgstr "Echec de migration du volume pour la première fois." msgid "Failed to migrate volume for the second time." -msgstr "Echec de la migration du volume pour la seconde fois." +msgstr "Echec de migration du volume pour la seconde fois." #, python-format msgid "Failed to move LUN mapping. Return code: %s" msgstr "" -"Echec du déplacement du mappage de numéro d'unité logique. Code retour : %s" +"Echec de déplacement du mappage de numéro d'unité logique. Code retour : %s" #, python-format msgid "Failed to move volume %s." @@ -4108,8 +4076,8 @@ #, python-format msgid "Failed to open a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)" msgstr "" -"Echec de l'ouverture d'un fichier. (fichier : %(file)s, ret : %(ret)s, " -"stderr : %(err)s)" +"Echec d'ouverture d'un fichier. (fichier : %(file)s, ret : %(ret)s, stderr : " +"%(err)s)" #, python-format msgid "" @@ -4128,7 +4096,7 @@ "the form ::" msgstr "" "Echec de l'analyse syntaxique de l'option de configuration " -"'keystone_catalog_info', doit figurer sous la forme :" +"'keystone_catalog_info' ; doit figurer sous la forme :" ":" msgid "" @@ -4136,7 +4104,7 @@ "the form ::" msgstr "" "Echec de l'analyse syntaxique de l'option de configuration " -"'swift_catalog_info', doit figurer sous la forme :" +"'swift_catalog_info' ; doit figurer sous la forme :" ":" #, python-format @@ -4150,40 +4118,38 @@ #, python-format msgid "Failed to remove export for volume %(volume)s: %(reason)s" msgstr "" -"Échec de la suppression de l'export pour le volume %(volume)s : %(reason)s" +"Echec de suppression de l'exportation pour le volume %(volume)s : %(reason)s" #, python-format msgid "Failed to remove iscsi target for volume %(volume_id)s." -msgstr "" -"Echec de la suppression de la cible iSCSI pour le volume %(volume_id)s." +msgstr "Echec de suppression de la cible iSCSI pour le volume %(volume_id)s." #, python-format msgid "" "Failed to remove volume %(volumeName)s from consistency group %(cgName)s. " "Return code: %(rc)lu. Error: %(error)s." msgstr "" -"La suppression du volume %(volumeName)s du groupe de cohérence %(cgName)s " -"n'a pas abouti. Code retour : %(rc)lu. Erreur : %(error)s." +"Le retrait du volume %(volumeName)s du groupe de cohérence %(cgName)s n'a " +"pas abouti. Code retour : %(rc)lu. Erreur : %(error)s." #, python-format msgid "Failed to remove volume %(volumeName)s from default SG." msgstr "" -"Echec de la suppression du volume %(volumeName)s du groupe de stockage par " -"défaut." +"Echec de retrait du volume %(volumeName)s du groupe de stockage par défaut." #, python-format msgid "Failed to remove volume %(volumeName)s from default SG: %(volumeName)s." msgstr "" -"Echec de la suppression du volume %(volumeName)s dans le groupe de stockage " -"par défaut : %(volumeName)s." +"Echec du retrait du volume %(volumeName)s du groupe de stockage par défaut : " +"%(volumeName)s." #, python-format msgid "" "Failed to remove: %(volumename)s. from the default storage group for FAST " "policy %(fastPolicyName)s." msgstr "" -"Echec de la suppression de %(volumename)s du groupe de stockage par défaut " -"pour la règle FAST %(fastPolicyName)s." +"Echec du retrait de %(volumename)s du groupe de stockage par défaut pour la " +"règle FAST %(fastPolicyName)s." #, python-format msgid "" @@ -4200,22 +4166,21 @@ msgid "" "Failed to set CHAP authentication for target IQN %(iqn)s. Details: %(ex)s" msgstr "" -"Echec de la définition de l'authentification CHAP pour l'IQN cible %(iqn)s. " +"Echec de définition de l'authentification CHAP pour l'IQN cible %(iqn)s. " "Détails : %(ex)s" #, python-format msgid "Failed to set QoS for existing volume %(name)s, Error msg: %(msg)s." msgstr "" -"Echec de définition QoS pour le volume existant %(name)s. Message d'erreur : " -"%(msg)s." +"Echec de définition de QoS pour le volume existant %(name)s. Message " +"d'erreur : %(msg)s." msgid "Failed to set attribute 'Incoming user' for SCST target." msgstr "" -"Echec de la définition de l'attribut 'Utilisateur entrant' pour la cible " -"SCST." +"Echec de définition de l'attribut 'Utilisateur entrant' pour la cible SCST." msgid "Failed to set partition." -msgstr "Echec de la définition de la partition." +msgstr "Echec de définition de la partition." #, python-format msgid "" @@ -4238,11 +4203,11 @@ "Failed to specify a logical device to be deleted. (method: %(method)s, id: " "%(id)s)" msgstr "" -"Impossible de spécifier une unité logique à supprimer. (méthode : " +"Impossible d'indiquer une unité logique pour suppression. (méthode : " "%(method)s, ID : %(id)s)" msgid "Failed to terminate migrate session." -msgstr "Echec de l'arrêt de la session de migration." +msgstr "Echec d'arrêt de la session de migration." #, python-format msgid "Failed to unbind volume %(volume)s" @@ -4252,30 +4217,30 @@ msgid "" "Failed to unlink fileset for consistency group %(cgname)s. Error: %(excmsg)s." msgstr "" -"Echec de suppression de liaison de l'ensemble de fichiers pour le groupe de " -"cohérence %(cgname)s. Erreur : %(excmsg)s." +"Echec de suppression de la liaison à l'ensemble de fichiers pour le groupe " +"de cohérence %(cgname)s. Erreur : %(excmsg)s." #, python-format msgid "Failed to unmap a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" msgstr "" -"Echec de l'annulation du mappage d'une unité logique. (unité logique : " +"Echec d'annulation du mappage d'une unité logique. (unité logique : " "%(ldev)s, raison : %(reason)s)" #, python-format msgid "Failed to update consistency group: %(cgName)s." -msgstr "Echec de la mise à jour du groupe de cohérence : %(cgName)s." +msgstr "Echec de mise à jour du groupe de cohérence %(cgName)s." #, python-format msgid "Failed to update metadata for volume: %(reason)s" -msgstr "Échec de la mise à jour des métadonnées pour le volume : %(reason)s" +msgstr "Echec de mise à jour des métadonnées pour le volume : %(reason)s" msgid "Failed to update or delete zoning configuration" msgstr "" -"Impossible de mettre à jour ou supprimer la configuration de segmentation" +"Impossible de mettre à jour ou de supprimer la configuration de segmentation" msgid "Failed to update or delete zoning configuration." msgstr "" -"Impossible de mettre à jour ou supprimer la configuration de segmentation." +"Impossible de mettre à jour ou de supprimer la configuration de segmentation." #, python-format msgid "Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s." @@ -4284,23 +4249,23 @@ msgid "Failed to update quota usage while retyping volume." msgstr "" -"Echec de la mise à jour de l'utilisation de quota lors de la confirmation du " +"Echec de mise à jour de l'utilisation de quota lors de la confirmation du " "volume." msgid "Failed to update snapshot." -msgstr "Impossible de mettre à jour l'instantané." +msgstr "Impossible de mettre à jour le snapshot." #, python-format msgid "Failed updating model with driver provided model %(model)s" msgstr "" -"Echec de la mise à jour du modèle de volume fourni avec le modèle %(model)s" +"Echec de mise à jour du modèle avec le modèle fourni par le pilote %(model)s" #, python-format msgid "" "Failed updating volume %(vol_id)s metadata using the provided %(src_type)s " "%(src_id)s metadata" msgstr "" -"Echec de la mise à jour des métadonnées de volume %(vol_id)s avec les " +"Echec de mise à jour des métadonnées du volume %(vol_id)s avec les " "métadonnées fournies (%(src_type)s %(src_id)s)" #, python-format @@ -4317,15 +4282,15 @@ #, python-format msgid "Failure moving new cloned LUN to %s." -msgstr "Echec du déplacement du nouveau numéro d'unité logique cloné vers %s." +msgstr "Echec de déplacement du nouveau numéro d'unité logique cloné vers %s." #, python-format msgid "Failure staging LUN %s to tmp." -msgstr "Echec du transfert du numéro d'unité logique %s vers tmp." +msgstr "Echec de transfert du numéro d'unité logique %s vers tmp." msgid "Fatal error: User not permitted to query NetApp volumes." msgstr "" -"Erreur fatale : Utilisateur non autorisé à interroger les volumes NetApp." +"Erreur fatale : Utilisateur non autorisé à interroger des volumes NetApp." #, python-format msgid "Fexvisor failed to add volume %(id)s due to %(reason)s." @@ -4337,21 +4302,21 @@ "Fexvisor failed to join the volume %(vol)s in the group %(group)s due to " "%(ret)s." msgstr "" -"Fexvisor n'est pas parvenu à joindre le volume %(vol)s au groupe %(group)s. " -"Motif : %(ret)s." +"Echec de Flexvisor lors du rattachement du volume %(vol)s au groupe " +"%(group)s. Cause : %(ret)s." #, python-format msgid "" "Fexvisor failed to remove the volume %(vol)s in the group %(group)s due to " "%(ret)s." msgstr "" -"Fexvisor n'est pas parvenu à retirer le volume %(vol)s du groupe %(group)s. " -"Motif : %(ret)s." +"Echec de Flexvisor lors du retrait du volume %(vol)s du groupe %(group)s. " +"Cause : %(ret)s." #, python-format msgid "Fexvisor failed to remove volume %(id)s due to %(reason)s." msgstr "" -"Fexvisor n'est pas parvenu à supprimer le volume %(id)s. Motif : %(reason)s." +"Echec de Flexvisor lors du retrait du volume %(id)s. Cause : %(reason)s." #, python-format msgid "Fibre Channel SAN Lookup failure: %(reason)s" @@ -4372,8 +4337,8 @@ #, python-format msgid "File %(path)s has invalid backing file %(bfile)s, aborting." msgstr "" -"Le fichier %(path)s dispose d'un fichier de sauvegarde non valide : " -"%(bfile)s. L'opération est abandonnée." +"Le fichier %(path)s possède un fichier de support non valide : %(bfile)s. " +"Abandon de l'opération." #, python-format msgid "File already exists at %s." @@ -4417,7 +4382,7 @@ #, python-format msgid "Flexvisor assign volume failed.:%(id)s:%(status)s." msgstr "" -"Echec de Flexvisor lors de l'affectation de volume : %(id)s : %(status)s." +"Echec de Flexvisor lors de l'affectation du volume : %(id)s : %(status)s." #, python-format msgid "Flexvisor assign volume failed:%(id)s:%(status)s." @@ -4429,7 +4394,7 @@ "Flexvisor could not find volume %(id)s snapshot in the group %(vgid)s " "snapshot %(vgsid)s." msgstr "" -"Flexvisor n'a pas trouvé l'instantané %(id)s du volume dans l'instantané " +"Flexvisor n'a pas trouvé le snapshot %(id)s du volume dans le snapshot " "%(vgsid)s du groupe %(vgid)s." #, python-format @@ -4452,8 +4417,8 @@ "Flexvisor failed to assign volume %(id)s due to unable to query status by " "event id." msgstr "" -"Flexvisor n'a pas affecté le volume %(id)s car il ne peut demander l'état de " -"la requête par ID d'événement." +"Flexvisor n'a pas affecté le volume %(id)s car il ne peut pas interroger le " +"statut par ID événement." #, python-format msgid "Flexvisor failed to assign volume %(id)s: %(status)s." @@ -4472,21 +4437,21 @@ #, python-format msgid "Flexvisor failed to clone volume (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors du clonage du volume (échec de l'obtention de " +"Echec de Flexvisor lors du clonage du volume (échec d'obtention de " "l'événement) %(id)s." #, python-format msgid "Flexvisor failed to create snapshot for volume %(id)s: %(status)s." msgstr "" -"Echec de Flexvisor lors de la création de l'instantané pour le volume " -"%(id)s : %(status)s." +"Echec de Flexvisor lors de la création du snapshot pour le volume %(id)s : " +"%(status)s." #, python-format msgid "" "Flexvisor failed to create snapshot for volume (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors de la création de l'instantané pour le volume (échec " -"de l'obtention de l'événement) %(id)s." +"Echec de Flexvisor lors de la création du snapshot pour le volume (échec " +"d'obtention de l'événement) %(id)s." #, python-format msgid "Flexvisor failed to create volume %(id)s in the group %(vgid)s." @@ -4508,33 +4473,32 @@ #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s: %(status)s." msgstr "" -"Echec de Flexvisor lors de la création du volume à partir de l'instantané " -"%(id)s:%(status)s." +"Echec de Flexvisor lors de la création du volume à partir du snapshot " +"%(id)s : %(status)s." #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s:%(status)s." msgstr "" -"Echec de Flexvisor lors de la création du volume à partir de l'instantané " -"%(id)s:%(status)s." +"Echec de Flexvisor lors de la création du volume à partir du snapshot " +"%(id)s : %(status)s." #, python-format msgid "" "Flexvisor failed to create volume from snapshot (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors de la création du volume à partir de l'instantané " -"(échec de l'obtention de l'événement) %(id)s." +"Echec de Flexvisor lors de la création du volume à partir du snapshot (échec " +"d'obtention de l'événement) %(id)s." #, python-format msgid "Flexvisor failed to delete snapshot %(id)s: %(status)s." msgstr "" -"Echec de Flexvisor lors de la suppression de l'instantané %(id)s : " -"%(status)s." +"Echec de Flexvisor lors de la suppression du snapshot %(id)s : %(status)s." #, python-format msgid "Flexvisor failed to delete snapshot (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors de la suppression de l'instantané (échec de " -"l'obtention de l'événement) %(id)s." +"Echec de Flexvisor lors de la suppression du snapshot (échec d'obtention de " +"l'événement) %(id)s." #, python-format msgid "Flexvisor failed to delete volume %(id)s: %(status)s." @@ -4543,18 +4507,16 @@ #, python-format msgid "Flexvisor failed to extend volume %(id)s: %(status)s." -msgstr "" -"Echec de Flexvisor lors de l'exportation du volume %(id)s : %(status)s." +msgstr "Echec de Flexvisor lors de l'extension du volume %(id)s : %(status)s." #, python-format msgid "Flexvisor failed to extend volume %(id)s:%(status)s." -msgstr "" -"Echec de Flexvisor lors de l'exportation du volume %(id)s : %(status)s." +msgstr "Echec de Flexvisor lors de l'extension du volume %(id)s : %(status)s." #, python-format msgid "Flexvisor failed to extend volume (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors de l'extension du volume (échec de l'obtention de " +"Echec de Flexvisor lors de l'extension du volume (échec d'obtention de " "l'événement) %(id)s." #, python-format @@ -4567,26 +4529,26 @@ msgid "" "Flexvisor failed to get snapshot id of volume %(id)s from group %(vgid)s." msgstr "" -"Echec de Flexvisor lors de l'obtention de l'ID instantané du volume %(id)s à " +"Echec de Flexvisor lors de l'obtention de l'ID snapshot du volume %(id)s à " "partir du groupe %(vgid)s." #, python-format msgid "Flexvisor failed to remove volume %(id)s from group %(cgid)s." msgstr "" -"Flexvisor n'est pas parvenu à supprimer le volume %(id)s du groupe %(cgid)s." +"Echec de Flexvisor lors du retrait du volume %(id)s du groupe %(cgid)s." #, python-format msgid "Flexvisor failed to spawn volume from snapshot %(id)s:%(status)s." msgstr "" -"Echec de Flexvisor lors de la génération du volume à partir de l'instantané " -"%(id)s:%(status)s." +"Echec de Flexvisor lors de la génération du volume à partir du snapshot " +"%(id)s : %(status)s." #, python-format msgid "" "Flexvisor failed to spawn volume from snapshot (failed to get event) %(id)s." msgstr "" -"Echec de Flexvisor lors de la génération du volume à partir de l'instantané " -"(échec de l'obtention de l'événement) %(id)s." +"Echec de Flexvisor lors de la génération du volume à partir du snapshot " +"(échec d'obtention de l'événement) %(id)s." #, python-format msgid "Flexvisor failed to unassign volume %(id)s: %(status)s." @@ -4616,7 +4578,7 @@ #, python-format msgid "Flexvisor volume %(id)s failed to join group %(vgid)s." msgstr "" -"Le volume Flexvisor %(id)s n'a pas réussi à joindre le groupe %(vgid)s." +"Le volume Flexvisor %(id)s n'a pas pu être rattaché au groupe %(vgid)s." #, python-format msgid "Folder %s does not exist in Nexenta Store appliance" @@ -4668,7 +4630,7 @@ msgstr "Erreur lors de l'obtention d'informations sur la matrice." msgid "Get cache by name error." -msgstr "Erreur lors de l'obtention du cache à partir du nom." +msgstr "Erreur lors de l'obtention du cache par nom." msgid "Get connected free FC wwn error." msgstr "Erreur lors de l'obtention du wwn FC libre connecté." @@ -4686,8 +4648,8 @@ "Get iSCSI port info error, please check the target IP configured in huawei " "conf file." msgstr "" -"Erreur lors de l'obtention des informations de port iSCSI. Vérifiez que " -"l'adresse IP cible a été configurée dans le fichier de configuration huawei." +"Erreur lors de l'obtention des informations de port iSCSI. Vérifiez " +"l'adresse IP cible configurée dans le fichier de configuration huawei." msgid "Get iSCSI port information error." msgstr "Erreur lors de l'obtention des informations de port iSCSI." @@ -4699,7 +4661,9 @@ msgstr "Erreur d'obtention de l'ID de numéro d'unité logique (lun id) par nom." msgid "Get lun migration task error." -msgstr "Erreur lors de la création de migration de numéro d'unité logique." +msgstr "" +"Erreur lors de l'obtention de la tâche de migration de numéro d'unité " +"logique." msgid "Get lungroup id by lun id error." msgstr "" @@ -4716,11 +4680,10 @@ msgstr "L'obtention d'une paire a échoué." msgid "Get partition by name error." -msgstr "Erreur lors de l'obtention de la partition à partir du nom." +msgstr "Erreur lors de l'obtention de la partition par nom." msgid "Get partition by partition id error." -msgstr "" -"Erreur lors de l'obtention de la partition à partir de l'ID de partition." +msgstr "Erreur lors de l'obtention de la partition par ID partition." msgid "Get port group by view error." msgstr "Erreur lors de l'obtention de groupe de ports par vue." @@ -4741,13 +4704,13 @@ msgstr "Erreur lors de l'obtention d'unités distantes." msgid "Get smartcache by cache id error." -msgstr "Erreur lors de l'obtention de smartcache à partir de l'ID du cache." +msgstr "Erreur lors de l'obtention de smartcache par l'ID cache." msgid "Get snapshot error." -msgstr "Erreur lors de l'obtention de l'instantané." +msgstr "Erreur lors de l'obtention du snapshot." msgid "Get snapshot id error." -msgstr "Erreur lors de l'obtention de l'ID de l'instantané." +msgstr "Erreur lors de l'obtention de l'ID snapshot." msgid "Get target IP error." msgstr "Erreur lors de l'obtention de l'adresse IP cible." @@ -4761,7 +4724,7 @@ msgstr "Erreur lors de l'obtention de vues par port." msgid "Get volume by name error." -msgstr "Erreur lors de l'obtention du volume à partir du nom." +msgstr "Erreur lors de l'obtention du volume par nom." msgid "Get volume error." msgstr "Erreur lors de l'obtention du volume." @@ -4776,7 +4739,7 @@ #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." -msgstr "Métadonnées Glance introuvables pour le volume/instantané %(id)s." +msgstr "Métadonnées Glance introuvables pour le volume/snapshot %(id)s." #, python-format msgid "Gluster config file at %(config)s doesn't exist" @@ -4796,7 +4759,7 @@ #, python-format msgid "Got bad path information from DRBDmanage! (%s)" -msgstr "Informations de chemin incorrectes reçues de DRBDmanage : (%s)" +msgstr "Informations de chemin incorrectes reçues de DRBDmanage (%s)" msgid "HBSD error occurs." msgstr "Une erreur HBSD s'est produite." @@ -4851,7 +4814,7 @@ #, python-format msgid "Host %s has no FC initiators" -msgstr "L'hôte %s n'a aucun demandeur FC" +msgstr "L'hôte %s n'a aucun initiateur FC" #, python-format msgid "Host %s has no iSCSI initiator" @@ -4870,7 +4833,7 @@ msgstr "Le groupe d'hôtes avec la référence %s est introuvable" msgid "Host is NOT Frozen." -msgstr "L'hôte N'EST PAS figé." +msgstr "L'hôte n'est PAS figé." msgid "Host is already Frozen." msgstr "L'hôte est déjà figé." @@ -4880,7 +4843,7 @@ #, python-format msgid "Host not found. Failed to remove %(service)s on %(host)s." -msgstr "Hôte introuvable. La suppression de %(service)s sur %(host)s a échoué." +msgstr "Hôte introuvable. Echec du retrait de %(service)s sur %(host)s." #, python-format msgid "Host replication_status must be %s to failover." @@ -4916,13 +4879,13 @@ msgid "" "If compression is set to True, rsize must also be set (not equal to -1)." msgstr "" -"Si la compression est définie sur True, rsize doit également être définie " -"(autre que -1). " +"Si la compression est définie sur True, rsize doit également être défini " +"(valeur autre que -1). " msgid "If nofmtdisk is set to True, rsize must also be set to -1." msgstr "" -"Si le paramètre nofmtdisk est défini avec la valeur True, rsize doit " -"également être défini avec la valeur -1." +"Si le paramètre nofmtdisk est défini sur True, rsize doit également être " +"défini avec la valeur -1." #, python-format msgid "" @@ -4982,9 +4945,9 @@ "by retrying the delete after 30 seconds has elapsed." msgstr "" "Erreur ImageBusy générée lors de la suppression du volume rbd. Cela peut " -"être dû à une interruption de connexion d'un client et, dans ce cas, il " -"suffit parfois d'effectuer une nouvelle tentative de suppression après un " -"délai de 30 secondes." +"être dû à une interruption de connexion d'un client tombé en panne et, dans " +"ce cas, il suffit parfois de relancer la suppression après un délai de 30 " +"secondes." #, python-format msgid "" @@ -4992,7 +4955,7 @@ "Request service %(service)s" msgstr "" "Echec d'importation d'enregistrement, service de sauvegarde introuvable pour " -"réaliser l'importation. Service de requête %(service)s" +"réaliser l'importation. Service de demande %(service)s" msgid "Incorrect request body format" msgstr "Format de corps de demande incorrect" @@ -5001,7 +4964,7 @@ msgstr "Format de corps de demande incorrect." msgid "Incremental backups exist for this backup." -msgstr "Les sauvegardes incrémentielles existent pour cette sauvegarde." +msgstr "Des sauvegardes incrémentielles existent pour cette sauvegarde." #, python-format msgid "" @@ -5018,7 +4981,7 @@ msgstr "Le type d'entrée {} n'est pas pris en charge." msgid "Input volumes or snapshots are invalid." -msgstr "Les volumes ou les instantanés d'entrée ne sont pas valides." +msgstr "Les volumes ou les snapshots d'entrée ne sont pas valides." msgid "Input volumes or source volumes are invalid." msgstr "Les volumes d'entrée ou les volumes source ne sont pas valides." @@ -5035,8 +4998,8 @@ msgid "Interval value (in seconds) between connection retries to ceph cluster." msgstr "" -"Valeur de l'intervalle (en secondes) entre les nouvelles tentatives de " -"connexion au cluster ceph cluster." +"Valeur de l'intervalle (en secondes) entre deux tentatives de connexion au " +"cluster ceph." #, python-format msgid "Invalid %(protocol)s ports %(port)s specified for io_port_list." @@ -5050,11 +5013,11 @@ msgstr "Valeur ALUA non valide. La valeur de ALUA doit être 1 ou 0." msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "Args Ceph non valide pour l'opération rbd de sauvegarde" +msgstr "Arguments Ceph non valides pour l'opération rbd de sauvegarde" #, python-format msgid "Invalid CgSnapshot: %(reason)s" -msgstr "Instantané de groupe de cohérence non valide : %(reason)s" +msgstr "Snapshot de groupe de cohérence non valide : %(reason)s" #, python-format msgid "Invalid ConsistencyGroup: %(reason)s" @@ -5073,8 +5036,8 @@ "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." msgstr "" -"ConsistencyGroup non valide : l'état du groupe de cohérence doit être " -"disponible, mais l'état actuel est : %s." +"ConsistencyGroup non valide : le statut du groupe de cohérence doit être " +"disponible, mais le statut en cours est : %s." msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "" @@ -5119,7 +5082,7 @@ #, python-format msgid "Invalid XtremIO version %(cur)s, version %(min)s or up is required" msgstr "" -"Version XtremIO non valide %(cur)s, version %(min)s ou ultérieure est requise" +"Version XtremIO non valide %(cur)s, version %(min)s ou ultérieure requise" #, python-format msgid "Invalid allocated quotas defined for the following project quotas: %s" @@ -5146,7 +5109,7 @@ #, python-format msgid "Invalid auth key: %(reason)s" -msgstr "Clé d'auth non valide : %(reason)s" +msgstr "Clé d'authentification non valide : %(reason)s" #, python-format msgid "Invalid backup: %(reason)s" @@ -5158,10 +5121,10 @@ "[:port]/' url specified is: %s" msgstr "" "URL d'API barbican non valide : la version est obligatoire, par exemple " -"'http[s]://|[:port]/', l'URL indiquée est : %s" +"'http[s]://|[:port]/' ; l'URL indiquée est : %s" msgid "Invalid cgsnapshot" -msgstr "Instantané de groupe de cohérence non valide" +msgstr "Snapshot de groupe de cohérence non valide" msgid "Invalid chap user details found in CloudByte storage." msgstr "" @@ -5170,19 +5133,18 @@ #, python-format msgid "Invalid connection initialization response of volume %(name)s" -msgstr "" -"Réponse d'initialisation de connexion non valide pour le volume %(name)s" +msgstr "Réponse d'initialisation de connexion du volume %(name)s non valide" #, python-format msgid "" "Invalid connection initialization response of volume %(name)s: %(output)s" msgstr "" -"Réponse d'initialisation de connexion non valide pour le volume %(name)s : " +"Réponse d'initialisation de connexion du volume %(name)s non valide : " "%(output)s" #, python-format msgid "Invalid content type %(content_type)s." -msgstr "Le type de contenu %(content_type)s est invalide" +msgstr "Le type de contenu %(content_type)s n'est pas valide." msgid "Invalid credentials" msgstr "Données d'identification non valides" @@ -5193,11 +5155,11 @@ #, python-format msgid "Invalid disk adapter type: %(invalid_type)s." -msgstr "Type de carte d'unité de disque non valide : %(invalid_type)s." +msgstr "Type d'adaptateur de disque non valide : %(invalid_type)s." #, python-format msgid "Invalid disk backing: %s." -msgstr "Sauvegarde de disque non valide : %s." +msgstr "Support de disque non valide : %s." #, python-format msgid "Invalid disk type: %(disk_type)s." @@ -5250,7 +5212,7 @@ #, python-format msgid "Invalid input received: %(reason)s" -msgstr "Entrée invalide reçue : %(reason)s" +msgstr "Entrée non valide reçue : %(reason)s" #, python-format msgid "Invalid is_public filter [%s]" @@ -5258,15 +5220,15 @@ #, python-format msgid "Invalid lun type %s is configured." -msgstr "Le type lun non valide %s est configuré." +msgstr "Type lun non valide %s configuré." #, python-format msgid "Invalid metadata size: %(reason)s" -msgstr "Taille de métadonnée invalide : %(reason)s" +msgstr "Taille de métadonnées non valide : %(reason)s" #, python-format msgid "Invalid metadata: %(reason)s" -msgstr "Métadonnée invalide : %(reason)s" +msgstr "Métadonnées non valides : %(reason)s" #, python-format msgid "Invalid mount point base: %s" @@ -5302,12 +5264,12 @@ "Invalid request to attach volume with an invalid mode. Attaching mode should " "be 'rw' or 'ro'" msgstr "" -"Demande non valide de rattachement du volume dans un mode non valide. Le " -"mode d'attachement doit être 'rw' ou 'ro'" +"Demande non valide de connexion du volume dans un mode non valide. Le mode " +"de connexion doit être 'rw' ou 'ro'" #, python-format msgid "Invalid reservation expiration %(expire)s." -msgstr "Expiration de réservation non valide %(expire)s." +msgstr "Expiration de réservation %(expire)s non valide." msgid "Invalid response header from RPC server" msgstr "En-tête de réponse non valide du serveur RPC " @@ -5319,18 +5281,18 @@ #, python-format msgid "Invalid secondary_backend_id specified. Valid backend id is %s." msgstr "" -"ID de back-end secondaire (secondary_backend_id) non valide indiqué. L'ID de " -"back-end valide est %s." +"ID back-end secondaire (secondary_backend_id) non valide indiqué. L'ID back-" +"end valide est %s." msgid "Invalid service catalog json." -msgstr "json de catalogue de service non valide." +msgstr "json de catalogue de services non valide." msgid "Invalid sheepdog cluster status." msgstr "Statut de cluster Sheepdog non valide." #, python-format msgid "Invalid snapshot: %(reason)s" -msgstr "snapshot invalide : %(reason)s" +msgstr "snapshot non valide : %(reason)s" #, python-format msgid "Invalid status: '%s'" @@ -5364,11 +5326,11 @@ "', url specified is: %s" msgstr "" "URL non valide : doit être au format 'http[s]://|[:port]/" -"', l'URL indiquée est : %s" +"' ; l'URL indiquée est : %s" #, python-format msgid "Invalid value '%s' for force." -msgstr "Valeur invalide '%s' pour le 'forçage'." +msgstr "Valeur non valide '%s' pour forcer." #, python-format msgid "Invalid value '%s' for force. " @@ -5385,15 +5347,15 @@ #, python-format msgid "Invalid value for 'bootable': '%s'" -msgstr "Valeur non valide pour 'bootable': '%s'" +msgstr "Valeur non valide pour 'bootable' : '%s'" #, python-format msgid "Invalid value for 'force': '%s'" -msgstr "Valeur non valide pour 'force': '%s'" +msgstr "Valeur non valide pour 'force' : '%s'" #, python-format msgid "Invalid value for 'readonly': '%s'" -msgstr "Valeur non valide pour 'readonly': '%s'" +msgstr "Valeur non valide pour 'readonly' : '%s'" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" msgstr "Valeur non valide pour 'scheduler_max_attempts', doit être >= 1" @@ -5420,8 +5382,8 @@ "an integer (or string representation of an integer) and greater than zero)." msgstr "" "La taille de volume fournie pour la demande de création n'est pas valide : " -"%s (l'argument de taille doit être un entier (ou représentation de chaîne " -"d'un entier) et supérieur à zéro)." +"%s (l'argument de taille doit être un entier (ou une représentation de " +"chaîne d'un entier) et supérieur à zéro)." #, python-format msgid "Invalid volume type: %(reason)s" @@ -5429,7 +5391,7 @@ #, python-format msgid "Invalid volume: %(reason)s" -msgstr "Volume invalide : %(reason)s" +msgstr "Volume non valide : %(reason)s" #, python-format msgid "" @@ -5439,8 +5401,7 @@ msgstr "" "Volume non valide : Impossible d'ajouter le volume %(volume_id)s au groupe " "de cohérence %(group_id)s car le volume est dans un état non valide : " -"%(status)s. Les états valides sont : ('disponible', 'en cours " -"d'utilisation')." +"%(status)s. Etats valides : ('disponible', 'en cours d'utilisation')." #, python-format msgid "" @@ -5465,8 +5426,8 @@ "Invalid volume: Cannot remove volume fake-volume-uuid from consistency group " "%(group_id)s because it is not in the group." msgstr "" -"Volume non valide : Impossible de supprimer l'uuid de volume fictif du " -"groupe de cohérence %(group_id)s car il ne se trouve pas dans le groupe." +"Volume non valide : Impossible de retirer l'uuid de volume fictif du groupe " +"de cohérence %(group_id)s car il ne se trouve pas dans le groupe." #, python-format msgid "Invalid volume_type passed: %s." @@ -5517,18 +5478,18 @@ "configurée correctement." msgid "Item not found" -msgstr "Élément introuvable" +msgstr "Elément introuvable" #, python-format msgid "Job id not found in CloudByte's create volume [%s] response." msgstr "" -"ID de travail introuvable dans la réponse CloudByte à Créer un volume [%s]." +"ID travail introuvable dans la réponse CloudByte à Créer un volume [%s]." #, python-format msgid "Job id not found in CloudByte's delete volume [%s] response." msgstr "" -"ID de travail non trouvé dans la réponse CloudByte à la suppression du " -"volume [%s]." +"ID travail introuvable dans la réponse CloudByte à la suppression du volume " +"[%s]." msgid "" "Key names can only contain alphanumeric characters, underscores, periods, " @@ -5570,7 +5531,7 @@ #, python-format msgid "LUN number is out of bound on channel id: %(ch_id)s." msgstr "" -"Le nombre de numéros d'unité logique est hors bornes sur l'ID de canal : " +"Le nombre de numéros d'unité logique est hors bornes sur l'ID canal : " "%(ch_id)s." #, python-format @@ -5578,9 +5539,9 @@ "LUN with given ref %(ref)s does not satisfy volume type. Ensure LUN volume " "with ssc features is present on vserver %(vs)s." msgstr "" -"LUN avec la réf donnée %(ref)s ne satisfait pas le type de volume. Assurez-" -"vous que le volume LUN avec fonctionnalités ssc est présent sur vserver " -"%(vs)s." +"Le LUN avec la réf donnée %(ref)s ne satisfait pas le type de volume. " +"Assurez-vous que le volume LUN avec fonctionnalités ssc est présent sur " +"vserver %(vs)s." #, python-format msgid "Last %s cinder syslog entries:-" @@ -5646,11 +5607,11 @@ #, python-format msgid "Malformed message body: %(reason)s" -msgstr "Format de corps de message non valide : %(reason)s" +msgstr "Corps de message syntaxiquement incorrect : %(reason)s" #, python-format msgid "Malformed nameserver string: %s" -msgstr "Chaîne de serveur de noms mal formée : %s" +msgstr "Chaîne de serveur de noms syntaxiquement incorrecte : %s" msgid "Malformed request body" msgstr "Format de corps de demande incorrect" @@ -5663,10 +5624,10 @@ #, python-format msgid "Malformed response to command %(cmd)s: %(reason)s" -msgstr "Format incorrect de la réponse à la commande %(cmd)s : %(reason)s" +msgstr "Réponse syntaxiquement incorrecte à la commande %(cmd)s : %(reason)s" msgid "Malformed scheduler_hints attribute" -msgstr "Format incorrect de l'attribut scheduler_hints" +msgstr "Format de l'attribut scheduler_hints incorrect" #, python-format msgid "Malformed show fcns database string: %s" @@ -5677,14 +5638,14 @@ "Malformed zone configuration: (switch=%(switch)s zone_config=" "%(zone_config)s)." msgstr "" -"Configuration de zone mal formée : (switch=%(switch)s zone_config=" -"%(zone_config)s)." +"Configuration de zone syntaxiquement incorrecte : (switch=%(switch)s " +"zone_config=%(zone_config)s)." #, python-format msgid "Malformed zone status: (switch=%(switch)s zone_config=%(zone_config)s)." msgstr "" -"Format de statut de zone incorrect : (commutateur = %(switch)s, config de " -"zone = %(zone_config)s)." +"Format de statut de zone incorrect : (commutateur = %(switch)s, zone_config " +"= %(zone_config)s)." msgid "Manage existing get size requires 'id'." msgstr "" @@ -5692,27 +5653,27 @@ "l'élément 'id'." msgid "Manage existing snapshot not implemented." -msgstr "La gestion d'instantané existant n'est pas implémentée." +msgstr "La gestion du snapshot existant n'est pas implémentée." #, python-format msgid "" "Manage existing volume failed due to invalid backend reference " "%(existing_ref)s: %(reason)s" msgstr "" -"Echec de la gestion du volume existant en raison d'une référence de back-end " +"Echec de gestion du volume existant en raison d'une référence de back-end " "non valide %(existing_ref)s : %(reason)s" #, python-format msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" msgstr "" -"Echec de la gestion du volume existant en raison de types de volume " +"Echec de gestion du volume existant en raison de types de volume " "différents : %(reason)s" msgid "Manage existing volume not implemented." -msgstr "Gestion de volume existant non implémentée." +msgstr "Gestion du volume existant non implémentée." msgid "Manage existing volume requires 'source-id'." -msgstr "La gestion de volume existant requiert 'source-id'." +msgstr "La gestion du volume existant requiert 'source-id'." #, python-format msgid "" @@ -5723,8 +5684,7 @@ "FAST : %(fastPolicyName)s." msgid "Managing of snapshots to failed-over volumes is not allowed." -msgstr "" -"La gestion des instantanés sur des volumes basculés n'est pas autorisée." +msgstr "La gestion des snapshots sur des volumes basculés n'est pas autorisée." msgid "Map info is None due to array version not supporting hypermetro." msgstr "" @@ -5742,15 +5702,15 @@ #, python-format msgid "Masking view %(maskingViewName)s was not deleted successfully" msgstr "" -"Le masquage de la vue %(maskingViewName)s n'a pas été correctement supprimé" +"La suppression de la vue de masquage %(maskingViewName)s n'a pas abouti" #, python-format msgid "Maximum number of backups allowed (%(allowed)d) exceeded" -msgstr "Nombre maximum de sauvegardes autorisées (%(allowed)d) dépassé" +msgstr "Nombre maximal de sauvegardes autorisées (%(allowed)d) dépassé" #, python-format msgid "Maximum number of snapshots allowed (%(allowed)d) exceeded" -msgstr "Nombre maximal d'instantanés autorisés (%(allowed)d) dépassé" +msgstr "Nombre maximal de snapshots autorisés (%(allowed)d) dépassé" #, python-format msgid "" @@ -5762,10 +5722,10 @@ #, python-format msgid "May specify only one of %s" -msgstr "Un seul %s doit être spécifié" +msgstr "Un seul %s peut être spécifié" msgid "Metadata backup already exists for this volume" -msgstr "Une sauvegarde de métadonnées existe déjà pour ce volume" +msgstr "Une sauvegarde des métadonnées existe déjà pour ce volume" #, python-format msgid "Metadata backup object '%s' already exists" @@ -5836,7 +5796,8 @@ "installée et disponible." msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names" -msgstr "Paramètre de configuration SAN Fibre Channel - fc_fabric_names" +msgstr "" +"Paramètre de configuration SAN Fibre Channel manquant - fc_fabric_names" msgid "Missing request body" msgstr "Corps de la demande manquant" @@ -5846,7 +5807,7 @@ #, python-format msgid "Missing required element '%s' in request body" -msgstr "Elément requis manquant '%s' dans le corps de la demande" +msgstr "Elément requis '%s' manquant dans le corps de demande" #, python-format msgid "Missing required element '%s' in request body." @@ -5860,7 +5821,7 @@ msgstr "L'élément requis 'host' est manquant dans le corps de la demande." msgid "Missing required element quota_class_set in request body." -msgstr "Elément quota_class_set requis manquant dans le corps de demande." +msgstr "Elément requis quota_class_set manquant dans le corps de demande." msgid "Missing required element snapshot in request body." msgstr "Elément snapshot requis manquant dans le corps de demande." @@ -5886,7 +5847,7 @@ msgstr "Plusieurs profils ont été trouvés." msgid "Must implement a fallback schedule" -msgstr "Doit mettre en oeuvre un calendrier de retrait" +msgstr "Doit implémenter une planification de rappel" msgid "Must implement find_retype_host" msgstr "Doit implémenter find_retype_host" @@ -5910,24 +5871,24 @@ "Must run this command as cloud admin using a Keystone policy.json which " "allows cloud admin to list and get any project." msgstr "" -"Cette commande doit être utilisée en tant qu'administrateur de cloud (cloud " +"Vous devez exécuter cette commande en tant qu'administrateur de cloud (cloud " "admin) à l'aide d'un fichier Keystone policy.json qui permet à " -"l'administrateur de cloud de répertorier et d'obtenir n'importe quel projet." +"l'administrateur de cloud de répertorier et d'obtenir tout projet." msgid "Must specify 'connector'" -msgstr "Vous devez spécifier 'connector'" +msgstr "Indiquer 'connector'" msgid "Must specify 'connector'." -msgstr "Vous devez spécifier le 'connector'" +msgstr "Indiquer 'connector'" msgid "Must specify 'host'." -msgstr "Vous devez spécifier l' 'host'" +msgstr "Indiquer 'host'" msgid "Must specify 'new_volume'" -msgstr "Vous devez spécifier 'new_volume'" +msgstr "Indiquer 'new_volume'" msgid "Must specify 'status'" -msgstr "Vous devez spécifier 'status'" +msgstr "Indiquer 'status'" msgid "" "Must specify 'status', 'attach_status' or 'migration_status' for update." @@ -5935,15 +5896,15 @@ "Indiquer 'status', 'attach_status' ou 'migration_status' pour la mise à jour." msgid "Must specify a valid attach status" -msgstr "Indiquer un état de connexion valide" +msgstr "Indiquer un statut de connexion valide" msgid "Must specify a valid migration status" -msgstr "Indiquer un état de migration valide" +msgstr "Indiquer un statut de migration valide" #, python-format msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid." msgstr "" -"Spécifiez une personnalité valide %(valid)s, la valeur '%(persona)s' n'est " +"Indiquez une personnalité valide %(valid)s, la valeur '%(persona)s' n'est " "pas valide." #, python-format @@ -5951,27 +5912,26 @@ "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is " "invalid." msgstr "" -"Spécifiez un type de mise à disposition valide %(valid)s, la valeur " +"Indiquez un type de mise à disposition valide %(valid)s, la valeur " "'%(prov)s' n'est pas valide." msgid "Must specify a valid status" msgstr "Indiquer un état valide" msgid "Must specify an ExtensionManager class" -msgstr "Vous devez définir une classe ExtensionManager" +msgstr "Indiquer une classe ExtensionManager" msgid "Must specify bootable in request." -msgstr "Doit indiquer bootable dans la demande." +msgstr "Indiquer bootable dans la demande." msgid "Must specify protection domain name or protection domain id." msgstr "Vous devez spécifier un nom ou un ID de domaine de protection." msgid "Must specify readonly in request." -msgstr "Doit indiquer readonly dans la demande." +msgstr "Indiquer readonly dans la demande." msgid "Must specify snapshot source-name or source-id." -msgstr "" -"Vous devez spécifier la valeur source-name ou source-id de l'instantané." +msgstr "Vous devez spécifier la valeur source-name ou source-id du snapshot." msgid "Must specify source-name or source-id." msgstr "Vous devez spécifier source-name ou source-id." @@ -5984,10 +5944,10 @@ "Vous devez spécifier des pools de stockage. Option : sio_storage_pools." msgid "Must supply a positive value for age" -msgstr "Vous devez indiquer un entier positif pour 'age'" +msgstr "Vous devez indiquer une valeur positive pour 'age'" msgid "Must supply a positive, non-zero value for age" -msgstr "Une valeur positive différente de zéro doit être indiquée pour age" +msgstr "Indiquer une valeur positive différente de zéro pour age" #, python-format msgid "" @@ -5998,14 +5958,14 @@ #, python-format msgid "NFS config file at %(config)s doesn't exist" -msgstr "Fichier de configuration NFS dans %(config)s n'existe pas" +msgstr "Le fichier de configuration NFS dans %(config)s n'existe pas" #, python-format msgid "NFS file %s not discovered." msgstr "Fichier NFS %s non reconnu." msgid "NFS file could not be discovered." -msgstr "Découverte impossible du fichier NFS." +msgstr "Impossible de reconnaître le fichier NFS." msgid "NaElement name cannot be null." msgstr "Le nom NaElement ne peut pas avoir la valeur Null." @@ -6017,7 +5977,7 @@ "Name, description, add_volumes, and remove_volumes can not be all empty in " "the request body." msgstr "" -"Nom, description, add_volumes et remove_volumes ne peuvent pas être tous " +"Name, description, add_volumes et remove_volumes ne peuvent pas tous être " "vides dans le corps de la demande." msgid "Need non-zero volume size" @@ -6036,7 +5996,7 @@ "extended: %(new_size)s)." msgstr "" "La nouvelle taille pour l'extension doit être supérieure à la taille " -"actuelle. (Taille actuelle : %(size)s, taille après l'extension : " +"actuelle. (Taille actuelle : %(size)s, taille après extension : " "%(new_size)s)." #, python-format @@ -6048,7 +6008,7 @@ "back-end. Taille réelle : %(oldsize)s, nouvelle taille : %(newsize)s." msgid "New volume size must be specified as an integer." -msgstr "La nouvelle taille du volume doit être indiquée comme entier." +msgstr "La nouvelle taille du volume doit être indiquée sous forme d'entier." msgid "New volume type must be specified." msgstr "Le nouveau type de volume doit être indiqué." @@ -6081,11 +6041,11 @@ msgstr "Aucun ID VF n'est défini dans le fichier de configuration." msgid "No active iSCSI portals with supplied iSCSI IPs" -msgstr "Il n'existe aucun portail iSCSI actif dans les IP iSCSI soumis" +msgstr "Il n'existe aucun portail iSCSI actif dans les IP iSCSI fournies" #, python-format msgid "No available service named %s" -msgstr "Aucun service disponible dénommé %s" +msgstr "Aucun service disponible nommé %s" #, python-format msgid "No backup with id %s" @@ -6095,11 +6055,11 @@ msgstr "Aucune sauvegarde disponible pour faire une sauvegarde incrémentielle." msgid "No big enough free disk" -msgstr "Aucun disque libre de taille suffisante" +msgstr "Aucun disque disponible de taille suffisante" #, python-format msgid "No cgsnapshot with id %s" -msgstr "Aucun instantané de groupe de cohérence avec l'ID %s" +msgstr "Aucun snapshot de groupe de cohérence avec l'ID %s" msgid "No cinder entries in syslog!" msgstr "Aucune entrée Cinder dans syslog" @@ -6117,14 +6077,14 @@ #, python-format msgid "No element by given name %s." -msgstr "Aucun élément du nom indiqué %s." +msgstr "Aucun élément par nom indiqué %s." msgid "No errors in logfiles!" -msgstr "Aucune erreur dans le fichier de log !" +msgstr "Aucune erreur dans les fichiers journaux." #, python-format msgid "No file found with %s as backing file." -msgstr "Aucun fichier trouvé avec %s comme fichier de sauvegarde." +msgstr "Aucun fichier trouvé avec %s comme fichier de support." #, python-format msgid "" @@ -6132,10 +6092,10 @@ "(%s) has been exceeded." msgstr "" "Il ne reste aucun ID de numéro d'unité logique libre. Le nombre maximal de " -"volumes pouvant être rattachés à l'hôte (%s) a été dépassé." +"volumes pouvant être connectés à l'hôte (%s) a été dépassé." msgid "No free disk" -msgstr "Aucun disque libre" +msgstr "Aucun disque disponible" #, python-format msgid "No good iscsi portal found in supplied list for %s." @@ -6153,7 +6113,7 @@ msgstr "Aucun port activé pour iSCSI n'existe sur la matrice cible." msgid "No image_name was specified in request." -msgstr "image_name non défini dans la demande." +msgstr "image_name non spécifié dans la demande." msgid "No initiator connected to fabric." msgstr "Aucun initiateur n'est connecté à l'ensemble de noeuds (fabric)." @@ -6167,7 +6127,7 @@ #, python-format msgid "No interface found on cluster for ip %s" -msgstr "Aucune interface trouvée dans le cluster pour l'IP %s" +msgstr "Aucune interface trouvée sur le cluster pour l'IP %s" msgid "No ip address found." msgstr "Aucune adresse IP n'a été trouvée." @@ -6229,13 +6189,13 @@ msgid "No response was received from CloudByte storage list tsm API call." msgstr "" -"Aucune réponse n'a été reçue de CloudByte pour l'affichage de l'appel API " -"TSM du système de stockage." +"Aucune réponse n'a été reçue pour l'affichage de l'appel API TSM du système " +"de stockage de CloudByte." msgid "No response was received from CloudByte's list filesystem api call." msgstr "" -"Aucune réponse n'a été reçue de CloudByte pour l'affichage de l'appel API du " -"système de fichiers." +"Aucune réponse n'a été reçue pour l'affichage de l'appel API du système de " +"fichiers de CloudByte." msgid "No service VIP configured and no nexenta_client_address" msgstr "" @@ -6244,21 +6204,21 @@ #, python-format msgid "No snap found with %s as backing file." -msgstr "Aucun instantané trouvé avec %s comme fichier de sauvegarde." +msgstr "Aucun snapshot trouvé avec %s comme fichier de support." #, python-format msgid "No snapshot image found in snapshot group %s." msgstr "" -"Aucune image instantanée n'a été trouvée dans le groupe d'instantanés %s." +"Aucune image de snapshot n'a été trouvée dans le groupe de snapshots %s." #, python-format msgid "No snapshots could be found on volume %s." -msgstr "Aucun instantané n'a été trouvé sur le volume %s." +msgstr "Aucun snapshot trouvé sur le volume %s." #, python-format msgid "No source snapshots provided to create consistency group %s." msgstr "" -"Aucun instantané source n'a été fourni pour créer le groupe de cohérence %s." +"Aucun snapshot source n'a été fourni pour créer le groupe de cohérence %s." #, python-format msgid "No storage path found for export path %s" @@ -6266,7 +6226,7 @@ #, python-format msgid "No such QoS spec %(specs_id)s." -msgstr "Aucune spécif. QoS du type %(specs_id)s." +msgstr "Aucune spécif. QoS de type %(specs_id)s." msgid "No suitable discovery ip found" msgstr "Aucune adresse IP correcte trouvée" @@ -6290,7 +6250,7 @@ #, python-format msgid "No valid host was found. %(reason)s" -msgstr "Hôte non valide trouvé. %(reason)s" +msgstr "Aucun hôte valide trouvé. %(reason)s" #, python-format msgid "No valid hosts for volume %(id)s with type %(type)s" @@ -6302,7 +6262,7 @@ #, python-format msgid "No views found for LUN: %s" -msgstr "Aucune vue n'a été trouvée pour le numéro d'unité logique (LUN) : %s" +msgstr "Aucune vue trouvée pour le numéro d'unité logique (LUN) : %s" #, python-format msgid "" @@ -6312,7 +6272,7 @@ "chemin de jonction %(junction)s " msgid "No volume service(s) started successfully, terminating." -msgstr "Aucun service de volume n'a pu démarrer, abandon." +msgstr "Aucun service de volume n'a pu démarrer, arrêt de l'opération." msgid "No volume was found at CloudByte storage." msgstr "Aucun volume n'a été détecté dans le système de stockage CloudByte." @@ -6341,33 +6301,33 @@ "Impossible de trouver un magasin de données approprié pour le volume : %s." msgid "Not an rbd snapshot" -msgstr "N'est pas un instantané rbd" +msgstr "N'est pas un snapshot rbd" #, python-format msgid "Not authorized for image %(image_id)s." -msgstr "Non autorisé pour l'image %(image_id)s." +msgstr "Non autorisé pour %(image_id)s." msgid "Not authorized." msgstr "Non autorisé." #, python-format msgid "Not enough space on backend (%(backend)s)" -msgstr "Espace insuffisant sur le système dorsal (%(backend)s)" +msgstr "Espace insuffisant sur le système de back-end (%(backend)s)" msgid "Not enough storage space in the ZFS share to perform this operation." msgstr "" -"Espace de stockage insuffisant dans le partage ZFS pour exécuter cette " +"Espace de stockage insuffisant dans le partage ZFS pour effectuer cette " "opération." msgid "Not stored in rbd" msgstr "Non stocké dans rbd" msgid "Nova returned \"error\" status while creating snapshot." -msgstr "Nova a renvoyé l'état \"erreur\" durant la création de l'instantané." +msgstr "Nova a renvoyé le statut \"erreur\" lors de la création du snapshot." msgid "Null response received from CloudByte's list filesystem." msgstr "" -"Réponse nulle reçue de CloudByte pour l'affichage du système de fichiers." +"Réponse nulle reçue pour l'affichage du système de fichiers de CloudByte." msgid "Null response received from CloudByte's list iscsi auth groups." msgstr "" @@ -6376,11 +6336,12 @@ msgid "Null response received from CloudByte's list iscsi initiators." msgstr "" -"Réponse nulle reçue de CloudByte pour l'affichage des initiateurs iSCSI." +"Réponse nulle reçue pour l'affichage des initiateurs iSCSI de CloudByte." msgid "Null response received from CloudByte's list volume iscsi service." msgstr "" -"Réponse nulle reçue de CloudByte pour l'affichage du service iSCSI du volume." +"Réponse nulle reçue pour l'affichage du service iSCSI de volume de " +"CloudByte." #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." @@ -6399,8 +6360,8 @@ "Null response received while querying for [%(operation)s] based job " "[%(job)s] at CloudByte storage." msgstr "" -"Réponse Null reçue lors de l'interrogation du travail [%(operation)s] basé " -"[%(job)s] dans le stockage CloudByte." +"Réponse Null reçue lors de l'interrogation du travail [%(job)s] basé " +"[%(operation)s] dans le stockage CloudByte." msgid "Number of retries if connection to ceph cluster failed." msgstr "" @@ -6428,7 +6389,7 @@ "running mixed Liberty-Mitaka cinder-volumes?" msgstr "" "L'un des services cinder-volume est trop ancien pour accepter une demande de " -"ce type. Exécutez-vous des volumes cinder Liberty-Mitaka mixtes ?" +"ce type. Exécutez-vous des volumes cinder Liberty-Mitaka mixtes ?" msgid "One of the required inputs from host, port or scheme was not found." msgstr "" @@ -6450,16 +6411,17 @@ "Only users with token scoped to immediate parents or root projects are " "allowed to see its children quotas." msgstr "" -"Seuls les utilisateurs avec portée de jeton sur les parents immédiats ou les " -"projets racine sont autoriser à visualiser ses quotas enfants." +"Seuls les utilisateurs avec portée de jeton sur les projets parent immédiats " +"ou les projets racine sont autorisés à visualiser ses quotas enfants." msgid "Only volumes managed by OpenStack can be unmanaged." -msgstr "Seuls les volumes gérés par OpenStack peuvent être non gérés." +msgstr "" +"La gestion peut être annulée uniquement pour des volumes gérés par OpenStack." #, python-format msgid "Operation failed with status=%(status)s. Full dump: %(data)s" msgstr "" -"Échec de l'opération avec statut = %(status)s. Vidage complet : %(data)s" +"Echec de l'opération avec statut = %(status)s. Vidage complet : %(data)s" #, python-format msgid "Operation not supported: %(operation)s." @@ -6500,7 +6462,7 @@ "san_password or san_private_key option." msgstr "" "Mot de passe ou clé privée SSH obligatoire pour l'authentification : " -"définissez l'option san_password ou san_private_key ." +"définissez l'option san_password ou san_private_key." msgid "Path to REST server's certificate must be specified." msgstr "Le chemin d'accès au certificat du serveur REST doit être spécifié." @@ -6514,14 +6476,14 @@ msgstr "Créez d'avance le niveau %(tier_levels)s dans le pool %(pool)s. " msgid "Please re-run cinder-manage as root." -msgstr "Réexécutez cinder-manage avec des droits root." +msgstr "Réexécutez cinder-manage en tant que root." msgid "Please specify a name for QoS specs." -msgstr "Veuillez indiquer un nom pour les spécifications QoS." +msgstr "Indiquez un nom pour les spécifications QoS." #, python-format msgid "Policy doesn't allow %(action)s to be performed." -msgstr "Le réglage des droits n'autorise pas %(action)s à être effectué(e)(s)" +msgstr "La stratégie n'autorise pas l'exécution de %(action)s." #, python-format msgid "Pool %(poolNameInStr)s is not found." @@ -6571,15 +6533,15 @@ msgstr "Le pool %s n'existe pas" msgid "Pools name is not set." -msgstr "Le nom de pools n'a pas été défini." +msgstr "Le nom de pool n'a pas été défini." #, python-format msgid "Primary copy status: %(status)s and synchronized: %(sync)s." msgstr "" -"Statut de la copie primaire : %(status)s et synchronisation : %(sync)s." +"Statut de la copie principale : %(status)s et synchronisation : %(sync)s." msgid "Project ID" -msgstr "ID Projet" +msgstr "ID projet" #, python-format msgid "Project quotas are not properly setup for nested quotas: %(reason)s." @@ -6599,23 +6561,23 @@ "de stockage %(storage_family)s." msgid "Provided backup record is missing an id" -msgstr "L'ID est manquant dans l'enregistrement de sauvegarde fourni" +msgstr "ID manquant dans l'enregistrement de sauvegarde fourni" #, python-format msgid "" "Provided snapshot status %(provided)s not allowed for snapshot with status " "%(current)s." msgstr "" -"Etat d'instantané %(provided)s fourni interdit pour l'instantané ayant pour " -"état %(current)s." +"Le statut de snapshot fourni %(provided)s n'est pas autorisé pour le " +"snapshot dont le statut est %(current)s." #, python-format msgid "" "Provider information w.r.t CloudByte storage was not found for OpenStack " "volume [%s]." msgstr "" -"Les informations du fournisseur sur le stockage CloudByte w.r.t n'ont pas " -"été trouvées pour le volume OpenStack [%s]." +"Les informations du fournisseur sur le stockage CloudByte w.r.t introuvables " +"pour le volume OpenStack [%s]." #, python-format msgid "Pure Storage Cinder driver failure: %(reason)s" @@ -6627,7 +6589,8 @@ #, python-format msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "Les spécifications QoS %(specs_id)s sont encore associées aux entités." +msgstr "" +"Les spécifications QoS %(specs_id)s sont encore associées à des entités." #, python-format msgid "QoS config is wrong. %s must > 0." @@ -6680,7 +6643,7 @@ #, python-format msgid "Quota %s limit must be equal or greater than existing resources." msgstr "" -"La limite de quota %s doit être égale ou supérieure aux ressources " +"La limite %s de quota doit être supérieure ou égale aux ressources " "existantes." #, python-format @@ -6696,7 +6659,7 @@ #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "Quota dépassé: code=%(code)s" +msgstr "Quota dépassé : code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." @@ -6750,7 +6713,7 @@ "Reach limitation set by configuration option max_luns_per_storage_group. " "Operation to add %(vol)s into Storage Group %(sg)s is rejected." msgstr "" -"Atteignez la limitation définie par l'option de configuration " +"Vous avez atteint la limite définie par l'option de configuration " "max_luns_per_storage_group. L'opération d'ajout de %(vol)s dans le groupe de " "stockage %(sg)s est rejetée." @@ -6759,13 +6722,13 @@ msgstr "Chaîne d'erreur reçue : %s" msgid "Reference must be for an unmanaged snapshot." -msgstr "La référence doit s'appliquer à un instantané non géré." +msgstr "La référence doit s'appliquer à un snapshot non géré." msgid "Reference must be for an unmanaged virtual volume." msgstr "La référence doit s'appliquer à un volume virtuel non géré." msgid "Reference must be the name of an unmanaged snapshot." -msgstr "La référence doit correspondre au nom d'un instantané non géré." +msgstr "La référence doit correspondre au nom d'un snapshot non géré." msgid "Reference must be the volume name of an unmanaged virtual volume." msgstr "La référence doit s'appliquer à un nom de volume virtuel non géré." @@ -6780,7 +6743,7 @@ msgstr "La référence doit contenir l'élément source-id ou source-name." msgid "Reference must contain source-id or source-name key." -msgstr "La référence doit contenir une clé source-id ou source-name." +msgstr "La référence doit comporter une clé source-id ou source-name." msgid "Reference must contain source-id or source-name." msgstr "La référence doit contenir source-id ou source-name." @@ -6816,43 +6779,41 @@ msgstr "Pool distant introuvable." msgid "Remove CHAP error." -msgstr "Erreur lors de la suppression CHAP." +msgstr "Erreur lors du retrait de CHAP." msgid "Remove fc from host error." -msgstr "Erreur lors de la suppression fc de l'hôte." +msgstr "Erreur lors du retrait fc de l'hôte." msgid "Remove host from array error." -msgstr "Erreur lors de la suppression de l'hôte de la matrice." +msgstr "Erreur lors du retrait de l'hôte de la matrice." msgid "Remove host from hostgroup error." msgstr "Erreur lors du retrait de l'hôte de hostgroup." msgid "Remove iscsi from host error." -msgstr "Erreur lors de la suppression iscsi de l'hôte." +msgstr "Erreur lors du retrait iscsi de l'hôte." msgid "Remove lun from QoS error." -msgstr "Erreur lors de la suppression de numéro d'unité logique (lun) de QoS." +msgstr "Erreur lors du retrait de numéro d'unité logique (lun) de QoS." msgid "Remove lun from cache error." -msgstr "Erreur lors de la suppression du numéro d'unité logique du cache." +msgstr "Erreur lors du retrait du numéro d'unité logique du cache." msgid "Remove lun from partition error." -msgstr "" -"Erreur lors de la suppression de numéro d'unité logique de la partition." +msgstr "Erreur lors du retrait de numéro d'unité logique de la partition." msgid "Remove port from port group error." msgstr "Erreur lors de la suppression d'un port du groupe de ports." msgid "Remove volume export failed." -msgstr "La suppression de l'exportation du volume a échoué." +msgstr "L'exportation du retrait du volume a échoué." msgid "Rename lun on array error." msgstr "" -"Erreur lors de la modification du nom du numéro d'unité logique sur la " -"matrice." +"Erreur lors du changement de nom du numéro d'unité logique sur la matrice." msgid "Rename snapshot on array error." -msgstr "Erreur lors de la modification du nom de l'instantané sur la matrice." +msgstr "Erreur lors du changement de nom du snapshot sur la matrice." #, python-format msgid "Replication %(name)s to %(ssn)s failed." @@ -6881,19 +6842,19 @@ "Replication status for volume must be active or active-stopped, but current " "status is: %s" msgstr "" -"L'état de la réplication du volume doit être active ou active-stopped, mais " -"l'état actuel est : %s" +"Le statut de réplication du volume doit être active ou active-stopped, mais " +"le statut actuel est : %s" #, python-format msgid "" "Replication status for volume must be inactive, active-stopped, or error, " "but current status is: %s" msgstr "" -"L'état de la réplication du volume doit être inactive, active-stopped ou " -"error, mais l'état en cours est : %s" +"Le statut de la réplication du volume doit être inactive, active-stopped ou " +"error, mais le statut en cours est : %s" msgid "Request body and URI mismatch" -msgstr "Corps et URI de demande discordants" +msgstr "Corps et URI de demande non concordants" msgid "Request body contains too many items" msgstr "Le corps de la demande contient un trop grand nombre d'éléments" @@ -6907,8 +6868,8 @@ #, python-format msgid "Request to Datera cluster returned bad status: %(status)s | %(reason)s" msgstr "" -"La demande au cluster Datera a renvoyé un statut incorrect : %(status)s | " -"%(reason)s" +"La demande envoyée au cluster Datera a renvoyé un statut incorrect : " +"%(status)s | %(reason)s" #, python-format msgid "" @@ -6924,7 +6885,7 @@ "Requested volume or snapshot exceeds allowed %(name)s quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"Le volume ou l'instantané demandé dépasse le quota %(name)s autorisé. " +"Le volume ou le snapshot demandé dépasse le quota %(name)s autorisé. " "%(requested)s Go demandés. Le quota est de %(quota)s Go et %(consumed)s Go " "ont été consommés." @@ -6933,11 +6894,11 @@ "Requested volume size %(size)d is larger than maximum allowed limit " "%(limit)d." msgstr "" -"La taille de volume demandée, %(size)d, dépasse la limite maximale autorisée " -"%(limit)d." +"La taille de volume demandée, %(size)d, dépasse la limite maximale " +"autorisée : %(limit)d." msgid "Required configuration not found" -msgstr "Configuration obligatoire non trouvée" +msgstr "Configuration obligatoire introuvable" #, python-format msgid "Required flag %s is not set" @@ -6989,8 +6950,8 @@ "Restore backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Restauration de la sauvegarde interrompue : état du volume attendu " -"%(expected_status)s, mais état %(actual_status)s obtenu." +"Restauration de la sauvegarde interrompue : statut du volume attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." #, python-format msgid "" @@ -7007,8 +6968,8 @@ "Restore backup aborted: expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Restauration de la sauvegarde interrompue : état de la sauvegarde attendu " -"%(expected_status)s, mais état %(actual_status)s obtenu." +"Restauration de la sauvegarde interrompue : statut de la sauvegarde attendu " +"%(expected_status)s, mais statut %(actual_status)s obtenu." #, python-format msgid "" @@ -7051,9 +7012,9 @@ "administrator to manually return your volume to the default storage group " "for fast policy %(fastPolicyName)s failed." msgstr "" -"Echec de l'annulation du volume %(volumeName)s. Veuillez contacter votre " -"administrateur système pour rétablir votre volume au groupe de stockage par " -"défaut pour la règle fast %(fastPolicyName)s." +"Echec d'annulation du volume %(volumeName)s. Contactez votre administrateur " +"système pour rétablir manuellement votre volume dans le groupe de stockage " +"par défaut pour la règle FAST %(fastPolicyName)s." #, python-format msgid "Rolling back %(volumeName)s by deleting it." @@ -7063,7 +7024,7 @@ msgid "" "Running Cinder with a VMware vCenter version less than %s is not allowed." msgstr "" -"L'exécution de Cinder avec VMware vCenter d'une version inférieure à %s " +"L'exécution de Cinder avec une version de VMware vCenter inférieure à la %s " "n'est pas autorisée." msgid "SAN product is not configured." @@ -7097,17 +7058,12 @@ "'%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "" -"La commande SSH a échoué avec l'erreur : '%(err)s', Commande : '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "Injection de commande SSH détectée : %(command)s" #, python-format msgid "SSH connection failed for %(fabric)s with error: %(err)s" -msgstr "Echec de la connexion SSH pour %(fabric)s avec l'erreur : %(err)s" +msgstr "Echec de connexion SSH pour %(fabric)s avec l'erreur : %(err)s" #, python-format msgid "SSL Certificate expired on %s." @@ -7159,7 +7115,7 @@ #, python-format msgid "Service %s not found." -msgstr "Service %s non trouvé." +msgstr "Service %s introuvable." msgid "Service is too old to fulfil this request." msgstr "Service trop ancien pour satisfaire cette demande." @@ -7167,9 +7123,6 @@ msgid "Service is unavailable at this time." msgstr "Le service est indisponible actuellement." -msgid "Service not found." -msgstr "Service introuvable." - msgid "Set pair secondary access error." msgstr "Erreur lors de la définition d'accès secondaire à une paire." @@ -7180,15 +7133,15 @@ "Setting LUN QoS policy group is not supported on this storage family and " "ONTAP version." msgstr "" -"La définition du groupe de règles LUN QoS n'est pas prise en charge sur " -"cette famille de stockage et version ONTAP." +"La définition du groupe de stratégies QoS de LUN n'est pas prise en charge " +"sur cette famille de stockage et version ONTAP." msgid "" "Setting file qos policy group is not supported on this storage family and " "ontap version." msgstr "" -"La définition du groupe de règles qos du fichier n'est pas prise en charge " -"sur cette famille de stockage et version ontap." +"La définition du groupe de stratégies qos du fichier n'est pas prise en " +"charge sur cette famille de stockage et version ontap." #, python-format msgid "" @@ -7203,19 +7156,19 @@ "Share at %(dir)s is not writable by the Cinder volume service. Snapshot " "operations will not be supported." msgstr "" -"Le partage dans %(dir)s n'est pas accessible en écriture par le service de " -"volumes Cinder. Les opérations d'instantané ne seront pas prises en charge." +"Le partage dans %(dir)s n'est pas accessible en écriture au service de " +"volumes Cinder. Les opérations de snapshot ne seront pas prises en charge." #, python-format msgid "Sheepdog I/O Error, command was: \"%s\"." -msgstr "Erreur d'E-S Sheepdog I/O, commande concernée : \"%s\"." +msgstr "Erreur d'E-S Sheepdog, commande concernée : \"%s\"." msgid "" "Show operations can only be made to projects in the same hierarchy of the " "project in which users are scoped to." msgstr "" -"Les opérations Show ne peuvent porter que sur des projets dans la même " -"hiérarchie de projet que celle définie pour la portée utilisateurs." +"Les opérations Show ne peuvent porter que sur des projets de la même " +"hiérarchie que celle définie pour la portée utilisateurs." msgid "Size" msgstr "Taille" @@ -7239,100 +7192,99 @@ "Size of specified image %(image_size)sGB is larger than volume size " "%(volume_size)sGB." msgstr "" -"La taille de l'image définie %(image_size)s Go est supérieure à la taille du " -"volume %(volume_size)s Go." +"La taille de l'image spécifiée %(image_size)s Go est supérieure à la taille " +"du volume %(volume_size)s Go." #, python-format msgid "" "Snapshot %(id)s has been asked to be deleted while waiting for it to become " "available. Perhaps a concurrent request was made." msgstr "" -"Il a été demandé de supprimer l'instantané %(id)s alors qu'on attendait " -"qu'il soit disponible. Une demande simultanée a peut-être été effectuée." +"La suppression du snapshot %(id)s a été demandée pendant l'attente de sa " +"mise à disposition. Une demande simultanée a peut-être été faite." #, python-format msgid "" "Snapshot %(id)s was found in state %(state)s rather than 'deleting' during " "cascade delete." msgstr "" -"L'instantané %(id)s a été trouvé à l'état %(state)s et non pas à l'état " +"Le snapshot %(id)s a été détecté à l'état %(state)s et non à l'état " "'deleting' (suppression en cours) lors de la suppression en cascade." #, python-format msgid "Snapshot %(snapshot_id)s could not be found." -msgstr "L'instantané %(snapshot_id)s est introuvable." +msgstr "Le snapshot %(snapshot_id)s est introuvable." #, python-format msgid "Snapshot %(snapshot_id)s has no metadata with key %(metadata_key)s." msgstr "" -"L'instantané %(snapshot_id)s n'a pas de métadonnées avec la clé " +"Le snapshot %(snapshot_id)s ne comporte pas de métadonnées avec la clé " "%(metadata_key)s." #, python-format msgid "Snapshot %s must not be part of a consistency group." -msgstr "L'instantané %s ne doit pas faire partie d'un groupe de cohérence." +msgstr "Le snapshot %s ne doit pas faire partie d'un groupe de cohérence." #, python-format msgid "Snapshot '%s' doesn't exist on array." -msgstr "L'instantané '%s' n'existe pas sur la matrice." +msgstr "Le snapshot '%s' n'existe pas sur la matrice." #, python-format msgid "" "Snapshot cannot be created because volume %(vol_id)s is not available, " "current volume status: %(vol_status)s." msgstr "" -"L'instantané ne peut pas être créé car le volume %(vol_id)s n'est pas " -"disponible, état actuel du volume : %(vol_status)s." +"Le snapshot ne peut pas être créé car le volume %(vol_id)s n'est pas " +"disponible, statut en cours du volume : %(vol_status)s." msgid "Snapshot cannot be created while volume is migrating." -msgstr "L'instantané ne peut pas être créé pendant la migration du volume." +msgstr "Le snapshot ne peut pas être créé pendant la migration du volume." msgid "Snapshot of secondary replica is not allowed." -msgstr "Instantané de réplique secondaire non autorisé." +msgstr "Snapshot de réplique secondaire non autorisé." #, python-format msgid "Snapshot of volume not supported in state: %s." -msgstr "Instantané du volume non pris en charge à l'état : %s." +msgstr "Snapshot du volume non pris en charge à l'état : %s." #, python-format msgid "Snapshot res \"%s\" that is not deployed anywhere?" -msgstr "Ressource d'instantané \"%s\" non déployée ailleurs ?" +msgstr "Ressource de snapshot \"%s\" non déployée ailleurs ?" msgid "Snapshot size must be multiple of 1 GB." -msgstr "La taille de l'instantané doit être un multiple de 1 Go." +msgstr "La taille du snapshot doit être un multiple de 1 Go." #, python-format msgid "Snapshot status %(cur)s not allowed for update_snapshot_status" -msgstr "Statut d'instantané %(cur)s interdit pour update_snapshot_status" +msgstr "Statut de snapshot %(cur)s interdit pour update_snapshot_status" msgid "Snapshot status must be \"available\" to clone." msgstr "" -"L'état de l'instantané doit être \"disponible\" pour que le clonage soit " +"Le statut du snapshot doit être \"disponible\" pour que le clonage soit " "possible." #, python-format msgid "" "Snapshot to be backed up must be available, but the current status is \"%s\"." msgstr "" -"L'instantané à sauvegarder doit être disponible, mais le statut actuel est " +"Le snapshot à sauvegarder doit être disponible, mais le statut actuel est " "\"%s\"." #, python-format msgid "Snapshot with id of %s could not be found." -msgstr "L'instantané avec l'ID %s est introuvable." +msgstr "Le snapshot avec l'ID %s est introuvable." #, python-format msgid "" "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting " "incremental backup" msgstr "" -"L'instantané='%(snap)s' n'existe pas dans l'image de base='%(base)s' - " +"Le snapshot ='%(snap)s' n'existe pas dans l'image de base ='%(base)s' - " "abandon sauvegarde incrémentielle" #, python-format msgid "Snapshots are not supported for this volume format: %s" -msgstr "" -"Les instantanés ne sont pas pris en charge pour ce format de volume : %s" +msgstr "Les snapshots ne sont pas pris en charge pour ce format de volume : %s" #, python-format msgid "Socket error: %(arg)s." @@ -7353,7 +7305,7 @@ msgstr "Détails de l'hôte source introuvables." msgid "Source volume device ID is required." -msgstr "L'ID d'unité du volume source est requis." +msgstr "L'ID unité du volume source est obligatoire." msgid "Source volume not mid-migration." msgstr "Le volume source n'est pas en cours de migration." @@ -7363,11 +7315,12 @@ "Source with host ip/name: %s not found on the target appliance for backend " "enabled volume migration, procedding with default migration." msgstr "" -"La source avec l'adresse IP/nom d'hôte %s est introuvable pour la migration " -"de volume activée pour le back-end. Exécution de la migration par défaut." +"La source avec l'adresse IP/nom d'hôte %s est introuvable sur le dispositif " +"cible pour la migration de volume activée pour le back-end. Exécution de la " +"migration par défaut." msgid "SpaceInfo returned byarray is invalid" -msgstr "SpaceInfo renvoyé par la matrice est incorrect" +msgstr "SpaceInfo renvoyé par la matrice incorrect" #, python-format msgid "" @@ -7382,7 +7335,7 @@ #, python-format msgid "Specified snapshot group with id %s could not be found." -msgstr "Le groupe d'instantanés spécifié avec l'ID %s est introuvable." +msgstr "Le groupe de snapshots spécifié avec l'ID %s est introuvable." msgid "Specify a password or private_key" msgstr "Spécifiez un mot de passe ou private_key" @@ -7393,7 +7346,7 @@ msgid "" "Specify volume type name, description, is_public or a combination thereof." msgstr "" -"Indiquez le nom de type de volume, une description, is_public ou une " +"Indiquez le nom du type de volume, une description, is_public ou une " "combinaison de ces éléments." msgid "Split pair error." @@ -7416,7 +7369,7 @@ msgstr "Statut" msgid "Stop snapshot error." -msgstr "Erreur lors de l'arrêt de l'instantané." +msgstr "Erreur lors de l'arrêt du snapshot." #, python-format msgid "Storage Configuration Service not found on %(storageSystemName)s." @@ -7445,7 +7398,7 @@ #, python-format msgid "Storage group %(storageGroupName)s was not deleted successfully" msgstr "" -"Le groupe de stockage %(storageGroupName)s n'a pas été correctement supprimé" +"La suppression du groupe de stockage %(storageGroupName)s n'a pas abouti" #, python-format msgid "Storage host %(svr)s not detected, verify name" @@ -7462,7 +7415,7 @@ msgstr "Ressource de stockage introuvable." msgid "Storage system id not set." -msgstr "ID du système de stockage non défini." +msgstr "ID système de stockage non défini." #, python-format msgid "Storage system not found for pool %(poolNameInStr)s." @@ -7470,8 +7423,8 @@ msgid "Storage-assisted migration failed during manage volume." msgstr "" -"La migration à l'aide du back-end de stockage a échoué lors de l'opération " -"de gestion du volume." +"La migration à l'aide du stockage a échoué lors de l'opération de gestion de " +"volume." #, python-format msgid "StorageSystem %(array)s is not found." @@ -7487,7 +7440,7 @@ "project '%(proj)s' for resource '%(res)s'. Please lower the limit or usage " "for one or more of the following projects: '%(child_ids)s'" msgstr "" -"La somme d'utilisation du quota enfant '%(sum)s' est supérieure au quota " +"La somme des utilisations enfant '%(sum)s' est supérieure au quota " "disponible '%(free)s' pour le projet '%(proj)s' de la ressource '%(res)s'. " "Réduisez la limite ou l'utilisation pour un ou plusieurs projets parmi les " "suivants : '%(child_ids)s'" @@ -7510,13 +7463,13 @@ #, python-format msgid "System %(id)s found with bad status - %(status)s." -msgstr "Système %(id)s trouvé avec état erroné - %(status)s." +msgstr "Système %(id)s trouvé avec statut incorrect - %(status)s." msgid "System does not support compression." -msgstr "Le système ne gère pas la compression." +msgstr "Le système ne prend pas en charge la compression." msgid "System is busy, retry operation." -msgstr "Le système est occupé, recommencer l'opération." +msgstr "Le système est occupé, relancez l'opération." #, python-format msgid "" @@ -7532,15 +7485,15 @@ msgid "" "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" msgstr "" -"Discordance d'arborescence de modèles ; ajout de l'esclave %(slavetag)s au " -"maître %(mastertag)s" +"Non concordance d'arborescence de modèles ; ajout de l'esclave %(slavetag)s " +"au maître %(mastertag)s" #, python-format msgid "Tenant ID: %s does not exist." -msgstr "L'ID titulaire %s n'existe pas." +msgstr "L'ID projet %s n'existe pas." msgid "Terminate connection failed" -msgstr "Echec de fin de la connexion" +msgstr "Echec d'arrêt de la connexion" msgid "Terminate connection unable to connect to backend." msgstr "" @@ -7548,7 +7501,7 @@ #, python-format msgid "Terminate volume connection failed: %(err)s" -msgstr "La clôture de la connexion au volume a échoué : %(err)s" +msgstr "L'arrêt de la connexion au volume a échoué : %(err)s" #, python-format msgid "The %(type)s %(id)s source to be replicated was not found." @@ -7589,7 +7542,7 @@ "Please create a database using 'cinder-manage db sync' before running this " "command." msgstr "" -"L'erreur ci-dessous peut indiquer que la base de données n'a pas été créée.\n" +"L'erreur ci-dessus peut signifier que la base de données n'a pas été créée.\n" "Créez une base de données avec 'cinder-manage db sync' avant d'exécuter " "cette commande." @@ -7598,9 +7551,9 @@ "The array does not support the storage pool setting for SLO %(slo)s and " "workload %(workload)s. Please check the array for valid SLOs and workloads." msgstr "" -"La matrice ne prend pas en charge la valeur de pool de stockage pour SLO " -"%(slo)s et la charge de travail %(workload)s. Vérifiez la matrice pour " -"connaître les valeurs SLO et les valeurs de charge de travail valides." +"La matrice ne prend pas en charge la valeur de pool de stockage pour l'objet " +"SLO %(slo)s et la charge de travail %(workload)s. Vérifiez la matrice pour " +"connaître les valeurs SLO et de charge de travail valides." msgid "" "The back-end where the volume is created does not have replication enabled." @@ -7616,7 +7569,7 @@ "%(err)s)" msgid "The copy should be primary or secondary" -msgstr "La copie doit être primaire ou secondaire" +msgstr "La copie doit être principale ou secondaire" #, python-format msgid "" @@ -7625,8 +7578,7 @@ "La création d'une unité logique n'a pas abouti. (unité logique : %(ldev)s)" msgid "The decorated method must accept either a volume or a snapshot object" -msgstr "" -"La méthode décorée doit accepter un instantané ou un objet d'instantané" +msgstr "La méthode décorée doit accepter un snapshot ou un objet snapshot" #, python-format msgid "The device in the path %(path)s is unavailable: %(reason)s" @@ -7659,8 +7611,8 @@ "The following migrations have a downgrade, which are not allowed: \n" "\t%s" msgstr "" -"Les migrations suivantes contiennent un retour à une version antérieure, ce " -"qui n'est pas autorisé : \n" +"Les migrations suivantes comportent une rétromigration, ce qui n'est pas " +"autorisé : \n" "\t%s" msgid "The host group or iSCSI target could not be added." @@ -7712,7 +7664,8 @@ #, python-format msgid "The method %(method)s is timed out. (timeout value: %(timeout)s)" msgstr "" -"La méthode %(method)s a expiré. (valeur du délai d'expiration : %(timeout)s)" +"La méthode %(method)s a dépassé le délai d'attente. (valeur du délai : " +"%(timeout)s)" msgid "The method update_migrated_volume is not implemented." msgstr "La méthode update_migrated_volume n'est pas implémentée." @@ -7736,14 +7689,14 @@ #, python-format msgid "The provided snapshot '%s' is not a snapshot of the provided volume." -msgstr "L'instantané fourni '%s' n'est pas un instantané du volume fourni." +msgstr "Le snapshot fourni '%s' n'est pas un snapshot du volume fourni." msgid "" "The reference to the volume in the backend should have the format " "file_system/volume_name (volume_name cannot contain '/')" msgstr "" "La référence au volume sur le back-end doit être au format " -"système_de_fichiers/nom_volume (nom_volume ne peut pas contenir de barre " +"système_de_fichiers/nom_volume (nom_volume ne doit pas contenir de barre " "oblique '/')" #, python-format @@ -7780,7 +7733,7 @@ msgstr "Ressource %(resource)s introuvable." msgid "The results are invalid." -msgstr "Le résultat n'est pas valide." +msgstr "Les résultats ne sont pas valides." #, python-format msgid "The retention count must be %s or less." @@ -7788,7 +7741,7 @@ msgid "The snapshot cannot be created when the volume is in maintenance mode." msgstr "" -"L'instantané ne peut pas être créé alors que le volume est en mode " +"Le snapshot ne peut pas être créé alors que le volume est en mode " "maintenance." #, python-format @@ -7818,7 +7771,7 @@ #, python-format msgid "The specified LUN does not belong to the given pool: %s." msgstr "" -"Le numéro d'unité logique (LUN) indiqué n'appartient pas au pool indiqué : " +"Le numéro d'unité logique (LUN) spécifié n'appartient pas au pool indiqué : " "%s." #, python-format @@ -7862,7 +7815,7 @@ "être identique à la source %(type)s. (volume : %(volume_id)s)" msgid "The specified vdisk is mapped to a host." -msgstr "Le disque virtuel spécifié est mappé avec un hôte." +msgstr "Le disque virtuel spécifié est mappé à un hôte." msgid "The specified volume is mapped to a host." msgstr "Le volume spécifié est mappé à un hôte." @@ -7895,15 +7848,15 @@ "The striped meta count of %(memberCount)s is too small for volume: " "%(volumeName)s, with size %(volumeSize)s." msgstr "" -"Le compte segmenté de %(memberCount)s est trop faible pour le volume : " -"%(volumeName)s, avec la taille %(volumeSize)s." +"Le nombre de données segmentés de %(memberCount)s est trop faible pour le " +"volume : %(volumeName)s, avec la taille %(volumeSize)s." #, python-format msgid "" "The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " "invalid." msgstr "" -"Le type de métadonnées %(metadata_type)s pour le volume/l'instantané %(id)s " +"Le type de métadonnées %(metadata_type)s pour le volume/snapshot %(id)s " "n'est pas valide." #, python-format @@ -7919,8 +7872,8 @@ "The volume %(volume_id)s could not be unmanaged. The volume type must be " "%(volume_type)s." msgstr "" -"Le volume %(volume_id)s ne peut pas être non géré. Son type doit être " -"%(volume_type)s." +"La gestion du volume %(volume_id)s ne peut pas annulée. Le type du volume " +"doit être %(volume_type)s." #, python-format msgid "The volume %(volume_id)s is managed successfully. (LDEV: %(ldev)s)" @@ -7938,13 +7891,13 @@ msgstr "Le volume ne peut pas accepter de transfert en mode maintenance." msgid "The volume cannot be attached in maintenance mode." -msgstr "Le volume ne peut pas être rattaché en mode maintenance." +msgstr "Le volume ne peut pas être connecté en mode maintenance." msgid "The volume cannot be detached in maintenance mode." -msgstr "Le volume ne peut pas être détaché en mode maintenance." +msgstr "Le volume ne peut pas être déconnecté en mode maintenance." msgid "The volume cannot be updated during maintenance." -msgstr "Le volume ne peut pas être mis à jour en phase de maintenance." +msgstr "Le volume ne peut pas être mis à jour durant la maintenance." msgid "The volume connection cannot be initialized in maintenance mode." msgstr "" @@ -7996,8 +7949,8 @@ "There is no designation of the %(param)s. The specified storage is essential " "to manage the volume." msgstr "" -"Il n'existe aucune désignation du paramètre %(param)s. Le système de " -"stockage spécifié est essentiel pour gérer le volume." +"Il n'existe aucune désignation du paramètre %(param)s. Le stockage spécifié " +"est essentiel pour gérer le volume." msgid "" "There is no designation of the ldev. The specified ldev is essential to " @@ -8007,15 +7960,15 @@ "est essentielle pour gérer le volume." msgid "There is no metadata in DB object." -msgstr "Aucune métadonnée n'est présente dans l'objet BD." +msgstr "Aucune métadonnée présente dans l'objet BD." #, python-format msgid "There is no share which can host %(volume_size)sG" -msgstr "Aucun partage ne pouvant héberger l'hôte %(volume_size)sG" +msgstr "Aucun partage pouvant héberger %(volume_size)s Go" #, python-format msgid "There is no share which can host %(volume_size)sG." -msgstr "Il n'y a aucun partage pouvant héberger %(volume_size)sG." +msgstr "Aucun partage pouvant héberger %(volume_size)s Go." #, python-format msgid "There is no such action: %s" @@ -8032,7 +7985,7 @@ #, python-format msgid "There was an error creating the cgsnapshot: %s" -msgstr "Une erreur s'est produite lors de la création de cgsnapshot : %s" +msgstr "Une erreur s'est produite lors de la création du cgsnapshot : %s" #, python-format msgid "There was an error creating the remote copy group: %s." @@ -8083,7 +8036,7 @@ "There's no Quobyte volume configured (%s). Example: quobyte:///" "" msgstr "" -"Aucun volume Quobyte n'est configuré (%s). Exemple : quobyte:///" +"Aucun volume Quobyte n'est configuré (%s). Exemple : quobyte:///" "" msgid "Thin provisioning not supported on this version of LVM." @@ -8094,17 +8047,17 @@ msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" msgstr "" "L'optimiseur d'allocation de ressources n'est pas installé. Impossible de " -"créer un volume fin" +"créer un volume à allocation dynamique" msgid "This driver does not support deleting in-use snapshots." msgstr "" -"Ce pilote ne prend pas en charge la suppression d'instantanés en cours " +"Ce pilote ne prend pas en charge la suppression de snapshots en cours " "d'utilisation." msgid "This driver does not support snapshotting in-use volumes." msgstr "" -"Ce pilote ne prend pas en charge la capture d'instantanés de volumes en " -"cours d'utilisation." +"Ce pilote ne prend pas en charge la prise de snapshots de volumes en cours " +"d'utilisation." msgid "This request was rate-limited." msgstr "Cette demande était limitée par la fréquence." @@ -8114,8 +8067,8 @@ "This system platform (%s) is not supported. This driver supports only Win32 " "platforms." msgstr "" -"Cette plateforme de système (%s) n'est pas prise en charge. Le pilote prend " -"en charge les plateformes Win32." +"Cette plateforme système (%s) n'est pas prise en charge. Le pilote prend en " +"charge les plateformes Win32." #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." @@ -8125,22 +8078,22 @@ #, python-format msgid "Timed out while waiting for Nova update for creation of snapshot %s." msgstr "" -"Dépassement du délai d'attente de mise à jour Nova pour la création de " -"l'instantané %s." +"Dépassement du délai d'attente de mise à jour Nova pour la création du " +"snapshot %s." #, python-format msgid "" "Timed out while waiting for Nova update for deletion of snapshot %(id)s." msgstr "" -"Dépassement du délai d'attente de mise à jour Nova pour la suppression de " -"l'instantané %(id)s." +"Dépassement du délai d'attente de mise à jour Nova pour la suppression du " +"snapshot %(id)s." msgid "" "Timeout value (in seconds) used when connecting to ceph cluster. If value < " "0, no timeout is set and default librados value is used." msgstr "" "Valeur de délai d'attente (en secondes) utilisée lors de la connexion au " -"cluster ceph. Si la valeur < 0, aucun délai d'attente n'est défini et la " +"cluster ceph. Si la valeur est < 0, aucun délai d'attente n'est défini et la " "valeur librados par défaut est utilisée." #, python-format @@ -8174,7 +8127,7 @@ "Trying to import backup metadata from id %(meta_id)s into backup %(id)s." msgstr "" "Tentative d'importation des métadonnées de sauvegarde depuis l'ID " -"%(meta_id)s vers la sauvegarde %(id)s." +"%(meta_id)s dans la sauvegarde %(id)s." #, python-format msgid "" @@ -8194,7 +8147,7 @@ msgid "Type access modification is not applicable to public volume type." msgstr "" -"La modification d'accès de type n'est pas applicable aux types de volume " +"La modification de l'accès de type n'est pas applicable aux types de volume " "publics." msgid "Type cannot be converted into NaElement." @@ -8207,7 +8160,7 @@ #, python-format msgid "UUIDs %s are in both add and remove volume list." msgstr "" -"Les UUID %s sont tous les deux dans la liste de volumes à ajouter et à " +"Les UUID %s figurent à la fois dans les listes de volumes à ajouter et à " "supprimer." #, python-format @@ -8215,12 +8168,12 @@ msgstr "Impossible d'accéder au back-end Storwize pour le volume %s." msgid "Unable to access the backend storage via file handle." -msgstr "Impossible d'accéder au stockage dorsal via le descripteur de fichier." +msgstr "" +"Impossible d'accéder au stockage de back-end via le descripteur de fichier." #, python-format msgid "Unable to access the backend storage via the path %(path)s." -msgstr "" -"Impossible d'accéder au stockage d'arrière plan par le chemin %(path)s." +msgstr "Impossible d'accéder au stockage de back-end via le chemin %(path)s." #, python-format msgid "Unable to add Cinder host to apphosts for space %(space)s" @@ -8232,7 +8185,7 @@ msgstr "Impossible d'effectuer le basculement de %s." msgid "Unable to connect or find connection to host" -msgstr "Impossible d'établir ou de trouver une connexion à l'hôte" +msgstr "Impossible d'établir ou de détecter une connexion à l'hôte" msgid "Unable to create Barbican Client without project_id." msgstr "Impossible de créer le client Barbican sans project_id." @@ -8278,15 +8231,15 @@ #, python-format msgid "Unable to delete Consistency Group snapshot %s" -msgstr "Impossible de supprimer l'instantané de groupe de cohérence %s" +msgstr "Impossible de supprimer le snapshot de groupe de cohérence %s" #, python-format msgid "Unable to delete snapshot %(id)s, status: %(status)s." -msgstr "Impossible de supprimer l'instantané %(id)s, état : %(status)s." +msgstr "Impossible de supprimer le snapshot %(id)s, statut : %(status)s." #, python-format msgid "Unable to delete snapshot policy on volume %s." -msgstr "Impossible de supprimer la stratégie d'instantané sur le volume %s." +msgstr "Impossible de supprimer la stratégie de snapshot sur le volume %s." #, python-format msgid "" @@ -8312,8 +8265,8 @@ #, python-format msgid "Unable to determine snapshot name in Purity for snapshot %(id)s." msgstr "" -"Impossible de déterminer le nom de l'instantané dans Purity pour " -"l'instantané %(id)s." +"Impossible de déterminer le nom du snapshot dans Purity pour le snapshot " +"%(id)s." msgid "Unable to determine system id." msgstr "Impossible de déterminer l'ID système." @@ -8326,8 +8279,8 @@ "Unable to do manage snapshot operations with Purity REST API version " "%(api_version)s, requires %(required_versions)s." msgstr "" -"Impossible d'effectuer des opérations d'instantané avec la version d'API " -"REST de Purity %(api_version)s, ceci nécessite %(required_versions)s." +"Impossible d'effectuer des opérations de snapshot avec la version d'API REST " +"de Purity %(api_version)s ; version %(required_versions)s requise." #, python-format msgid "" @@ -8335,7 +8288,7 @@ "requires one of %(required_versions)s." msgstr "" "Impossible d'effectuer de réplication avec l'API REST Purity version " -"%(api_version)s, l'une des %(required_versions)s est nécessaire." +"%(api_version)s, l'une des versions %(required_versions)s est obligatoire." msgid "Unable to enable replication and snapcopy at the same time." msgstr "" @@ -8361,8 +8314,8 @@ "Unable to failback to \"default\", this can only be done after a failover " "has completed." msgstr "" -"Impossible de rebasculer sur \"default\", cette opération n'est possible " -"qu'après la fin d'un basculement." +"Impossible de rebasculer sur \"default\", cette opération est possible " +"uniquement à l'issue d'un basculement." #, python-format msgid "Unable to failover to replication target:%(reason)s)." @@ -8395,17 +8348,17 @@ #, python-format msgid "Unable to find ssh_hosts_key_file: %s" -msgstr "ssh_hosts_key_file introuvable: %s" +msgstr "ssh_hosts_key_file introuvable : %s" msgid "Unable to find system log file!" -msgstr "Fichier de trace système non trouvé!" +msgstr "Fichier de trace système introuvable" #, python-format msgid "" "Unable to find viable pg snapshot to use forfailover on selected secondary " "array: %(id)s." msgstr "" -"Impossible de trouver un instantané pg viable à utiliser pour le basculement " +"Impossible de trouver un snapshot pg viable à utiliser pour le basculement " "sur la matrice secondaire sélectionnée : %(id)s." #, python-format @@ -8421,7 +8374,7 @@ #, python-format msgid "Unable to get a block device for file '%s'" -msgstr "Impossible d'obtenir l'unité par bloc pour le fichier '%s'" +msgstr "Impossible d'obtenir le périphérique bloc pour le fichier '%s'" #, python-format msgid "" @@ -8439,7 +8392,7 @@ "Unable to get information on space %(space)s, please verify that the cluster " "is running and connected." msgstr "" -"Impossible d'obtenir des informations sur l'espace %(space)s, vérifiez que " +"Impossible d'obtenir des informations sur l'espace %(space)s ; vérifiez que " "le cluster est en cours d'exécution et connecté." msgid "" @@ -8479,7 +8432,7 @@ msgstr "Impossible d'obtenir le nom de la vue de masquage." msgid "Unable to get the name of the portgroup." -msgstr "Impossible d'obtenir le nom de portgroup." +msgstr "Impossible d'obtenir le nom du portgroup." #, python-format msgid "Unable to get the replication relationship for volume %s." @@ -8524,7 +8477,7 @@ #, python-format msgid "Unable to locate account %(account_name)s on Solidfire device" -msgstr "Compte %(account_name)s introuvable sur l'unité Solidfire" +msgstr "Compte %(account_name)s introuvable sur le périphérique Solidfire" #, python-format msgid "Unable to locate an SVM that is managing the IP address '%s'" @@ -8566,8 +8519,8 @@ "Unable to promote replica to primary for volume %s. No secondary copy " "available." msgstr "" -"Impossible de promouvoir la réplique en réplique primaire pour le volume %s. " -"Aucune copie secondaire disponible." +"Impossible de promouvoir la réplique en réplique principale pour le volume " +"%s. Aucune copie secondaire disponible." msgid "" "Unable to re-use a host that is not managed by Cinder with " @@ -8587,22 +8540,22 @@ #, python-format msgid "Unable to retrieve snapshot group with id of %s." -msgstr "Impossible de récupérer le groupe d'instantanés avec l'ID %s." +msgstr "Impossible de récupérer le groupe de snapshots avec l'ID %s." #, python-format msgid "" "Unable to retype %(specname)s, expected to receive current and requested " "%(spectype)s values. Value received: %(spec)s" msgstr "" -"Impossible de ressaisir %(specname)s, réception attendue des valeurs en " -"cours et demandées %(spectype)s. Valeur reçue : %(spec)s" +"Impossible d'entrer à nouveau %(specname)s, réception attendue des valeurs " +"en cours et demandées %(spectype)s. Valeur reçue : %(spec)s" #, python-format msgid "" "Unable to retype: A copy of volume %s exists. Retyping would exceed the " "limit of 2 copies." msgstr "" -"Confirmation impossible : une copie du volume %s existe. La confirmation " +"Confirmation impossible : Une copie du volume %s existe. La confirmation " "dépasserait la limite de 2 copies." #, python-format @@ -8610,7 +8563,7 @@ "Unable to retype: Current action needs volume-copy, it is not allowed when " "new type is replication. Volume = %s" msgstr "" -"Impossible de modifier le type : l'action en cours a besoin du paramètre " +"Impossible de modifier le type : L'action en cours a besoin du paramètre " "volume_copy. Elle est interdite lorsque le nouveau type est une réplication. " "Volume = %s" @@ -8623,10 +8576,10 @@ #, python-format msgid "Unable to snap Consistency Group %s" -msgstr "Impossible de créer un instantané du groupe de cohérence %s" +msgstr "Impossible de créer un snapshot du groupe de cohérence %s" msgid "Unable to terminate volume connection from backend." -msgstr "Impossible de terminer la connexion au volume depuis le back-end." +msgstr "Impossible de mettre fin à la connexion au volume depuis le back-end." #, python-format msgid "Unable to terminate volume connection: %(err)s" @@ -8641,8 +8594,8 @@ "Unable to update type due to incorrect status: %(vol_status)s on volume: " "%(vol_id)s. Volume status must be available or in-use." msgstr "" -"Impossible de mettre à jour le type en raison d'un état incorrect : " -"%(vol_status)s sur le volume : %(vol_id)s. L'état du volume doit être " +"Impossible de mettre à jour le type en raison d'un statut incorrect " +"%(vol_status)s sur le volume %(vol_id)s. Le statut du volume doit être " "Disponible ou En cours d'utilisation." #, python-format @@ -8684,7 +8637,7 @@ msgstr "Sortie inattendue. [%(expected)s] attendu mais [%(output)s] reçu" msgid "Unexpected response from Nimble API" -msgstr "Code de réponse inattendu de l'API Nimble" +msgstr "Réponse inattendue de l'API Nimble" msgid "Unexpected response from Tegile IntelliFlash API" msgstr "Réponse inattendue de l'API Tegile IntelliFlash" @@ -8713,7 +8666,7 @@ msgstr "Exception SMBFS inconnue." msgid "Unknown Virtuozzo Storage exception" -msgstr "Exception Virtuozzo Storage inconnue" +msgstr "Exception de stockage Virtuozzo inconnue" msgid "Unknown action" msgstr "Action inconnu" @@ -8726,11 +8679,11 @@ "cinder config policy 'zfssa_manage_policy' to 'loose' to remove this " "restriction." msgstr "" -"Inconnu si le volume : %s à gérer est déjà géré par Cinder. Abandon de " -"l'opération gérer le volume. Ajoutez la propriété de schéma personnalisé " -"'cinder_managed' au volume et définissez sa valeur sur False. Autrement, " -"définissez la valeur de la stratégie de configuration cinder " -"'zfssa_manage_policy' sur 'loose' pour supprimer cette restriction." +"Inconnu si le volume %s à gérer est déjà géré par Cinder. Abandon de " +"l'opération de gestion du volume. Ajoutez la propriété de schéma " +"personnalisé 'cinder_managed' au volume et définissez sa valeur sur False. " +"Ou bien, définissez la valeur de la stratégie de configuration cinder " +"'zfssa_manage_policy' sur 'loose' pour retirer cette restriction." #, python-format msgid "" @@ -8740,11 +8693,11 @@ "cinder config policy 'zfssa_manage_policy' to 'loose' to remove this " "restriction." msgstr "" -"Inconnu si le volume : %s à gérer est déjà géré par Cinder. Abandon de " -"l'opération gérer le volume. Ajoutez la propriété de schéma personnalisé " -"'cinder_managed' au volume et définissez sa valeur sur False. Autrement, " -"définissez la valeur de la stratégie de configuration cinder " -"'zfssa_manage_policy' sur 'loose' pour supprimer cette restriction." +"Inconnu si le volume %s à gérer est déjà géré par Cinder. Abandon de " +"l'opération de gestion du volume. Ajoutez la propriété de schéma " +"personnalisé 'cinder_managed' au volume et définissez sa valeur sur False. " +"Ou bien, définissez la valeur de la stratégie de configuration cinder " +"'zfssa_manage_policy' sur 'loose' pour retirer cette restriction." #, python-format msgid "Unknown operation %s." @@ -8776,18 +8729,17 @@ msgid "Unmanage volume not implemented." msgstr "" -"La fonction consistant à ne plus gérer un volume (unmanage volume) n'est pas " +"La fonction consistant à annuler la gestion d'un volume (unmanage) n'est pas " "implémentée." msgid "Unmanaging of snapshots from 'failed-over' volumes is not allowed." msgstr "" -"Arrêter de gérer des instantanés dans des volumes basculés ('failed-over') " +"Arrêter de gérer des snapshots dans des volumes basculés ('failed-over') " "n'est pas autorisé." msgid "Unmanaging of snapshots from failed-over volumes is not allowed." msgstr "" -"Arrêter de gérer des instantanés dans des volumes basculés n'est pas " -"autorisé." +"Arrêter de gérer des snapshots dans des volumes basculés n'est pas autorisé." #, python-format msgid "Unrecognized QOS keyword: \"%s\"" @@ -8795,7 +8747,7 @@ #, python-format msgid "Unrecognized backing format: %s" -msgstr "Format de sauvegarde non identifié : %s" +msgstr "Format de support non identifié : %s" #, python-format msgid "Unrecognized read_deleted value '%s'" @@ -8827,7 +8779,7 @@ msgstr "Version des métadonnées de sauvegarde non prise en charge (%s)" msgid "Unsupported backup metadata version requested" -msgstr "Version des métadonnées de sauvegarde non prise en charge demandée" +msgstr "Version de métadonnées de sauvegarde non prise en charge demandée" msgid "Unsupported backup verify driver" msgstr "Sauvegarde non prise en charge ; vérifiez le pilote" @@ -8852,16 +8804,16 @@ "parent or by the CLOUD admin." msgstr "" "Les opérations de mise à jour ou de suppression de quota ne peuvent être " -"effectuées que par un administrateur de parent immédiat ou par " -"l'administrateur CLOUD." +"effectuées que par un administrateur parent immédiat ou par l'administrateur " +"CLOUD." msgid "" "Update and delete quota operations can only be made to projects in the same " "hierarchy of the project in which users are scoped to." msgstr "" "Les opérations de mise à jour ou de suppression de quota ne peuvent porter " -"que sur des projets dans la même hiérarchie de projet que celle définie pour " -"la portée utilisateurs." +"que sur des projets de la même hiérarchie que celle définie pour la portée " +"utilisateurs." msgid "Update list, doesn't include volume_id" msgstr "La liste de mise à jour ne comprend pas volume_id" @@ -8885,7 +8837,7 @@ "Vérifiez le nom d'utilisateur et le mot de passe CHAP." msgid "User ID" -msgstr "ID Utilisateur" +msgstr "ID utilisateur" msgid "User does not have admin privileges" msgstr "L’utilisateur n'a pas les privilèges administrateur" @@ -8894,7 +8846,7 @@ msgstr "L'utilisateur n'est pas autorisé à utiliser le gestionnaire de clés." msgid "User not authorized to perform WebDAV operations." -msgstr "Utilisateur non autorisé à exécuter des opérations WebDAV." +msgstr "Utilisateur non autorisé à effectuer des opérations WebDAV." msgid "UserName is not configured." msgstr "UserName n'est pas configuré." @@ -8905,29 +8857,31 @@ msgid "" "V2 rollback - Volume in another storage group besides default storage group." msgstr "" -"Rétromigration vers V2 - Le volume appartient à un autre groupe de stockage " -"à part le groupe de stockage par défaut." +"Rétromigration vers la version 2 - Le volume appartient à un groupe de " +"stockage autre que le groupe de stockage par défaut." msgid "V2 rollback, volume is not in any storage group." -msgstr "Rétromigration vers V2, le volume n'est dans aucun groupe de stockage." +msgstr "" +"Rétromigration vers la version 2, le volume n'est dans aucun groupe de " +"stockage." msgid "V3 rollback" -msgstr "Rétromigration V3" +msgstr "Rétromigration version 3" msgid "VF is not enabled." msgstr "VF n'est pas activé." #, python-format msgid "VV Set %s does not exist." -msgstr "VV Set %s inexistant." +msgstr "VV Set %s n'existe pas." #, python-format msgid "Valid consumer of QoS specs are: %s" -msgstr "Client valide de spécifications QoS : %s" +msgstr "Consommateur valide de spécifications QoS : %s" #, python-format msgid "Valid control location are: %s" -msgstr "Emplacement de contrôle valide : %s" +msgstr "Emplacements de contrôle valide : %s" #, python-format msgid "Validate volume connection failed (error: %(err)s)." @@ -8963,7 +8917,7 @@ "maximum is %(max_ver)s." msgstr "" "La version %(req_ver)s n'est pas prise en charge par l'API. Minimum : " -"%(min_ver)s et maximum : %(max_ver)s." +"%(min_ver)s, maximum : %(max_ver)s." #, python-format msgid "VersionedObject %s cannot retrieve object by id." @@ -9011,31 +8965,31 @@ "Volume %(vol_id)s status must be available or in-use, but current status is: " "%(vol_status)s." msgstr "" -"Le volume %(vol_id)s doit être dans un état Disponible ou En cours " -"d'utilisation, mais l'état en cours est : %(vol_status)s." +"Le volume %(vol_id)s doit être disponible ou en cours d'utilisation, mais le " +"statut en cours est : %(vol_status)s." #, python-format msgid "" "Volume %(vol_id)s status must be available to extend, but current status is: " "%(vol_status)s." msgstr "" -"L'état du volume %(vol_id)s doit être Disponible pour extension, mais l'état " -"en cours est : %(vol_status)s." +"Le statut du volume %(vol_id)s doit être Disponible pour extension, mais le " +"statut en cours est : %(vol_status)s." #, python-format msgid "" "Volume %(vol_id)s status must be available to update readonly flag, but " "current status is: %(vol_status)s." msgstr "" -"L'état du volume %(vol_id)s doit être Disponible pour la mise à jour de " -"l'indicateur readonly, mais l'état actuel est : %(vol_status)s." +"Le statut du volume %(vol_id)s doit être Disponible pour la mise à jour de " +"l'indicateur readonly, mais le statut en cours est : %(vol_status)s." #, python-format msgid "" "Volume %(vol_id)s status must be available, but current status is: " "%(vol_status)s." msgstr "" -"Le volume %(vol_id)s doit être dans un état de disponibilité, mais l'état en " +"Le volume %(vol_id)s doit avoir le statut disponible, mais le statut en " "cours est : %(vol_status)s." #, python-format @@ -9047,8 +9001,8 @@ "Volume %(volume_id)s has no administration metadata with key " "%(metadata_key)s." msgstr "" -"Le volume %(volume_id)s n'a aucune métadonnée d'administration avec la clé " -"%(metadata_key)s." +"Le volume %(volume_id)s ne possède aucune métadonnée d'administration avec " +"la clé %(metadata_key)s." #, python-format msgid "Volume %(volume_id)s has no metadata with key %(metadata_key)s." @@ -9070,7 +9024,7 @@ #, python-format msgid "Volume %(volume_id)s is still attached, detach volume first." msgstr "" -"Le volume %(volume_id)s est toujours attaché. Détachez-le préalablement." +"Le volume %(volume_id)s est toujours connecté. Déconnectez-le au préalable." #, python-format msgid "Volume %(volume_id)s replication error: %(reason)s" @@ -9132,7 +9086,7 @@ "replication actions." msgstr "" "Le volume %s n'est pas du type répliqué. Ce volume doit être d'un type de " -"volume avec la spécification supplémentaire (extra spec) définie avec ' " +"volume avec la spécification supplémentaire (extra spec) définie sur ' " "True' pour prendre en charge les actions de réplication." #, python-format @@ -9148,7 +9102,7 @@ "have snapshots." msgstr "" "Le volume %s ne doit pas être en cours de migration ou connecté, il ne doit " -"pas appartenir à un groupe de cohérence ou avoir des instantanés." +"pas appartenir à un groupe de cohérence ou avoir des snapshots." #, python-format msgid "Volume %s must not be part of a consistency group." @@ -9160,7 +9114,7 @@ #, python-format msgid "Volume %s must not have snapshots." -msgstr "Le volume %s ne doit pas avoir d'instantanés." +msgstr "Le volume %s ne doit pas avoir de snapshot." #, python-format msgid "Volume %s not found." @@ -9197,19 +9151,19 @@ "Volume Type %(volume_type_id)s deletion is not allowed with volumes present " "with the type." msgstr "" -"Suppression du type de volume %(volume_type_id)s interdite avec les volumes " -"de ce type." +"Suppression du type de volume %(volume_type_id)s interdite avec des volumes " +"présents de ce type." #, python-format msgid "" "Volume Type %(volume_type_id)s has no extra specs with key " "%(extra_specs_key)s." msgstr "" -"Le type de volume %(volume_type_id)s ne comporte pas de spécs supp avec la " -"clé %(extra_specs_key)s." +"Le type de volume %(volume_type_id)s ne comporte pas de spécifications " +"supplémentaires avec la clé %(extra_specs_key)s." msgid "Volume Type id must not be None." -msgstr "L'ID de type de volume ne peut pas être None." +msgstr "L'ID du type de volume ne peut pas être None." #, python-format msgid "" @@ -9225,8 +9179,7 @@ #, python-format msgid "Volume attachment could not be found with filter: %(filter)s ." -msgstr "" -"La pièce jointe du volume est introuvable avec le filtre : %(filter)s ." +msgstr "La connexion au volume est introuvable avec le filtre : %(filter)s ." #, python-format msgid "Volume backend config is invalid: %(reason)s" @@ -9236,7 +9189,7 @@ msgstr "Un volume ayant ce nom existe déjà" msgid "Volume cannot be restored since it contains snapshots." -msgstr "Impossible de restaurer le volume car il contient des instantanés." +msgstr "Impossible de restaurer le volume car il contient des snapshots." msgid "Volume create failed while extracting volume ref." msgstr "" @@ -9246,11 +9199,11 @@ #, python-format msgid "Volume device file path %s does not exist." msgstr "" -"Le chemin d'accès du fichier du périphérique de volume %s n'existe pas." +"Le chemin d'accès au fichier du périphérique de volume %s n'existe pas." #, python-format msgid "Volume device not found at %(device)s." -msgstr "Périphérique de volume introuvable à %(device)s." +msgstr "Périphérique de volume introuvable sur %(device)s." #, python-format msgid "Volume driver %s not initialized." @@ -9265,11 +9218,11 @@ msgid "Volume has a temporary snapshot that can't be deleted at this time." msgstr "" -"Le volume contient un instantané temporaire qui ne peut pas être supprimé " -"pour l'instant." +"Le volume contient un snapshot temporaire qui ne peut pas être supprimé pour " +"l'instant." msgid "Volume has children and cannot be deleted!" -msgstr "Ce volume a des enfants et ne peut pas être supprimé !" +msgstr "Ce volume a des enfants et ne peut pas être supprimé." #, python-format msgid "Volume in consistency group %s is attached. Need to detach first." @@ -9279,11 +9232,11 @@ msgid "Volume in consistency group still has dependent snapshots." msgstr "" -"Le volume du groupe de cohérence contient encore des instantanés dépendants." +"Le volume du groupe de cohérence contient encore des snapshots dépendants." #, python-format msgid "Volume is attached to a server. (%s)" -msgstr "Le volume est attaché à un serveur. (%s)" +msgstr "Le volume est connecté à un serveur. (%s)" msgid "Volume is in-use." msgstr "Volume en cours d'utilisation." @@ -9301,19 +9254,19 @@ "Volume metadata backup requested but this driver does not yet support this " "feature." msgstr "" -"La sauvegarde des métadonnées de volume est demandée mais ce pilote ne prend " -"pas en charge cette fonction pour le moment." +"La sauvegarde des métadonnées de volume a été demandée mais ce pilote ne " +"prend pas en charge cette fonction pour le moment." #, python-format msgid "Volume migration failed: %(reason)s" -msgstr "Échec de la migration du volume : %(reason)s" +msgstr "Echec de migration du volume : %(reason)s" msgid "Volume must be available" msgstr "Le volume doit être disponible." msgid "Volume must be in the same availability zone as the snapshot" msgstr "" -"Le volume doit être dans la même zone de disponibilité que l'instantané" +"Le volume doit être dans la même zone de disponibilité que le snapshot " msgid "Volume must be in the same availability zone as the source volume" msgstr "" @@ -9329,7 +9282,7 @@ msgstr "Le volume ne doit pas être répliqué." msgid "Volume must not have snapshots." -msgstr "Le volume ne doit pas avoir d'instantanés." +msgstr "Le volume ne doit pas avoir de snapshots." #, python-format msgid "Volume not found for instance %(instance_id)s." @@ -9343,7 +9296,7 @@ "\"/\", please rename it and try to manage again." msgstr "" "Volume introuvable sur le back-end de stockage configuré. Si le nom de votre " -"volume contient une barre oblique \"/\", renommez-le puis renouvelez " +"volume contient une barre oblique (\"/\"), renommez-le puis renouvelez " "l'opération." msgid "Volume not found on configured storage pools." @@ -9370,7 +9323,7 @@ msgstr "Le démarrage du service de volume %s n'a pas abouti." msgid "Volume should have agent-type set as None." -msgstr "Le volume doit avoir la valeur agent-type définie à None." +msgstr "Le volume doit avoir la valeur agent-type définie sur None." #, python-format msgid "" @@ -9382,7 +9335,8 @@ #, python-format msgid "Volume size '%(size)s' must be an integer and greater than 0" -msgstr "La taille de volume '%(size)s' doit être un entier ou supérieure à 0." +msgstr "" +"La taille de volume '%(size)s' doit être un entier et être supérieure à 0." #, python-format msgid "" @@ -9398,9 +9352,9 @@ "Volume size '%(size)s'GB cannot be smaller than the snapshot size " "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" -"La taille de volume '%(size)s' Go ne peut pas être inférieure à la taille " -"d'instantané %(snap_size)s Go. Elle doit être supérieure ou égale à la " -"taille de l'instantané d'origine." +"La taille de volume '%(size)s' Go ne peut pas être inférieure à la taille de " +"snapshot %(snap_size)s Go. Elle doit être supérieure ou égale à la taille du " +"snapshot d'origine." msgid "Volume size increased since the last backup. Do a full backup." msgstr "" @@ -9419,27 +9373,26 @@ #, python-format msgid "Volume status for volume must be available, but current status is: %s" msgstr "" -"Le volume doit être dans un état de disponibilité, mais l'état en cours est :" -"%s" +"Le volume doit avoir le statut disponible, mais le statut en cours est : %s" msgid "Volume status is in-use." -msgstr "L'état de volume est En cours d'utilisation." +msgstr "Le statut du volume est En cours d'utilisation." #, python-format msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)" msgstr "" -"L'état du volume doit être \"disponible\" ou \"en usage\" pour l'instantané. " -"(état en cours : %s)" +"Le statut du volume doit être \"disponible\" ou \"utilisé\" pour le " +"snapshot. (actuellement : %s)" msgid "Volume status must be \"available\" or \"in-use\"." -msgstr "L'état du volume doit être \"disponible\" ou \"en usage\"." +msgstr "Le statut du volume doit être \"disponible\" ou \"utilisé\"." #, python-format msgid "Volume status must be %s to reserve." msgstr "Le statut du volume doit être %s pour l'opération de réservation." msgid "Volume status must be 'available'." -msgstr "L'état du volume doit être 'disponible'." +msgstr "Le statut du volume doit être 'disponible'." msgid "Volume to Initiator Group mapping already exists" msgstr "Le volume pour le mappage du groupe initiateur existe déjà" @@ -9461,14 +9414,14 @@ #, python-format msgid "Volume type ID '%s' is invalid." -msgstr "L'ID de volume '%s' n'est pas valide." +msgstr "L'ID volume '%s' n'est pas valide." #, python-format msgid "" "Volume type access for %(volume_type_id)s / %(project_id)s combination " "already exists." msgstr "" -"L'accès de type volume pour la combinaison %(volume_type_id)s / " +"L'accès au type de volume pour la combinaison %(volume_type_id)s / " "%(project_id)s existe déjà." #, python-format @@ -9493,7 +9446,7 @@ "Le chiffrement du type de volume pour le type %(type_id)s n'existe pas." msgid "Volume type name can not be empty." -msgstr "Le nom de type de volume ne peut pas être vide." +msgstr "Le nom du type de volume ne peut pas être vide." #, python-format msgid "Volume type with name %(volume_type_name)s could not be found." @@ -9509,7 +9462,7 @@ "extend on concatenated volume. Exiting..." msgstr "" "Le volume %(volumeName)s n'est pas un volume concaténé. Vous pouvez " -"seulement effectuer une extension sur le volume concaténé. Sortie..." +"seulement effectuer une extension sur un volume concaténé. Sortie en cours..." #, python-format msgid "Volume: %(volumeName)s was not added to storage group %(sgGroupName)s." @@ -9519,7 +9472,7 @@ #, python-format msgid "Volume: %s could not be found." -msgstr "Volume: %s introuvable" +msgstr "Volume %s introuvable." #, python-format msgid "Volume: %s is already being managed by Cinder." @@ -9532,15 +9485,15 @@ msgid "" "Volumes/account exceeded on both primary and secondary SolidFire accounts." msgstr "" -"Nombre de volumes/compte dépassé sur les comptes SolidFire principaux et " -"secondaires." +"Nombre de volumes/compte dépassé sur les comptes SolidFire principal et " +"secondaire." #, python-format msgid "" "VzStorage config 'vzstorage_used_ratio' invalid. Must be > 0 and <= 1.0: %s." msgstr "" "La configuration VzStorage 'vzstorage_used_ratio' n'est pas valide. Doit " -"être > 0 et <= 1.0: %s." +"être > 0 et <= 1,0 : %s." #, python-format msgid "VzStorage config file at %(config)s doesn't exist." @@ -9557,7 +9510,7 @@ "Waiting for all nodes to join cluster. Ensure all sheep daemons are running." msgstr "" "En attente que tous les noeuds aient rejoint le cluster. Vérifiez que tous " -"les démons sheep sont en exécution." +"les démons sheep sont en cours d'exécution." msgid "We should not do switch over on primary array." msgstr "" @@ -9570,8 +9523,7 @@ msgstr "Exception de pilote du volume X-IO" msgid "XML support has been deprecated and will be removed in the N release." -msgstr "" -"La prise en charge XML est obsolète et sera supprimée dans l'édition N." +msgstr "La prise en charge XML est obsolète et sera retirée dans l'édition N." msgid "XtremIO not configured correctly, no iscsi portals found" msgstr "" @@ -9601,8 +9553,8 @@ "Your original size: %(originalVolumeSize)s GB is greater than: %(newSize)s " "GB. Only Extend is supported. Exiting..." msgstr "" -"Votre taille initiale : %(originalVolumeSize)s Go est supérieure à : " -"%(newSize)s Go. Seule l'extension est prise en charge. Sortie..." +"Votre taille initiale : %(originalVolumeSize)s Go est supérieure à " +"%(newSize)s Go. Seule l'extension est prise en charge. Sortie en cours..." #, python-format msgid "ZeroDivisionError: %s" @@ -9618,7 +9570,7 @@ #, python-format msgid "_create_and_copy_vdisk_data: Failed to get attributes for vdisk %s." msgstr "" -"_create_and_copy_vdisk_data : échec de l'obtention des attributs du disque " +"_create_and_copy_vdisk_data : Echec d'obtention des attributs du disque " "virtuel %s." msgid "_create_host failed to return the host name." @@ -9632,7 +9584,7 @@ "pas de type Unicode ou chaîne." msgid "_create_host: No connector ports." -msgstr "_create_host : aucun port de connecteur." +msgstr "_create_host : Aucun port de connecteur." msgid "_create_local_cloned_volume, Replication Service not found." msgstr "_create_local_cloned_volume, Service de réplication introuvable." @@ -9672,7 +9624,7 @@ "%(cpsession)s, copy type: %(copytype)s." msgstr "" "_delete_copysession, le type de session de copie (copy session) n'est pas " -"défini ! Session de copie : %(cpsession)s, type de copie : %(copytype)s." +"défini. Session de copie : %(cpsession)s, type de copie : %(copytype)s." #, python-format msgid "" @@ -9708,7 +9660,7 @@ msgid "_extend_volume_op: Extending a volume with snapshots is not supported." msgstr "" -"_extend_volume_op : l'extension d'un volume avec des instantanés n'est pas " +"_extend_volume_op : L'extension d'un volume avec des snapshots n'est pas " "prise en charge." #, python-format @@ -9778,7 +9730,7 @@ "Please edit driver configuration file and correct." msgstr "" "_get_drvcfg, nom du fichier : %(filename)s, tagname : %(tagname)s, la valeur " -"de data est None ! Editez le fichier de configuration du pilote et corrigez." +"de data est None. Editez le fichier de configuration du pilote et corrigez." #, python-format msgid "" @@ -9787,7 +9739,7 @@ msgstr "" "_get_eternus_connection, nom du fichier : %(filename)s, adresse IP : %(ip)s, " "port : %(port)s, utilisateur : %(user)s, mot de passe : ****, URL : %(url)s, " -"ECHEC !!." +"ECHEC." #, python-format msgid "" @@ -9889,11 +9841,11 @@ #, python-format msgid "_get_target_port, protcol: %(protocol)s, target_port not found." -msgstr "_get_target_port, protcole : %(protocol)s, target_port introuvable." +msgstr "_get_target_port, protocole : %(protocol)s, target_port introuvable." #, python-format msgid "_get_unmanaged_replay: Cannot find snapshot named %s" -msgstr "_get_unmanaged_replay : instantané nommé %s introuvable" +msgstr "_get_unmanaged_replay : snapshot nommé %s introuvable" #, python-format msgid "_get_unmanaged_replay: Cannot find volume id %s" @@ -9906,7 +9858,7 @@ "_get_vdisk_map_properties: Could not get FC connection information for the " "host-volume connection. Is the host configured properly for FC connections?" msgstr "" -"_get_vdisk_map_properties : impossible d'obtenir les informations de " +"_get_vdisk_map_properties : Impossible d'obtenir les informations de " "connexion FC pour la connexion hôte-volume. L'hôte est-il configuré " "correctement pour les connexions FC ?" @@ -9915,7 +9867,7 @@ "_get_vdisk_map_properties: No node found in I/O group %(gid)s for volume " "%(vol)s." msgstr "" -"_get_vdisk_map_properties : noeud introuvable dans le groupe d'E-S %(gid)s " +"_get_vdisk_map_properties : Noeud introuvable dans le groupe d'E-S %(gid)s " "pour le volume %(vol)s." #, python-format @@ -9924,9 +9876,10 @@ "%(uid)s, initiator: %(initiator)s, target: %(tgt)s, aglist: %(aglist)s, " "Storage Configuration Service not found." msgstr "" -"_map_lun, chemin vol_instance.path :%(vol)s, nom du volume : %(volumename)s, " -"volume_uid: %(uid)s, initiateur : %(initiator)s, cible : %(tgt)s, aglist : " -"%(aglist)s, Service de configuration de stockage introuvable." +"_map_lun, chemin vol_instance.path : %(vol)s, nom du volume : " +"%(volumename)s, volume_uid : %(uid)s, initiateur : %(initiator)s, cible : " +"%(tgt)s, aglist : %(aglist)s, Service de configuration de stockage " +"introuvable." #, python-format msgid "" @@ -9956,7 +9909,7 @@ msgid "_update_volume_stats: Could not get storage pool data." msgstr "" -"_update_volume_stats : impossible d'obtenir les données du pool de stockage." +"_update_volume_stats : Impossible d'obtenir les données du pool de stockage." #, python-format msgid "" @@ -9980,7 +9933,7 @@ #, python-format msgid "all_tenants must be a boolean, got '%s'." -msgstr "all_tenants doit être une valeur booléenne, '%s' a été renvoyé." +msgstr "all_tenants doit être une valeur booléenne, '%s' renvoyé." msgid "already created" msgstr "déjà créé" @@ -9989,7 +9942,7 @@ msgstr "already_created" msgid "attach snapshot from remote node" -msgstr "attacher l'instantané du noeud distant" +msgstr "connecter le snapshot depuis le noeud distant" #, python-format msgid "attribute %s not lazy-loadable" @@ -10014,7 +9967,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"sauvegarde : %(vol_id)s n'est pas parvenu à extraire la notification de " +"sauvegarde : %(vol_id)s n'est pas parvenu à obtenir la notification de " "réussite de sauvegarde auprès du serveur.\n" "stdout : %(out)s\n" " stderr : %(err)s" @@ -10058,8 +10011,8 @@ msgid "" "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." msgstr "" -"sauvegarde : échec de %(vol_id)s. Impossible de récupérer le chemin réel au " -"volume %(path)s." +"sauvegarde : échec de %(vol_id)s. Impossible de récupérer le chemin réel " +"d'accès au volume %(path)s." msgid "being attached by different mode" msgstr "connecté par un mode différent" @@ -10083,7 +10036,7 @@ #, python-format msgid "can't find lun-map, ig:%(ig)s vol:%(vol)s" -msgstr "lun-map, ig:%(ig)s vol introuvable :%(vol)s" +msgstr "lun-map, ig : %(ig)s vol introuvable : %(vol)s" msgid "can't find the volume to extend" msgstr "volume à étendre introuvable" @@ -10095,29 +10048,29 @@ msgstr "impossible de comprendre JSON" msgid "cannot understand XML" -msgstr "impossible de comprendre XML" +msgstr "code XML incompréhensible" #, python-format msgid "cg-%s" msgstr "groupe de cohérence %s" msgid "cgsnapshot assigned" -msgstr "instantané cgsnapshot affecté" +msgstr "snapshot de groupe de cohérence affecté" msgid "cgsnapshot changed" -msgstr "instantané cgsnapshot modifié" +msgstr "snapshot de groupe de cohérence modifié" msgid "cgsnapshots assigned" -msgstr "instantanés cgsnapshots affectés" +msgstr "snapshots de groupe de cohérence affectés" msgid "cgsnapshots changed" -msgstr "instantanés cgsnapshots modifiés" +msgstr "snapshots de groupe de cohérence modifiés" msgid "" "check_for_setup_error: Password or SSH private key is required for " "authentication: set either san_password or san_private_key option." msgstr "" -"check_for_setup_error : mot de passe ou clé privée SSH obligatoire pour " +"check_for_setup_error : Mot de passe ou clé privée SSH obligatoire pour " "l'authentification : définissez l'option san_password ou san_private_key." msgid "check_for_setup_error: Unable to determine system id." @@ -10125,7 +10078,7 @@ "check_for_setup_error : impossible de déterminer l'identificateur du système." msgid "check_for_setup_error: Unable to determine system name." -msgstr "check_for_setup_error : impossible de déterminer le nom du système." +msgstr "check_for_setup_error : Impossible de déterminer le nom du système." msgid "check_hypermetro_exist error." msgstr "Erreur check_hypermetro_exist." @@ -10156,15 +10109,16 @@ msgid "create_cloned_volume: Source and destination size differ." msgstr "" -"create_cloned_volume : La taille de la source et de la destination diffère." +"create_cloned_volume : La taille de la source et celle de la destination " +"diffèrent." #, python-format msgid "" "create_cloned_volume: source volume %(src_vol)s size is %(src_size)dGB and " "doesn't fit in target volume %(tgt_vol)s of size %(tgt_size)dGB." msgstr "" -"create_cloned_volume : la taille du volume source %(src_vol)s est " -"%(src_size)d Go et ne peut pas tenir dans le volume cible %(tgt_vol)s d'une " +"create_cloned_volume : la taille du volume source %(src_vol)s est de " +"%(src_size)d Go et ne peut pas tenir sur le volume cible %(tgt_vol)s, d'une " "taille de %(tgt_size)d Go." msgid "" @@ -10172,7 +10126,7 @@ "source CG." msgstr "" "create_consistencygroup_from_src doit correspondre à une création à partir " -"d'un instantané CG ou d'une source CG." +"d'un snapshot CG ou d'une source CG." msgid "" "create_consistencygroup_from_src only supports a cgsnapshot source or a " @@ -10193,15 +10147,15 @@ #, python-format msgid "create_copy: Source vdisk %(src)s (%(src_id)s) does not exist." msgstr "" -"create_copy : le disque virtuel source %(src)s (%(src_id)s) n'existe pas." +"create_copy : Le disque virtuel source %(src)s (%(src_id)s) n'existe pas." #, python-format msgid "create_copy: Source vdisk %(src)s does not exist." msgstr "" -"create_copy : le(s) disque(vs) virtuel(s) source %(src)s n'existe(nt) pas." +"create_copy : Le ou les disques virtuels source %(src)s n'existent pas." msgid "create_host: Host name is not unicode or string." -msgstr "create_host : le nom d'hôte n'est pas du type Unicode ou chaîne." +msgstr "create_host : Le nom d'hôte n'est pas du type Unicode ou chaîne." msgid "create_host: No initiators or wwpns supplied." msgstr "create_host : Aucun initiateur ni wwpns fourni." @@ -10244,8 +10198,8 @@ "create_snapshot: Volume status must be \"available\" or \"in-use\" for " "snapshot. The invalid status is %s." msgstr "" -"create_snapshot : le statut du volume doit être \"available\" ou \"in-use\" " -"pour l'instantané. Le statut non valide est %s." +"create_snapshot : Le statut du volume doit être \"available\" ou \"in-use\" " +"pour le snapshot. Le statut non valide est %s." msgid "create_snapshot: get source volume failed." msgstr "create_snapshot : échec de récupération du volume source." @@ -10289,27 +10243,27 @@ #, python-format msgid "create_volume_from_snapshot: Snapshot %(name)s does not exist." -msgstr "create_volume_from_snapshot : l'instantané %(name)s n'existe pas." +msgstr "create_volume_from_snapshot : le snapshot %(name)s n'existe pas." #, python-format msgid "" "create_volume_from_snapshot: Snapshot status must be \"available\" for " "creating volume. The invalid status is: %s." msgstr "" -"create_volume_from_snapshot : le statut de l'instantané doit être \"available" -"\" pour créer le volume. Le statut non valide est : %s." +"create_volume_from_snapshot : Le statut du snapshot doit être \"available\" " +"pour la création de volume. Statut non valide : %s." msgid "create_volume_from_snapshot: Source and destination size differ." msgstr "" -"create_volume_from_snapshot : La taille de la source et de la destination " -"diffère." +"create_volume_from_snapshot : La taille de la source et celle de la " +"destination diffèrent." msgid "" "create_volume_from_snapshot: Volume size is different from snapshot based " "volume." msgstr "" "create_volume_from_snapshot : la taille du volume est différente de celle du " -"volume basé sur l'instantané." +"volume basé sur le snapshot." msgid "deduplicated and auto tiering can't be both enabled." msgstr "" @@ -10348,14 +10302,14 @@ #, python-format msgid "deleting snapshot %(snapshot_name)s that has dependent volumes" msgstr "" -"Suppression de l'instantané %(snapshot_name)s ayant des volumes dépendants" +"Suppression du snapshot %(snapshot_name)s comportant des volumes dépendants" #, python-format msgid "deleting volume %(volume_name)s that has snapshot" -msgstr "Suppression du volume %(volume_name)s ayant un instantané" +msgstr "Suppression du volume %(volume_name)s comportant un snapshot" msgid "detach snapshot from remote node" -msgstr "détachez l'instantané du noeud distant" +msgstr "déconnecter le snapshot du noeud distant" msgid "do_setup: No configured nodes." msgstr "do_setup : Aucun noeud configuré." @@ -10372,7 +10326,7 @@ "same as MD5 of object sent to swift %(md5)s" msgstr "" "erreur lors de l'écriture de l'objet à Swift, MD5 de l'objet dans swift " -"%(etag)s est différent de MD5 de l'objet envoyé à swift %(md5)s" +"%(etag)s différent de MD5 de l'objet envoyé à swift %(md5)s" #, python-format msgid "extend_volume, eternus_pool: %(eternus_pool)s, pool not found." @@ -10400,14 +10354,14 @@ msgstr "extend_volume, nom du volume : %(volumename)s, volume introuvable." msgid "failed to create new_volume on destination host" -msgstr "échec de la création de new_volume sur l'hôte de destination" +msgstr "échec de création de new_volume sur l'hôte de destination" msgid "fake" -msgstr "factice" +msgstr "fictif" #, python-format msgid "file already exists at %s" -msgstr "fichier existe déjà à %s" +msgstr "le fichier existe déjà sur %s" msgid "fileno is not supported by SheepdogIOWrapper" msgstr "fileno n'est pas pris en charge par SheepdogIOWrapper" @@ -10426,18 +10380,18 @@ msgstr "" "flashsystem_multihostmap_enabled est défini sur False. Le mappage multihôte " "est interdit. CMMVC6071E Le mappage entre un disque virtuel et un hôte n'a " -"pas été créé car le disque virtuel est déjà mappé avec un hôte." +"pas été créé car le disque virtuel est déjà mappé à un hôte." msgid "flush() not supported in this version of librbd" msgstr "flush() non pris en charge dans cette version de librbd" #, python-format msgid "fmt=%(fmt)s backed by: %(backing_file)s" -msgstr "fmt=%(fmt)s sauvegardé par : %(backing_file)s" +msgstr "fmt=%(fmt)s - support par : %(backing_file)s" #, python-format msgid "fmt=%(fmt)s backed by:%(backing_file)s" -msgstr "fmt = %(fmt)s sauvegardé par : %(backing_file)s" +msgstr "fmt = %(fmt)s - support par : %(backing_file)s" msgid "force delete" msgstr "Forcer la suppression" @@ -10453,12 +10407,12 @@ "get_iscsi_params: Failed to get target IP for initiator %(ini)s, please " "check config file." msgstr "" -"get_iscsi_params : échec d'obtention de l'IP cible pour l'initiateur " +"get_iscsi_params : Echec d'obtention de l'IP cible pour l'initiateur " "%(ini)s. Vérifiez le fichier de configuration." #, python-format msgid "get_pool: Failed to get attributes for volume %s" -msgstr "get_pool : échec d'obtention des attributs pour le volume %s" +msgstr "get_pool : Echec d'obtention des attributs pour le volume %s" msgid "glance_metadata changed" msgstr "métadonnées glance_metadata modifiées" @@ -10495,7 +10449,7 @@ msgid "hgst_redundancy must be set to 0 (non-HA) or 1 (HA) in cinder.conf." msgstr "" -"hgst_redundancy doit être défini à 0 (non HA) ou 1 (HA) dans cinder.conf." +"hgst_redundancy doit être défini sur 0 (non HA) ou 1 (HA) dans cinder.conf." msgid "hgst_space_mode must be an octal/int in cinder.conf" msgstr "hgst_space_mode doit être de type octal/int dans cinder.conf" @@ -10519,7 +10473,7 @@ #, python-format msgid "image %s not found" -msgstr "image %s non trouvée" +msgstr "image %s introuvable" #, python-format msgid "initialize_connection, volume: %(volume)s, Volume not found." @@ -10528,22 +10482,22 @@ #, python-format msgid "initialize_connection: Failed to get attributes for volume %s." msgstr "" -"initialize_connection : échec d'obtention des attributs pour le volume %s." +"initialize_connection : Echec d'obtention des attributs pour le volume %s." #, python-format msgid "initialize_connection: Missing volume attribute for volume %s." -msgstr "initialize_connection : attribut de volume manquant pour le volume %s." +msgstr "initialize_connection : Attribut de volume manquant pour le volume %s." #, python-format msgid "" "initialize_connection: No node found in I/O group %(gid)s for volume %(vol)s." msgstr "" -"initialize_connection : aucun noeud n'a été détecté dans le groupe d'E-S " +"initialize_connection : Aucun noeud n'a été détecté dans le groupe d'E-S " "%(gid)s pour le volume %(vol)s." #, python-format msgid "initialize_connection: vdisk %s is not defined." -msgstr "initialize_connection : le disque virtuel %s n'est pas défini." +msgstr "initialize_connection : Le disque virtuel %s n'est pas défini." #, python-format msgid "invalid user '%s'" @@ -10551,12 +10505,12 @@ #, python-format msgid "iscsi portal, %s, not found" -msgstr "portal iSCSI %s introuvable" +msgstr "portail iSCSI %s introuvable" msgid "" "iscsi_ip_address must be set in config file when using protocol 'iSCSI'." msgstr "" -"iscsi_ip_address doit être définie dans le fichier de configuration si vous " +"iscsi_ip_address doit être défini dans le fichier de configuration si vous " "utilisez le protocole 'iSCSI'." msgid "iscsiadm execution failed. " @@ -10579,8 +10533,8 @@ "manage_existing cannot manage a volume connected to hosts. Please disconnect " "this volume from existing hosts before importing" msgstr "" -"manage_existing ne peut pas gérer un volume connecté à des hôtes. Veuillez " -"déconnecter ce volume des hôtes existants avant l'importation" +"manage_existing ne peut pas gérer un volume connecté à des hôtes. " +"Déconnectez ce volume des hôtes existants avant l'importation" msgid "manage_existing requires a 'name' key to identify an existing volume." msgstr "" @@ -10611,7 +10565,7 @@ msgstr "mkfs a échoué sur le volume %(vol)s, message d'erreur : %(err)s." msgid "mock" -msgstr "mock" +msgstr "simulé" msgid "mount.glusterfs is not installed" msgstr "mount.glusterfs n'est pas installé" @@ -10622,7 +10576,7 @@ #, python-format msgid "multiple resources with snapshot ID %s found" -msgstr "plusieurs ressources avec l'ID d'instantané %s ont été détectées" +msgstr "plusieurs ressources avec l'ID snapshot %s ont été détectées" msgid "name cannot be None" msgstr "le nom ne peut pas être None" @@ -10637,7 +10591,7 @@ #, python-format msgid "no snapshot with id %s found in drbdmanage" -msgstr "aucun instantané avec l'ID %s n'a été détecté dans drbdmanage" +msgstr "aucun snapshot avec l'ID %s n'a été détecté dans drbdmanage" #, python-format msgid "not exactly one snapshot with id %s" @@ -10655,21 +10609,21 @@ msgstr "open_access_enabled n'est pas désactivé." msgid "progress must be an integer percentage" -msgstr "la progression doit être un pourcentage d'entier" +msgstr "la progression doit être un pourcentage entier" msgid "promote_replica not implemented." msgstr "promote_replica non implémenté." msgid "provider must be defined" -msgstr "fournisseur doit être défini" +msgstr "provider doit être défini" #, python-format msgid "" "qemu-img %(minimum_version)s or later is required by this volume driver. " "Current qemu-img version: %(current_version)s" msgstr "" -"qemu-img %(minimum_version)s ou ultérieur est requis par ce pilote de " -"périphérique. Version qemu-img actuelle : %(current_version)s" +"qemu-img %(minimum_version)s ou ultérieur requis par ce pilote de " +"périphérique. Version qemu-img en cours : %(current_version)s" #, python-format msgid "" @@ -10703,7 +10657,7 @@ #, python-format msgid "replication_device with backend_id [%s] is missing." msgstr "" -"L'unité de réplication (replication_device ) avec l'ID de back-end [%s] est " +"L'unité de réplication (replication_device ) avec l'ID back-end [%s] est " "manquante." #, python-format @@ -10751,8 +10705,8 @@ "restore_backup aborted, actual object list does not match object list stored " "in metadata." msgstr "" -"restore_backup annulé, la liste d'objets actuelle ne correspond pas à la " -"liste d'objets stockée dans les métadonnées." +"restore_backup annulé, la liste d'objets réelle ne correspond pas à la liste " +"d'objets stockée dans les métadonnées." msgid "root element selecting a list" msgstr "élément racine sélectionnant une liste" @@ -10776,9 +10730,8 @@ "san_login and/or san_password is not set for Datera driver in the cinder." "conf. Set this information and start the cinder-volume service again." msgstr "" -"san_login et/ou san_password n'est pas défini pour le pilote Datera dans " -"cinder.conf. Définissez cette information et relancez le service cinder-" -"volume." +"san_login et/ou san_password non défini pour le pilote Datera dans cinder." +"conf. Définissez cette information puis relancez le service cinder-volume." msgid "serve() can only be called once" msgstr "serve() ne peut être appelé qu'une seule fois" @@ -10787,29 +10740,29 @@ msgstr "service introuvable" msgid "snapshot does not exist" -msgstr "L'instantané n'existe pas" +msgstr "Le snapshot n'existe pas" #, python-format msgid "snapshot id:%s not found" -msgstr "ID d'instantané :%s introuvable" +msgstr "ID snapshot %s introuvable" #, python-format msgid "snapshot-%s" -msgstr "instantané %s" +msgstr "snapshot %s" msgid "snapshots assigned" -msgstr "instantanés affectés" +msgstr "snapshots affectés" msgid "snapshots changed" -msgstr "instantanés modifiés" +msgstr "snapshots modifiés" #, python-format msgid "source vol id:%s not found" -msgstr "ID de volume source :%s introuvable" +msgstr "ID volume source %s introuvable" #, python-format msgid "source volume id:%s is not replicated" -msgstr "identificateur de volume source : %s non répliqué" +msgstr "identificateur de volume source %s non répliqué" msgid "source-name cannot be empty." msgstr "source-name ne peut pas être vide." @@ -10823,7 +10776,7 @@ msgstr "Le statut doit être %s et" msgid "status must be available" -msgstr "l'état doit être disponible" +msgstr "le statut doit être disponible" msgid "stop_hypermetro error." msgstr "Erreur stop_hypermetro." @@ -10832,7 +10785,7 @@ msgstr "les sous-classes doivent implémenter construct()!" msgid "sudo failed, continuing as if nothing happened" -msgstr "sudo a échoué, continue comme si de rien n'était" +msgstr "Echec de sudo, poursuite de l'exécution" msgid "sync_hypermetro error." msgstr "Erreur sync_hypermetro." @@ -10850,7 +10803,7 @@ msgid "terminate_connection: Failed to get host name from connector." msgstr "" -"terminate_connection : échec d'obtention du nom d'hôte à partir du " +"terminate_connection : Echec d'obtention du nom d'hôte à partir du " "connecteur." msgid "timeout creating new_volume on destination host" @@ -10861,21 +10814,21 @@ #, python-format msgid "umount: %s: not mounted" -msgstr "umount: %s: non monté" +msgstr "démonter : %s : non monté" #, python-format msgid "umount: %s: target is busy" -msgstr "umount: %s : cible occupée" +msgstr "démonter : %s : cible occupée" msgid "umount: : some other error" -msgstr "umount: : autre erreur" +msgstr "démonter : : autre erreur" msgid "umount: : target is busy" -msgstr "umount: : cible occupée" +msgstr "démonter : : cible occupée" #, python-format msgid "unmanage_snapshot: Cannot find snapshot named %s" -msgstr "unmanage_snapshot : instantané nommé %s introuvable" +msgstr "unmanage_snapshot : snapshot nommé %s introuvable" #, python-format msgid "unmanage_snapshot: Cannot find volume id %s" @@ -10969,4 +10922,4 @@ "ou 'loose'. Valeur actuelle : %s." msgid "{} is not a valid option." -msgstr "{} est une option non valide." +msgstr "{} n'est pas une option valide." diff -Nru cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder-log-error.po cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder-log-error.po --- cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder-log-error.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder-log-error.po 2016-08-09 15:32:57.000000000 +0000 @@ -5,16 +5,17 @@ # Translators: # OpenStack Infra , 2015. #zanata # Alessandra , 2016. #zanata +# Remo Mattei , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-14 12:54+0000\n" -"Last-Translator: Alessandra \n" +"PO-Revision-Date: 2016-04-07 03:39+0000\n" +"Last-Translator: Remo Mattei \n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.0\n" @@ -1375,12 +1376,6 @@ msgstr "" "Impossibile raccogliere le informazioni sul server dei nomi da fabric %s" -msgid "Failed collecting nscamshow" -msgstr "Impossibile raccogliere nscamshow" - -msgid "Failed collecting nsshow info for fabric" -msgstr "Impossibile raccogliere le informazioni nsshow per fabric" - #, python-format msgid "Failed collecting nsshow info for fabric %s" msgstr "Impossibile raccogliere le informazioni nsshow per fabric %s" @@ -3341,6 +3336,12 @@ "la riscrittura." #, python-format +msgid "Volume %(vol)s in the consistency group could not be deleted." +msgstr "" +"Il volume %(vol)s ha un problema di consistenza del gruppo e non è possibile " +"cancellarlo. " + +#, python-format msgid "" "Volume %(volumeid)s failed to send assign command, ret: %(status)s output: " "%(output)s" diff -Nru cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder-log-info.po cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder-log-info.po --- cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder-log-info.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder-log-info.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # Alessandra , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-22 19:34+0000\n" +"Project-Id-Version: cinder 8.0.1.dev24\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-04-21 16:43+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -2890,10 +2890,6 @@ msgid "Unable to serialize field '%s' - excluding from backup" msgstr "Impossibile serializzare il campo '%s' - esclusione dal backup" -#, python-format -msgid "Unable to unprotect snapshot %s." -msgstr "Impossibile annullare la protezione dell'istantanea %s." - msgid "Unable to update the metadata for volume, because it is in maintenance." msgstr "" "Impossibile aggiornare i metadati per il volume perché è in manutenzione." diff -Nru cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/it/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/it/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,18 +7,18 @@ # OpenStack Infra , 2015. #zanata # Tom Cocozzello , 2015. #zanata # Alessandra , 2016. #zanata -# Remo Mattei , 2016. #zanata +# Remo Mattei , 2016. #zanata # Tom Cocozzello , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-22 19:34+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-22 09:38+0000\n" -"Last-Translator: Remo Mattei \n" +"PO-Revision-Date: 2016-04-01 12:35+0000\n" +"Last-Translator: Alessandra \n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.0\n" @@ -884,10 +884,6 @@ msgstr "Impossibile trovare il nome cache nell'array, nome cache: %(name)s." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "Impossibile trovare l'id lun da db, volume: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "Impossibile trovare informazioni sulla lun nell'array. volume: %(id)s, nome " @@ -1619,6 +1615,13 @@ "status=%(status)s." #, python-format +msgid "" +"Copy volume task failed: create_cloned_volume id=%(id)s, status=%(status)s." +msgstr "" +"Attività di copia del volume non riuscita: create_cloned_volume id=%(id)s, " +"stato=%(status)s." + +#, python-format msgid "Copying metadata from %(src_type)s %(src_id)s to %(vol_id)s." msgstr "Copia dei metadati da %(src_type)s %(src_id)s a %(vol_id)s." @@ -2148,6 +2151,14 @@ "Eccezione EMC VNX Cinder Driver CLI: %(cmd)s (Codice di ritorno: %(rc)s) " "(Output: %(out)s)." +#, python-format +msgid "" +"EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (Return Code: %(rc)s) " +"(Output: %(out)s)." +msgstr "" +"EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (Codice di ritorno: " +"%(rc)s) (Output: %(out)s)." + msgid "" "EcomServerIp, EcomServerPort, EcomUserName, EcomPassword must have valid " "values." @@ -4519,6 +4530,9 @@ msgid "Get SplitMirror error." msgstr "Errore di richiamo SplitMirror." +msgid "Get active client failed." +msgstr "Acquisizione del client attivo non riuscita." + msgid "Get array info error." msgstr "Errore di richiamo informazioni sull'array." @@ -5573,6 +5587,11 @@ msgstr "" "La gestione di istantanee su volumi sottoposti a failover non è consentita." +msgid "Map info is None due to array version not supporting hypermetro." +msgstr "" +"Le informazioni sulla mappa sono None a causa di una versione dell'array che " +"non supporta hypermetro." + #, python-format msgid "" "Mapping %(id)s prepare failed to complete within theallotted %(to)d seconds " @@ -6462,6 +6481,28 @@ msgstr "La configurazione QoS è errata. %s deve essere > 0." #, python-format +msgid "" +"QoS policy must specify for IOTYPE and another qos_specs, QoS policy: " +"%(qos_policy)s." +msgstr "" +"La politica deve essere specificata per IOTYPE e un altro qos_specs, " +"politica QoS: %(qos_policy)s." + +#, python-format +msgid "" +"QoS policy must specify for IOTYPE: 0, 1, or 2, QoS policy: %(qos_policy)s " +msgstr "" +"La politica QoS deve essere specificata per IOTYPE: 0, 1 o 2, politica QoS: " +"%(qos_policy)s " + +#, python-format +msgid "" +"QoS policy upper_limit and lower_limit conflict, QoS policy: %(qos_policy)s." +msgstr "" +"Conflitto upper_limit e lower_limit della politica QoS, politica QoS: " +"%(qos_policy)s." + +#, python-format msgid "QoS spec %(specs_id)s has no spec with key %(specs_key)s." msgstr "" "La specifica QoS %(specs_id)s non dispone di specifiche con la chiave " @@ -6903,11 +6944,6 @@ "Comando SSH non riuscito dopo '%(total_attempts)r' tentativi: '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "" -"Comando SSH non riuscito con errore: '%(err)s', comando: '%(command)s' " - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "Rilevato inserimento comando SSH: %(command)s" @@ -6973,9 +7009,6 @@ msgid "Service is unavailable at this time." msgstr "Il servizio non è disponibile in questo momento." -msgid "Service not found." -msgstr "Servizio non trovato." - msgid "Set pair secondary access error." msgstr "Errore di impostazione dell'accesso secondario alla coppia. " @@ -8907,6 +8940,14 @@ "tramite OpenStack." #, python-format +msgid "" +"Volume %s must not be migrating, attached, belong to a consistency group or " +"have snapshots." +msgstr "" +"Il volume %s non deve essere in fase di migrazione, essere collegato, far " +"parte di un gruppo di coerenza o avere istantanee." + +#, python-format msgid "Volume %s must not be part of a consistency group." msgstr "Il volume %s non deve fare parte di un gruppo di coerenza." diff -Nru cinder-8.0.0/cinder/locale/ja/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/ja/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/ja/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/ja/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -16,13 +16,13 @@ # 笹原 昌美 , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev29\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-29 01:54+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-29 06:07+0000\n" +"PO-Revision-Date: 2016-03-31 01:19+0000\n" "Last-Translator: Tsutomu Kimura \n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -150,14 +150,14 @@ "%(vol_mode)s." msgstr "" "%(op)s: バックアップ %(bck_id)s、ボリューム %(vol_id)s が失敗しました。バック" -"アップ・オブジェクトが予期しないモードです。イメージまたはファイルのバック" -"アップがサポートされています。実際のモードは %(vol_mode)s です。" +"アップオブジェクトが予期しないモードです。イメージまたはファイルのバックアッ" +"プがサポートされています。実際のモードは %(vol_mode)s です。" #, python-format msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" msgstr "" -"%(service)s サービスはストレージ・アプライアンス %(host)s で %(status)s に" -"なっていません" +"%(service)s サービスはストレージアプライアンス %(host)s で %(status)s になっ" +"ていません" #, python-format msgid "%(value_name)s must be <= %(max_value)d" @@ -186,8 +186,8 @@ msgid "" "%s cannot be accessed. Verify that GPFS is active and file system is mounted." msgstr "" -"%s にアクセスできません。GPFS がアクティブであること、およびファイル・システ" -"ムがマウントされていることを確認してください。" +"%s にアクセスできません。GPFS がアクティブであること、およびファイルシステム" +"がマウントされていることを確認してください。" #, python-format msgid "%s cannot be resized using clone operation as it contains no blocks." @@ -216,7 +216,7 @@ #, python-format msgid "%s is not a string or unicode" -msgstr "%s が文字列でもユニコードでもありません" +msgstr "%s がバイト文字列でも Unicode でもありません" #, python-format msgid "%s is not installed" @@ -305,25 +305,25 @@ msgid "" "A free LUN (HLUN) was not found. Add a different host group. (LDEV: %(ldev)s)" msgstr "" -"フリー LUN (HLUN) が見つかりませんでした。異なるホスト・グループを追加してく" -"ださい。(LDEV: %(ldev)s)" +"フリー LUN (HLUN) が見つかりませんでした。異なるホストグループを追加してくだ" +"さい。(LDEV: %(ldev)s)" #, python-format msgid "A host group could not be added. (port: %(port)s, name: %(name)s)" msgstr "" -"ホスト・グループを追加できませんでした。(ポート: %(port)s、名前: %(name)s)" +"ホストグループを追加できませんでした。(ポート: %(port)s、名前: %(name)s)" #, python-format msgid "" "A host group could not be deleted. (port: %(port)s, gid: %(gid)s, name: " "%(name)s)" msgstr "" -"ホスト・グループを削除できませんでした。(ポート: %(port)s、gid: %(gid)s、名" -"前: %(name)s)" +"ホストグループを削除できませんでした。(ポート: %(port)s、gid: %(gid)s、名前: " +"%(name)s)" #, python-format msgid "A host group is invalid. (host group: %(gid)s)" -msgstr "ホスト・グループが無効です。(ホスト・グループ: %(gid)s)" +msgstr "ホストグループが無効です。(ホストグループ: %(gid)s)" #, python-format msgid "A pair cannot be deleted. (P-VOL: %(pvol)s, S-VOL: %(svol)s)" @@ -334,7 +334,7 @@ "A pair could not be created. The maximum number of pair is exceeded. (copy " "method: %(copy_method)s, P-VOL: %(pvol)s)" msgstr "" -"ペアを作成できませんでした。ペアの最大数を超過しています。(コピー・メソッド: " +"ペアを作成できませんでした。ペアの最大数を超過しています。(コピーメソッド: " "%(copy_method)s、P-VOL: %(pvol)s)" #, python-format @@ -450,7 +450,7 @@ #, python-format msgid "An error has occured in SheepdogDriver. (Reason: %(reason)s)" -msgstr "SheepdogDriverでエラーが発生しました (Reason: %(reason)s)" +msgstr "SheepdogDriver でエラーが発生しました。(理由: %(reason)s)" msgid "An error has occurred during backup operation" msgstr "バックアップ操作中にエラーが発生しました" @@ -602,25 +602,26 @@ #, python-format msgid "Backend reports: %(message)s" -msgstr "バックエンド・レポート: %(message)s" +msgstr "バックエンドレポート: %(message)s" msgid "Backend reports: item already exists" -msgstr "バックエンド・レポート: 項目は既に存在します" +msgstr "バックエンドレポート: 項目は既に存在します" msgid "Backend reports: item not found" -msgstr "バックエンド・レポート: 項目が見つかりません" +msgstr "バックエンドレポート: 項目が見つかりません" msgid "Backend server not NaServer." -msgstr "バックエンド・サーバーが NaServer ではありません。" +msgstr "バックエンドサーバーが NaServer ではありません。" #, python-format msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "バックエンド・サービス再試行タイムアウト・ヒット: %(timeout)s 秒" +msgstr "" +"バックエンドサービスで再試行のタイムアウトが発生する時間: %(timeout)s 秒" msgid "Backend storage did not configure fiber channel target." msgstr "" -"バックエンド・ストレージによってファイバー・チャネル・ターゲットは構成されま" -"せんでした。" +"バックエンドストレージによってファイバーチャネルターゲットは設定されませんで" +"した。" msgid "Backing up an in-use volume must use the force flag." msgstr "" @@ -651,7 +652,7 @@ msgid "Backup is only supported for SOFS volumes without backing file." msgstr "" -"バックアップはバッキング・ファイルのない SOFS ボリュームでのみサポートされま" +"バックアップはバッキングファイルのない SOFS ボリュームでのみサポートされま" "す。" msgid "Backup is only supported for raw-formatted GlusterFS volumes." @@ -670,7 +671,7 @@ "Backup service %(configured_service)s does not support verify. Backup id " "%(id)s is not verified. Skipping verify." msgstr "" -"バックアップ・サービス %(configured_service)s では検査がサポートされていませ" +"バックアップサービス %(configured_service)s では検査がサポートされていませ" "ん。バックアップ ID %(id)s は検査されません。検査をスキップします。" #, python-format @@ -678,8 +679,8 @@ "Backup service %(service)s does not support verify. Backup id %(id)s is not " "verified. Skipping reset." msgstr "" -"バックアップ・サービス %(service)s では検査がサポートされていません。バック" -"アップ ID %(id)s は検査されません。リセットをスキップします。" +"バックアップサービス %(service)s では検査がサポートされていません。バックアッ" +"プ ID %(id)s は検査されません。リセットをスキップします。" #, python-format msgid "Backup should only have one snapshot but instead has %s" @@ -706,7 +707,7 @@ #, python-format msgid "Bad key(s) in quota set: %s" -msgstr "無効なキーが quota set 内にあります: %s" +msgstr "無効なキーがクォータセット 内にあります: %s" #, python-format msgid "" @@ -820,8 +821,8 @@ "already mapped to a host.\n" "\"" msgstr "" -"CMMVC6071E VDisk は既にホストにマップされているため、VDisk からホストへのマッ" -"ピングは作成されませんでした。\n" +"CMMVC6071E VDisk は既にホストにマッピングされているため、VDisk からホストへの" +"マッピングは作成されませんでした。\n" "\"" msgid "CONCERTO version is not supported" @@ -894,10 +895,6 @@ "す。" #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "DB から LUN ID を見つけることができません。ボリューム: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "アレイで LUN 情報が見つかりません。ボリューム: %(id)s、LUN 名: %(name)s。" @@ -960,7 +957,7 @@ #, python-format msgid "Can't import LUN %s to Cinder. Already exists in a SplitMirror." msgstr "" -"Cinder に LUN %s をインポートできません。すでに SplitMirror 内に存在します。" +"Cinder に LUN %s をインポートできません。既に SplitMirror 内に存在します。" #, python-format msgid "Can't import LUN %s to Cinder. Already exists in a migration task." @@ -978,7 +975,7 @@ #, python-format msgid "Can't import LUN %s to Cinder. LUN status is not normal." msgstr "" -"Cinder にスナップショット%s をインポートできません。LUN 状態が通常ではありま" +"Cinder にスナップショット%s をインポートできません。LUN 状態が正常ではありま" "せん。" #, python-format @@ -999,7 +996,7 @@ "status is not online." msgstr "" "Cinder にスナップショット %s をインポートできません。スナップショットの状態が" -"通常ではないか、実行状態がオンラインではありません。" +"正常ではないか、実行状態がオンラインではありません。" #, python-format msgid "Can't open config file: %s" @@ -1107,7 +1104,7 @@ msgstr "ディレクトリー %s を作成できません。" msgid "Cannot create encryption specs. Volume type in use." -msgstr "暗号化仕様を作成できません。ボリューム・タイプは使用中です。" +msgstr "暗号化仕様を作成できません。ボリュームタイプは使用中です。" #, python-format msgid "" @@ -1173,7 +1170,7 @@ "ンスがあります。" msgid "Cannot delete encryption specs. Volume type in use." -msgstr "暗号化仕様を削除できません。ボリューム・タイプは使用中です。" +msgstr "暗号化仕様を削除できません。ボリュームタイプは使用中です。" msgid "Cannot determine storage pool settings." msgstr "ストレージプールの設定を決定できません。" @@ -1190,8 +1187,8 @@ "Cannot find Controller Configuration Service for storage system " "%(storage_system)s." msgstr "" -"ストレージ・システム %(storage_system)s のコントローラー構成サービスが見つか" -"りません。" +"ストレージシステム %(storage_system)s のコントローラー構成サービスが見つかり" +"ません。" #, python-format msgid "Cannot find Replication Service to create volume for snapshot %s." @@ -1238,7 +1235,7 @@ msgstr "チャンネル ID %(channel_id)s によって mcs_id を取得できません。" msgid "Cannot get necessary pool or storage system information." -msgstr "必要なプールまたはストレージ・システムの情報を取得できません。" +msgstr "必要なプールまたはストレージシステムの情報を取得できません。" #, python-format msgid "" @@ -1261,7 +1258,7 @@ "Cannot get storage group: %(sgGroupName)s from masking view " "%(maskingViewInstanceName)s. " msgstr "" -"ストレージ・グループ %(sgGroupName)s をマスキングビュー " +"ストレージグループ %(sgGroupName)s をマスキングビュー " "%(maskingViewInstanceName)s から取得できません。" #, python-format @@ -1364,7 +1361,7 @@ "整合性グループ %(group_id)s を更新できません。" msgid "Cannot update encryption specs. Volume type in use." -msgstr "暗号化仕様を更新できません。ボリューム・タイプは使用中です。" +msgstr "暗号化仕様を更新できません。ボリュームタイプは使用中です。" #, python-format msgid "Cannot update volume_type %(id)s" @@ -1506,7 +1503,7 @@ msgstr "構成値 %s が設定されていません。" msgid "Configured host type is not supported." -msgstr "構成済みホスト・タイプはサポートされていません。" +msgstr "構成済みホストタイプはサポートされていません。" #, python-format msgid "" @@ -1581,7 +1578,7 @@ msgstr "コンテナーサイズが必要なファイルサイズを下回っています。" msgid "Content type not supported." -msgstr "コンテンツ・タイプはサポートされていません。" +msgstr "コンテンツタイプはサポートされていません。" #, python-format msgid "Controller Configuration Service not found on %(storageSystemName)s." @@ -1615,7 +1612,7 @@ "Copy volume task failed: convert_to_base_volume: id=%(id)s, status=" "%(status)s." msgstr "" -"ボリュームのコピー・タスクが失敗しました: convert_to_base_volume: id=%(id)s、" +"ボリュームのコピータスクが失敗しました: convert_to_base_volume: id=%(id)s、" "status=%(status)s。" #, python-format @@ -1656,7 +1653,7 @@ #, python-format msgid "Could not find GPFS file system device: %s." -msgstr "GPFS ファイル・システム・デバイスが見つかりませんでした: %s。" +msgstr "GPFS ファイルシステムデバイスが見つかりませんでした: %s。" #, python-format msgid "Could not find a host for volume %(volume_id)s with type %(type_id)s." @@ -1827,7 +1824,7 @@ "Creating and activating zone set failed: (Zone set=%(cfg_name)s error=" "%(err)s)." msgstr "" -"ゾーン・セットの作成およびアクティブ化に失敗しました: (Zone set=%(cfg_name)s " +"ゾーンセットの作成およびアクティブ化に失敗しました: (Zone set=%(cfg_name)s " "error=%(err)s)。" #, python-format @@ -1835,7 +1832,7 @@ "Creating and activating zone set failed: (Zone set=%(zoneset)s error=" "%(err)s)." msgstr "" -"ゾーン・セットの作成およびアクティブ化に失敗しました: (Zone set=%(zoneset)s " +"ゾーンセットの作成およびアクティブ化に失敗しました: (Zone set=%(zoneset)s " "error=%(err)s)。" #, python-format @@ -1943,7 +1940,7 @@ "Dedup is a valid provisioning type, but requires WSAPI version " "'%(dedup_version)s' version '%(version)s' is installed." msgstr "" -"Dedup は有効なプロビジョニング・タイプですが、WSAPI バージョン" +"Dedup は有効なプロビジョニングタイプですが、WSAPI バージョン" "「%(dedup_version)s」バージョン「%(version)s」がインストールされていることを" "必要としています。" @@ -1965,9 +1962,9 @@ "%(res)s, it is now deprecated. Please use the default quota class for " "default quota." msgstr "" -"リソース %(res)s のデフォルトの割り当て量は、デフォルトの割り当て量フラグ: " -"quota_%(res)s によって設定されていますが、これは現在推奨されていません。デ" -"フォルトの割り当て量にデフォルトの割り当て量クラスを使用してください。" +"リソース %(res)s のデフォルトのクォータは、デフォルトのクォータフラグ: quota_" +"%(res)s によって設定されていますが、これは現在推奨されていません。デフォルト" +"のクォータにデフォルトのクォータクラスを使用してください。" msgid "Default volume type can not be found." msgstr "デフォルトのボリュームタイプが見つかりません。" @@ -1994,7 +1991,7 @@ "this backup [%(backup_service)s]." msgstr "" "バックアップの削除が中止しました。現在構成されているバックアップサービス " -"[%(configured_service)s] は、このバックアップの作成に使用されたバックアップ・" +"[%(configured_service)s] は、このバックアップの作成に使用されたバックアップ" "サービス [%(backup_service)s] ではありません。" msgid "Delete consistency group failed." @@ -2114,7 +2111,7 @@ "Downlevel GPFS Cluster Detected. GPFS Clone feature not enabled in cluster " "daemon level %(cur)s - must be at least at level %(min)s." msgstr "" -"ダウン・レベル GPFS クラスターが検出されました。クラスター・デーモン・レベル " +"ダウンレベル GPFS クラスターが検出されました。クラスターデーモンレベル " "%(cur)s で GPFS 複製フィーチャーが有効になっていません。レベル %(min)s 以上は" "必要です。" @@ -2193,7 +2190,7 @@ #, python-format msgid "Element Composition Service not found on %(storageSystemName)s." -msgstr "エレメント構成サービスが %(storageSystemName)s に見つかりません。" +msgstr "要素構成サービスが %(storageSystemName)s に見つかりません。" msgid "Enables QoS." msgstr "QoS を有効化します。" @@ -2354,8 +2351,8 @@ "Error Creating TargetGroup: %(targetgroup)s withIQN: %(iqn)sReturn code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"IQN %(iqn)s でターゲット・グループ %(targetgroup)s の作成中にエラーが発生しま" -"した。戻りコード: %(ret.status)d、メッセージ: %(ret.data)s。" +"IQN %(iqn)s でターゲットグループ %(targetgroup)s の作成中にエラーが発生しまし" +"た。戻りコード: %(ret.status)d、メッセージ: %(ret.data)s。" #, python-format msgid "" @@ -2530,8 +2527,8 @@ "Error Modifying masking view : %(groupName)s. Return code: %(rc)lu. Error: " "%(error)s." msgstr "" -"マスキング・ビューの変更エラー: %(groupName)s。戻りコード: %(rc)lu。 エ" -"ラー: %(error)s。" +"マスキングビューの変更エラー: %(groupName)s。戻りコード: %(rc)lu。 エラー: " +"%(error)s。" #, python-format msgid "Error Pool ownership: Pool %(pool)s is not owned by %(host)s." @@ -2608,8 +2605,8 @@ "Error adding Volume: %(volumeName)s with instance path: " "%(volumeInstancePath)s." msgstr "" -"インスタンス・パス %(volumeInstancePath)s によるボリューム %(volumeName)s の" -"追加エラーです。" +"インスタンスパス %(volumeInstancePath)s によるボリューム %(volumeName)s の追" +"加エラーです。" #, python-format msgid "" @@ -2745,7 +2742,7 @@ msgstr "名前 %(name)s からドメイン ID を取得中にエラーが発生しました: %(id)s。" msgid "Error getting initiator groups." -msgstr "イニシエーター・グループの取得エラー。" +msgstr "イニシエーターグループの取得エラー。" #, python-format msgid "Error getting pool id from name %(pool)s: %(err)s." @@ -3022,7 +3019,7 @@ msgid "" "Error while removing the zones and cfgs in the zone string: %(description)s." msgstr "" -"ゾーンストリングでのゾーンおよび cfgs の削除中にエラーが発生しました: " +"ゾーン文字列でのゾーンおよび cfgs の削除中にエラーが発生しました: " "%(description)s。" #, python-format @@ -3040,8 +3037,8 @@ "Error while updating the new zones and cfgs in the zone string. Error " "%(description)s." msgstr "" -"ゾーンストリングでの新規ゾーンおよび cfgs の更新中にエラーが発生しました。エ" -"ラー %(description)s。" +"ゾーン文字列での新規ゾーンおよび cfgs の更新中にエラーが発生しました。エラー " +"%(description)s。" msgid "Error writing field to database" msgstr "データベースへのフィールドの書き込みに失敗しました" @@ -3092,7 +3089,7 @@ #, python-format msgid "Exception while forming the zone string: %s." -msgstr "ゾーンストリングの形成中に例外が発生しました: %s。" +msgstr "ゾーン文字列の形成中に例外が発生しました: %s。" #, python-format msgid "Exception: %s" @@ -3127,7 +3124,7 @@ #, python-format msgid "Expected volume size was %d" -msgstr "予期されたボリューム・サイズは %d でした" +msgstr "予期されたボリュームサイズは %d でした" #, python-format msgid "" @@ -3227,8 +3224,8 @@ "Failed to acquire a resource lock. (serial: %(serial)s, inst: %(inst)s, ret: " "%(ret)s, stderr: %(err)s)" msgstr "" -"リソース・ロックを獲得できませんでした。(シリアル: %(serial)s、inst: " -"%(inst)s、ret: %(ret)s、stderr: %(err)s)" +"リソースロックを獲得できませんでした。(シリアル: %(serial)s、inst: %(inst)s、" +"ret: %(ret)s、stderr: %(err)s)" #, python-format msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries." @@ -3275,8 +3272,8 @@ "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" msgstr "" -"ボリューム・メタデータのバックアップに失敗しました - メタデータ・バックアッ" -"プ・オブジェクト 'backup.%s.meta' は既に存在します" +"ボリュームメタデータのバックアップに失敗しました - メタデータバックアップオブ" +"ジェクト 'backup.%s.meta' は既に存在します" #, python-format msgid "Failed to clone volume from snapshot %s." @@ -3321,7 +3318,7 @@ msgstr "IG を作成できませんでした。%s" msgid "Failed to create SolidFire Image-Volume" -msgstr "SolidFire イメージ・ボリュームの作成に失敗しました" +msgstr "SolidFire イメージボリュームの作成に失敗しました" #, python-format msgid "Failed to create Volume Group: %(vg_name)s" @@ -3431,7 +3428,7 @@ msgstr "複製の作成に失敗しました。" msgid "Failed to create scheduler manager volume flow" -msgstr "スケジューラー・マネージャー・ボリューム・フローを作成できませんでした" +msgstr "スケジューラーマネージャーのボリュームフローを作成できませんでした" #, python-format msgid "Failed to create snapshot %s" @@ -3523,7 +3520,7 @@ msgid "" "Failed to delete fileset for consistency group %(cgname)s. Error: %(excmsg)s." msgstr "" -"整合性グループ %(cgname)s のファイル・セットの削除に失敗しました。エラー: " +"整合性グループ %(cgname)s のファイルセットの削除に失敗しました。エラー: " "%(excmsg)s。" msgid "Failed to delete iqn." @@ -3593,7 +3590,7 @@ msgstr "SSC 接続の確立に失敗しました。" msgid "Failed to establish connection with Coho cluster" -msgstr "Cohoクラスターとの接続に失敗しました" +msgstr "Coho クラスターとの接続に失敗しました" #, python-format msgid "" @@ -3629,7 +3626,7 @@ #, python-format msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s." msgstr "" -"パス %(path)s のファイル・セットが見つかりませんでした。コマンド出力: " +"パス %(path)s のファイルセットが見つかりませんでした。コマンド出力: " "%(cmdout)s。" #, python-format @@ -3664,7 +3661,7 @@ #, python-format msgid "Failed to get LUN target list for the LUN %s" -msgstr "LUN %s の LUN ターゲット・リストを取得できませんでした" +msgstr "LUN %s の LUN ターゲットリストを取得できませんでした" #, python-format msgid "Failed to get Partition ID for volume %(volume_id)s." @@ -3690,8 +3687,8 @@ "Failed to get a storage resource. The system will attempt to get the storage " "resource again. (resource: %(resource)s)" msgstr "" -"ストレージ・リソースを取得できませんでした。システムは、もう一度ストレージ・" -"リソースの取得を試みます。(リソース: %(resource)s)" +"ストレージリソースを取得できませんでした。システムは、もう一度ストレージリ" +"ソースの取得を試みます。(リソース: %(resource)s)" #, python-format msgid "Failed to get all associations of qos specs %s" @@ -3796,7 +3793,7 @@ #, python-format msgid "Failed to get target portal for the LUN %s" -msgstr "LUN %s のターゲット・ポータルの取得に失敗しました" +msgstr "LUN %s のターゲットポータルの取得に失敗しました" msgid "Failed to get targets" msgstr "ターゲットを取得できませんでした" @@ -3810,7 +3807,7 @@ "%(maskingViewName)s. The error message received was %(errorMessage)s." msgstr "" "ボリューム %(volumeName)s の取得、作成、またはマスキングビュー " -"%(maskingViewName)s への追加が失敗しました。受け取ったエラー・メッセージは " +"%(maskingViewName)s への追加が失敗しました。受け取ったエラーメッセージは " "%(errorMessage)s です。" msgid "Failed to identify volume backend." @@ -3819,7 +3816,7 @@ #, python-format msgid "Failed to link fileset for the share %(cgname)s. Error: %(excmsg)s." msgstr "" -"共有 %(cgname)s のファイル・セットへのリンクに失敗しました。エラー: " +"共有 %(cgname)s のファイルセットへのリンクに失敗しました。エラー: " "%(excmsg)s。" #, python-format @@ -3856,8 +3853,8 @@ "Failed to manage existing volume %(name)s, because of error in getting " "volume size." msgstr "" -"ボリューム・サイズ取得エラーのため、既存ボリューム %(name)s の管理に失敗しま" -"した。" +"ボリュームサイズ取得エラーのため、既存ボリューム %(name)s の管理に失敗しまし" +"た。" #, python-format msgid "" @@ -3865,7 +3862,7 @@ "Error msg: %(msg)s." msgstr "" "名前変更操作が失敗したため、既存ボリューム %(name)s の管理に失敗しました: エ" -"ラー・メッセージ: %(msg)s。" +"ラーメッセージ: %(msg)s。" #, python-format msgid "" @@ -3960,8 +3957,8 @@ "Failed to map a logical device. (LDEV: %(ldev)s, LUN: %(lun)s, port: " "%(port)s, id: %(id)s)" msgstr "" -"論理デバイスをマップできませんでした。(LDEV: %(ldev)s、LUN: %(lun)s、ポート: " -"%(port)s、ID: %(id)s)" +"論理デバイスをマッピングできませんでした。(LDEV: %(ldev)s、LUN: %(lun)s、ポー" +"ト: %(port)s、ID: %(id)s)" msgid "Failed to migrate volume for the first time." msgstr "ボリュームのマイグレーションに失敗しました (初回)。" @@ -4015,7 +4012,7 @@ "Failed to perform a zero-page reclamation. (LDEV: %(ldev)s, reason: " "%(reason)s)" msgstr "" -"ゼロ・ページ・レクラメーションを実行できませんでした。(LDEV: %(ldev)s、理由: " +"ゼロページレクラメーションを実行できませんでした。(LDEV: %(ldev)s、理由: " "%(reason)s)" #, python-format @@ -4050,7 +4047,7 @@ "Failed to remove: %(volumename)s. from the default storage group for FAST " "policy %(fastPolicyName)s." msgstr "" -"FAST ポリシー %(fastPolicyName)s のデフォルト・ストレージ・グループから " +"FAST ポリシー %(fastPolicyName)s のデフォルトストレージグループから " "%(volumename)s を削除できませんでした。" #, python-format @@ -4094,7 +4091,8 @@ "Failed to specify a logical device for the volume %(volume_id)s to be " "unmapped." msgstr "" -"マップ解除するボリューム %(volume_id)s の論理デバイスを指定できませんでした。" +"マッピングを解除するボリューム %(volume_id)s の論理デバイスを指定できませんで" +"した。" #, python-format msgid "" @@ -4115,13 +4113,14 @@ msgid "" "Failed to unlink fileset for consistency group %(cgname)s. Error: %(excmsg)s." msgstr "" -"整合性グループ %(cgname)s のファイル・セットのリンク解除に失敗しました。エ" +"整合性グループ %(cgname)s のファイルセットのリンク解除に失敗しました。エ" "ラー: %(excmsg)s。" #, python-format msgid "Failed to unmap a logical device. (LDEV: %(ldev)s, reason: %(reason)s)" msgstr "" -"論理デバイスをマップ解除できませんでした。(LDEV: %(ldev)s、理由: %(reason)s)" +"論理デバイスのマッピングを解除できませんでした。(LDEV: %(ldev)s、理由: " +"%(reason)s)" #, python-format msgid "Failed to update consistency group: %(cgName)s." @@ -4231,8 +4230,8 @@ #, python-format msgid "File %(path)s has invalid backing file %(bfile)s, aborting." msgstr "" -"ファイル %(path)s に無効なバッキング・ファイル %(bfile)s があります。打ち切り" -"ます。" +"ファイル %(path)s に無効なバッキングファイル %(bfile)s があります。打ち切りま" +"す。" #, python-format msgid "File already exists at %s." @@ -4268,8 +4267,8 @@ "Flash Cache Policy requires WSAPI version '%(fcache_version)s' version " "'%(version)s' is installed." msgstr "" -"Flash キャッシュ・ポリシーは、WSAPI バージョン「%(fcache_version)s」バージョ" -"ン「%(version)s」がインストールされていることを必要としています。" +"Flash キャッシュポリシーは、WSAPI バージョン「%(fcache_version)s」バージョン" +"「%(version)s」がインストールされていることを必要としています。" #, python-format msgid "Flexvisor assign volume failed.:%(id)s:%(status)s." @@ -4449,7 +4448,7 @@ #, python-format msgid "Flexvisor unable to find the source volume %(id)s info." -msgstr "Flexvisor はソース・ボリューム %(id)s 情報を検出できません。" +msgstr "Flexvisor はソースボリューム %(id)s 情報を検出できません。" #, python-format msgid "Flexvisor unassign volume failed:%(id)s:%(status)s." @@ -4727,7 +4726,7 @@ #, python-format msgid "Host type %s not supported." -msgstr "ホスト・タイプ %s はサポートされていません。" +msgstr "ホストタイプ %s はサポートされていません。" #, python-format msgid "Host with ports %(ports)s not found." @@ -4763,7 +4762,7 @@ "Illegal value '%(prot)s' specified for flashsystem_connection_protocol: " "valid value(s) are %(enabled)s." msgstr "" -"正しくない値「%(prot)s」が flashsystem_connection_protocol に指定されていま" +"正しくない値 '%(prot)s' が flashsystem_connection_protocol に指定されていま" "す。有効な値は %(enabled)s です。" msgid "Illegal value specified for IOTYPE: 0, 1, or 2." @@ -5017,15 +5016,15 @@ #, python-format msgid "Invalid disk adapter type: %(invalid_type)s." -msgstr "ディスク・アダプター・タイプが無効です: %(invalid_type)s。" +msgstr "ディスクアダプタータイプが無効です: %(invalid_type)s。" #, python-format msgid "Invalid disk backing: %s." -msgstr "ディスク・バッキングが無効です: %s。" +msgstr "ディスクバッキングが無効です: %s。" #, python-format msgid "Invalid disk type: %(disk_type)s." -msgstr "ディスク・タイプが無効です: %(disk_type)s。" +msgstr "ディスクタイプが無効です: %(disk_type)s。" #, python-format msgid "Invalid disk type: %s." @@ -5146,7 +5145,7 @@ "す。" msgid "Invalid service catalog json." -msgstr "無効なサービス・カタログ JSON。" +msgstr "無効なサービスカタログ JSON。" msgid "Invalid sheepdog cluster status." msgstr "シープドッグクラスターの状態が無効です。" @@ -5161,11 +5160,11 @@ #, python-format msgid "Invalid storage pool %s requested. Retype failed." -msgstr "無効なストレージ・プール %s が要求されました。再入力は失敗しました。" +msgstr "無効なストレージプール %s が要求されました。再入力は失敗しました。" #, python-format msgid "Invalid storage pool %s specificed." -msgstr "無効なストレージ・プール %s が指定されました。" +msgstr "無効なストレージプール %s が指定されました。" msgid "Invalid storage pool is configured." msgstr "無効なストレージプールが設定されています。" @@ -5211,7 +5210,7 @@ #, python-format msgid "Invalid value for 'force': '%s'" -msgstr "force の値 '%s' は無効です。" +msgstr "'force' の値 '%s' は無効です。" #, python-format msgid "Invalid value for 'readonly': '%s'" @@ -5239,9 +5238,8 @@ "Invalid volume size provided for create request: %s (size argument must be " "an integer (or string representation of an integer) and greater than zero)." msgstr "" -"作成要求に指定されたボリューム・サイズ %s は無効です (size 引数は整数(または" -"整数のストリング表記) でなければならず、またゼロより大きくなければなりませ" -"ん)。" +"作成要求に指定されたボリュームサイズ %s は無効です (size 引数は整数(または整" +"数の文字列表記) でなければならず、またゼロより大きくなければなりません)。" #, python-format msgid "Invalid volume type: %(reason)s" @@ -5267,7 +5265,7 @@ "%(group_id)s because volume type %(volume_type)s is not supported by the " "group." msgstr "" -"無効なボリューム: ボリューム・タイプ %(volume_type)s は整合性グルー" +"無効なボリューム: ボリュームタイプ %(volume_type)s は整合性グルー" "プ%(group_id)s ではサポートされていないため、ボリューム %(volume_id)s をこの" "整合性グループに追加できません。" @@ -5395,9 +5393,9 @@ "LUN with given ref %(ref)s does not satisfy volume type. Ensure LUN volume " "with ssc features is present on vserver %(vs)s." msgstr "" -"指定された参照 %(ref)s を持つ LUN はボリューム・タイプを満たしていません。" -"ssc フィーチャーを持つ LUN ボリュームが vserver %(vs)s 上に存在することを確認" -"してください。" +"指定された参照 %(ref)s を持つ LUN はボリュームタイプを満たしていません。ssc " +"フィーチャーを持つ LUN ボリュームが vserver %(vs)s 上に存在することを確認して" +"ください。" #, python-format msgid "Last %s cinder syslog entries:-" @@ -5414,12 +5412,12 @@ msgstr "行 %(dis)d : %(line)s" msgid "Link path already exists and its not a symlink" -msgstr "リンク・パスは既に存在しますが、symlink ではありません" +msgstr "リンクパスは既に存在しますが、symlink ではありません" #, python-format msgid "Linked clone of source volume not supported in state: %s." msgstr "" -"状態 %s でのソース・ボリュームのリンクされた複製はサポートされていません。" +"状態 %s でのソースボリュームのリンクされた複製はサポートされていません。" msgid "Lock acquisition failed." msgstr "ロックの取得に失敗しました。" @@ -5431,8 +5429,8 @@ "Lookup service not configured. Config option for fc_san_lookup_service needs " "to specify a concrete implementation of the lookup service." msgstr "" -"ルックアップ・サービスが構成されていません。fc_san_lookup_service の構成オプ" -"ションはルックアップ・サービスの具体的実装の指定を必要とします。" +"ルックアップサービスが構成されていません。fc_san_lookup_service の構成オプ" +"ションはルックアップサービスの具体的実装の指定を必要とします。" msgid "Lun migration error." msgstr "LUN マイグレーションのエラー。" @@ -5467,7 +5465,7 @@ #, python-format msgid "Malformed nameserver string: %s" -msgstr "誤った形式のネーム・サーバー・ストリング: %s" +msgstr "誤った形式のネームサーバー文字列: %s" msgid "Malformed request body" msgstr "誤った形式の要求本体" @@ -5570,7 +5568,8 @@ "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." msgstr "" -"許容されるぼるーむの最大数 (%(allowed)d) がクォータ '%(name)s' を超えました。" +"許容されるボリュームの最大数 (%(allowed)d) がクォータ '%(name)s' を超えまし" +"た。" #, python-format msgid "May specify only one of %s" @@ -5598,7 +5597,7 @@ msgstr "メタデータのプロパティーキー %s 値が 255 文字を超えています" msgid "Metadata property key blank" -msgstr "メタデータ・プロパティー・キーがブランクです" +msgstr "メタデータプロパティーキーがブランクです" msgid "Metadata property key blank." msgstr "メタデータプロパティーのキーがブランクです。" @@ -5636,7 +5635,7 @@ "Missing 'purestorage' python module, ensure the library is installed and " "available." msgstr "" -"「purestorage」python モジュールがありません。ライブラリーがインストールさ" +"'purestorage' の python モジュールがありません。ライブラリーがインストールさ" "れ、使用可能であることを確認してください。" msgid "Missing Fibre Channel SAN configuration param - fc_fabric_names" @@ -5651,7 +5650,7 @@ #, python-format msgid "Missing required element '%s' in request body" -msgstr "要求本体に必須エレメント '%s' がありません" +msgstr "要求本体に必須要素 '%s' がありません" #, python-format msgid "Missing required element '%s' in request body." @@ -5664,7 +5663,7 @@ msgstr "リクエストの本文に必要な要素 'host' がありません。" msgid "Missing required element quota_class_set in request body." -msgstr "要求本体に必須エレメント quota_class_set がありません。" +msgstr "要求本体に必須要素 quota_class_set がありません。" msgid "Missing required element snapshot in request body." msgstr "リクエストの本文に必要な要素のスナップショットがありません。" @@ -5683,13 +5682,13 @@ #, python-format msgid "Multiple matches found for '%s', use an ID to be more specific." msgstr "" -"「%s」に関して複数の一致が見つかりました。ID を使用して絞り込んでください。" +"'%s' に関して複数の一致が見つかりました。ID を使用して絞り込んでください。" msgid "Multiple profiles found." msgstr "複数のプロファイルが見つかりました。" msgid "Must implement a fallback schedule" -msgstr "予備の(fallback)スケジューラを実装する必要があります。" +msgstr "フォールバックスケジューラーを実装する必要があります。" msgid "Must implement find_retype_host" msgstr "find_retype_host を実装する必要があります" @@ -5721,7 +5720,7 @@ msgstr "'connector' を指定する必要があります" msgid "Must specify 'connector'." -msgstr "「コネクター」を指定する必要があります。" +msgstr "'connector' を指定する必要があります。" msgid "Must specify 'host'." msgstr "'host' を指定する必要があります。" @@ -5754,7 +5753,7 @@ "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is " "invalid." msgstr "" -"有効なプロビジョニング・タイプ %(valid)s を指定する必要があります。値 " +"有効なプロビジョニングタイプ %(valid)s を指定する必要があります。値 " "'%(prov)s' は無効です。" msgid "Must specify a valid status" @@ -5850,13 +5849,13 @@ "実サイズ: %(oldsize)s、新規サイズ: %(newsize)s。" msgid "New volume size must be specified as an integer." -msgstr "新しいボリューム・サイズを整数で指定する必要があります。" +msgstr "新しいボリュームサイズを整数で指定する必要があります。" msgid "New volume type must be specified." msgstr "新規ボリュームタイプを指定する必要があります。" msgid "New volume type not specified in request_spec." -msgstr "新規ボリューム・タイプが要求仕様に指定されていません。" +msgstr "新規のボリュームタイプが要求仕様に指定されていません。" #, python-format msgid "New volume_type same as original: %s." @@ -5881,7 +5880,7 @@ msgstr "設定ファイルに VF ID が定義されていません。" msgid "No active iSCSI portals with supplied iSCSI IPs" -msgstr "提供されたiSCSI IPのiSCSIポータルがアクティブではありません。" +msgstr "提供された iSCSI IP の iSCSI ポータルがアクティブではありません。" #, python-format msgid "No available service named %s" @@ -5924,7 +5923,7 @@ #, python-format msgid "No file found with %s as backing file." -msgstr "バッキング・ファイルとして %s を持つファイルが見つかりません。" +msgstr "バッキングファイルとして %s を持つファイルが見つかりません。" #, python-format msgid "" @@ -5960,7 +5959,7 @@ #, python-format msgid "No initiator group found for initiator %s" -msgstr "イニシエーター %s のイニシエーター・グループが見つかりません" +msgstr "イニシエーター %s のイニシエーターグループが見つかりません" msgid "No initiators found, cannot proceed" msgstr "イニシエーターが見つからないため、続行できません" @@ -6039,7 +6038,7 @@ #, python-format msgid "No snap found with %s as backing file." -msgstr "バッキング・ファイルとして %s を持つスナップが見つかりません。" +msgstr "バッキングファイルとして %s を持つスナップが見つかりません。" #, python-format msgid "No snapshot image found in snapshot group %s." @@ -6058,7 +6057,7 @@ #, python-format msgid "No storage path found for export path %s" -msgstr "エクスポート・パス %s 用のストレージ・パスが見つかりません" +msgstr "エクスポートパス %s 用のストレージパスが見つかりません" #, python-format msgid "No such QoS spec %(specs_id)s." @@ -6147,7 +6146,7 @@ msgid "Not enough storage space in the ZFS share to perform this operation." msgstr "" -"この操作を実行するために十分なストレージ・スペースが ZFS 共有にありません。" +"この操作を実行するために十分なストレージスペースが ZFS 共有にありません。" msgid "Not stored in rbd" msgstr "rbd 内に保管されていません" @@ -6168,7 +6167,7 @@ msgid "Null response received from CloudByte's list volume iscsi service." msgstr "" -"CloudByte のリスト・ボリューム iscsi サービスからヌル応答を受け取りました。" +"CloudByte のリストボリューム iscsi サービスからヌル応答を受け取りました。" #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." @@ -6326,10 +6325,10 @@ msgstr "ボリュームのプール ['host'] が以下のため失敗しました: %(ex)s。" msgid "Pool is not available in the volume host field." -msgstr "プールがボリューム・ホスト・フィールドにありません。" +msgstr "プールがボリュームホストフィールドにありません。" msgid "Pool is not available in the volume host fields." -msgstr "プールがボリューム・ホスト・フィールドにありません。" +msgstr "プールがボリュームホストフィールドにありません。" #, python-format msgid "Pool with name %(pool)s wasn't found in domain %(domain)s." @@ -6381,8 +6380,8 @@ "Protocol %(storage_protocol)s is not supported for storage family " "%(storage_family)s." msgstr "" -"ストレージ・ファミリー %(storage_family)s ではプロトコル " -"%(storage_protocol)s はサポートされません。" +"ストレージファミリー %(storage_family)s ではプロトコル %(storage_protocol)s " +"はサポートされません。" msgid "Provided backup record is missing an id" msgstr "提供されたバックアップレコードに ID がありません" @@ -6392,7 +6391,7 @@ "Provided snapshot status %(provided)s not allowed for snapshot with status " "%(current)s." msgstr "" -"指定されたスナップショット・ステータス %(provided)s は、ステータスが " +"指定されたスナップショットステータス %(provided)s は、ステータスが " "%(current)s となっているスナップショットには許可されません。" #, python-format @@ -6458,8 +6457,8 @@ "Query by service parameter is deprecated. Please use binary parameter " "instead." msgstr "" -"サービス・パラメーターによる照会は推奨されません。代わりにバイナリー・パラ" -"メーターを使用してください。" +"サービスパラメーターによる照会は推奨されません。代わりにバイナリーパラメー" +"ターを使用してください。" msgid "Query resource pool error." msgstr "リソースプール照会のエラー。" @@ -6470,22 +6469,22 @@ #, python-format msgid "Quota class %(class_name)s could not be found." -msgstr "割り当て量クラス %(class_name)s が見つかりませんでした。" +msgstr "クォータクラス %(class_name)s が見つかりませんでした。" msgid "Quota could not be found" -msgstr "割り当て量が見つかりませんでした" +msgstr "クォータが見つかりませんでした" #, python-format msgid "Quota exceeded for resources: %(overs)s" -msgstr "リソースの割り当て量を超過しました: %(overs)s" +msgstr "リソースのクォータを超過しました: %(overs)s" #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "割り当て量を超過しました: code=%(code)s" +msgstr "クォータを超過しました: code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." -msgstr "プロジェクト %(project_id)s の割り当て量が見つかりませんでした。" +msgstr "プロジェクト %(project_id)s のクォータが見つかりませんでした。" #, python-format msgid "" @@ -6497,11 +6496,11 @@ #, python-format msgid "Quota reservation %(uuid)s could not be found." -msgstr "割り当て量の予約 %(uuid)s が見つかりませんでした。" +msgstr "クォータの予約 %(uuid)s が見つかりませんでした。" #, python-format msgid "Quota usage for project %(project_id)s could not be found." -msgstr "プロジェクト %(project_id)s の割り当て量使用率が見つかりませんでした。" +msgstr "プロジェクト %(project_id)s のクォータ使用率が見つかりませんでした。" #, python-format msgid "RBD diff op failed - (ret=%(ret)s stderr=%(stderr)s)" @@ -6535,7 +6534,7 @@ "Operation to add %(vol)s into Storage Group %(sg)s is rejected." msgstr "" "構成オプション max_luns_per_storage_group によって設定された制限に達しまし" -"た。%(vol)s をストレージ・グループ %(sg)s に追加する操作は拒否されます。" +"た。%(vol)s をストレージグループ %(sg)s に追加する操作は拒否されます。" #, python-format msgid "Received error string: %s" @@ -6555,13 +6554,13 @@ msgid "Reference must contain either source-id or source-name element." msgstr "" -"参照には source-id または source-name のいずれかのエレメントが含まれていなけ" -"ればなりません。" +"参照には source-id または source-name のいずれかの要素が含まれていなければな" +"りません。" msgid "Reference must contain either source-name or source-id element." msgstr "" -"参照には source-name または source-id のいずれかのエレメントが含まれていなけ" -"ればなりません。" +"参照には source-name または source-id のいずれかの要素が含まれていなければな" +"りません。" msgid "Reference must contain source-id or source-name element." msgstr "" @@ -6578,7 +6577,7 @@ msgstr "参照には source-id が含まれていなければなりません。" msgid "Reference must contain source-name element." -msgstr "参照には source-name エレメントが含まれていなければなりません。" +msgstr "参照には source-name 要素が含まれていなければなりません。" msgid "Reference must contain source-name or source-id." msgstr "参照には source-name または source-id が含まれていなければなりません。" @@ -6601,8 +6600,8 @@ "Refusing to migrate volume ID: %(id)s. Please check your configuration " "because source and destination are the same Volume Group: %(name)s." msgstr "" -"ボリューム ID %(id)s のマイグレーションを拒否中。ソースと宛先が同じボリュー" -"ム・グループ %(name)s であるため、構成を確認してください。" +"ボリューム ID %(id)s のマイグレーションを拒否中。ソースと宛先が同じボリューム" +"グループ %(name)s であるため、構成を確認してください。" msgid "Remote pool cannot be found." msgstr "リモートプールが見つかりません。" @@ -6703,8 +6702,8 @@ "Requested backup exceeds allowed Backup gigabytes quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"要求されたバックアップが許容バックアップ割り当て量 (ギガバイト) を超えていま" -"す。要求量 %(requested)s G、割り当て量 %(quota)s G、消費量 %(consumed)s. G。" +"要求されたバックアップが許容バックアップクォータ (ギガバイト) を超えていま" +"す。要求量 %(requested)s G、クォータ %(quota)s G、消費量 %(consumed)s. G。" #, python-format msgid "" @@ -6883,11 +6882,6 @@ "'%(total_attempts)r' 回の試行後に SSH コマンドが失敗しました: '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "" -"SSH コマンドがエラー: '%(err)s' 、コマンド: '%(command)s' で失敗しました。" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "SSH コマンド注入が検出されました: %(command)s" @@ -6954,9 +6948,6 @@ msgid "Service is unavailable at this time." msgstr "現在サービスは使用できません。" -msgid "Service not found." -msgstr "サービスが見つかりません。" - msgid "Set pair secondary access error." msgstr "ペアのセカンダリーアクセス設定のエラー。" @@ -6967,15 +6958,15 @@ "Setting LUN QoS policy group is not supported on this storage family and " "ONTAP version." msgstr "" -"LUN QoS ポリシー・グループの設定は、このストレージ・ファミリーおよびONTAP " -"バージョンではサポートされていません。" +"LUN QoS ポリシーグループの設定は、このストレージファミリーおよび ONTAP バー" +"ジョンではサポートされていません。" msgid "" "Setting file qos policy group is not supported on this storage family and " "ontap version." msgstr "" -"ファイル qos ポリシー・グループの設定は、このストレージ・ファミリーおよび" -"ontap バージョンではサポートされていません。" +"ファイル qos ポリシーグループの設定は、このストレージファミリーおよびontap " +"バージョンではサポートされていません。" #, python-format msgid "" @@ -7133,13 +7124,13 @@ msgstr "ソース CG が空です。整合性グループは作成されません。" msgid "Source host details not found." -msgstr "ソース・ホスト詳細が見つかりません" +msgstr "ソースホスト詳細が見つかりません" msgid "Source volume device ID is required." msgstr "ソースボリュームのデバイス ID が必要です。" msgid "Source volume not mid-migration." -msgstr "ソース・ボリュームはマイグレーション中ではありません" +msgstr "ソースボリュームはマイグレーション中ではありません" #, python-format msgid "" @@ -7210,8 +7201,8 @@ #, python-format msgid "Storage HardwareId mgmt Service not found on %(storageSystemName)s." msgstr "" -"ストレージ・ハードウェア ID 管理サービスが %(storageSystemName)s に見つかりま" -"せん。" +"ストレージハードウェア ID 管理サービスが %(storageSystemName)s に見つかりませ" +"ん。" #, python-format msgid "Storage Profile %s not found." @@ -7223,7 +7214,7 @@ #, python-format msgid "Storage family %s is not supported." -msgstr "ストレージ・ファミリー %s はサポートされていません。" +msgstr "ストレージファミリー %s はサポートされていません。" #, python-format msgid "Storage group %(storageGroupName)s was not deleted successfully" @@ -7238,17 +7229,17 @@ #, python-format msgid "Storage profile: %(storage_profile)s not found." -msgstr "ストレージ・プロファイル %(storage_profile)s が見つかりません。" +msgstr "ストレージプロファイル %(storage_profile)s が見つかりません。" msgid "Storage resource could not be found." msgstr "ストレージリソースが見つかりませんでした。" msgid "Storage system id not set." -msgstr "ストレージ・システム ID が設定されていません。" +msgstr "ストレージシステム ID が設定されていません。" #, python-format msgid "Storage system not found for pool %(poolNameInStr)s." -msgstr "プール %(poolNameInStr)s のストレージ・システムが見つかりません。" +msgstr "プール %(poolNameInStr)s のストレージシステムが見つかりません。" msgid "Storage-assisted migration failed during manage volume." msgstr "" @@ -7310,8 +7301,8 @@ msgid "" "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" msgstr "" -"テンプレート・ツリーの不一致。スレーブ %(slavetag)s をマスター %(mastertag)s " -"に追加しています" +"テンプレートツリーの不一致。スレーブ %(slavetag)s をマスター %(mastertag)s に" +"追加しています" #, python-format msgid "Tenant ID: %s does not exist." @@ -7335,8 +7326,8 @@ "The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be used " "with the 'sort' parameter." msgstr "" -"「sort_key」パラメーターおよび「sort_dir」パラメーターは非推奨であり、" -"「sort」パラメーターと併用することはできません。" +"'sort_key' パラメーターおよび 'sort_dir' パラメーターは非推奨であり、'sort' " +"パラメーターと併用することはできません。" msgid "The EQL array has closed the connection." msgstr "EQL アレイが接続を閉じました。" @@ -7346,8 +7337,8 @@ "The GPFS filesystem %(fs)s is not at the required release level. Current " "level is %(cur)s, must be at least %(min)s." msgstr "" -"GPFS ファイル・システム %(fs)s は必要なリリース・レベルに達していません。現在" -"のレベルは %(cur)s です。%(min)s 以上は必要です。" +"GPFS ファイルシステム %(fs)s は必要なリリースレベルに達していません。現在のレ" +"ベルは %(cur)s です。%(min)s 以上は必要です。" msgid "The IP Address was not found." msgstr "IP アドレスが見つかりませんでした。" @@ -7357,8 +7348,8 @@ "The WebDAV request failed. Reason: %(msg)s, Return code/reason: %(code)s, " "Source Volume: %(src)s, Destination Volume: %(dst)s, Method: %(method)s." msgstr "" -"WebDAV 要求が失敗しました。理由: %(msg)s、戻りコード/理由: %(code)s、ソース・" -"ボリューム: %(src)s、宛先ボリューム: %(dst)s、メソッド: %(method)s。" +"WebDAV 要求が失敗しました。理由: %(msg)s、戻りコード/理由: %(code)s、ソースボ" +"リューム: %(src)s、宛先ボリューム: %(dst)s、メソッド: %(method)s。" msgid "" "The above error may show that the database has not been created.\n" @@ -7426,7 +7417,7 @@ #, python-format msgid "The following elements are required: %s" -msgstr "次のエレメントが必要です: %s" +msgstr "次の要素が必要です: %s" #, python-format msgid "" @@ -7437,10 +7428,10 @@ "\t%s" msgid "The host group or iSCSI target could not be added." -msgstr "ホスト・グループまたは iSCSI ターゲットを追加できませんでした。" +msgstr "ホストグループまたは iSCSI ターゲットを追加できませんでした。" msgid "The host group or iSCSI target was not found." -msgstr "ホスト・グループまたは iSCSI ターゲットが見つかりませんでした。" +msgstr "ホストグループまたは iSCSI ターゲットが見つかりませんでした。" msgid "" "The host is not ready to be failed back. Please resynchronize the volumes " @@ -7563,7 +7554,7 @@ msgstr "ソースボリューム %s は現在のホストが管理するプールにありません。" msgid "The source volume for this WebDAV operation not found." -msgstr "この WebDAV 操作のソース・ボリュームが見つかりません。" +msgstr "この WebDAV 操作のソースボリュームが見つかりません。" #, python-format msgid "" @@ -7614,22 +7605,22 @@ "The specified ldev %(ldev)s could not be managed. The volume type must be DP-" "VOL." msgstr "" -"指定された ldev %(ldev)s を管理できませんでした。ボリューム・タイプは DP-VOL " -"でなければなりません。" +"指定された ldev %(ldev)s を管理できませんでした。ボリュームタイプは DP-VOL で" +"なければなりません。" #, python-format msgid "" "The specified operation is not supported. The volume size must be the same " "as the source %(type)s. (volume: %(volume_id)s)" msgstr "" -"指定された操作はサポートされていません。ボリューム・サイズはソース %(type)s " -"と同じでなければなりません。(ボリューム: %(volume_id)s)" +"指定された操作はサポートされていません。ボリュームサイズはソース %(type)s と" +"同じでなければなりません。(ボリューム: %(volume_id)s)" msgid "The specified vdisk is mapped to a host." -msgstr "指定された vdisk はホストにマップされています。" +msgstr "指定された vdisk はホストにマッピングされています。" msgid "The specified volume is mapped to a host." -msgstr "指定されたボリュームはホストにマップされています。" +msgstr "指定されたボリュームはホストにマッピングされています。" #, python-format msgid "" @@ -7673,15 +7664,15 @@ "The volume %(volume_id)s could not be extended. The volume type must be " "Normal." msgstr "" -"ボリューム %(volume_id)s を拡張できませんでした。ボリューム・タイプは「標準」" -"でなければなりません。" +"ボリューム %(volume_id)s を拡張できませんでした。ボリュームタイプは「標準」で" +"なければなりません。" #, python-format msgid "" "The volume %(volume_id)s could not be unmanaged. The volume type must be " "%(volume_type)s." msgstr "" -"ボリューム %(volume_id)s を管理解除できませんでした。ボリューム・タイプは " +"ボリューム %(volume_id)s を管理解除できませんでした。ボリュームタイプは " "%(volume_type)s でなければなりません。" #, python-format @@ -7695,7 +7686,7 @@ #, python-format msgid "The volume %(volume_id)s to be mapped was not found." -msgstr "マップするボリューム %(volume_id)s が見つかりませんでした。" +msgstr "マッピングするボリューム %(volume_id)s が見つかりませんでした。" msgid "The volume cannot accept transfer in maintenance mode." msgstr "メンテナンスモードではボリュームを転送できません。" @@ -7714,7 +7705,7 @@ msgid "The volume driver requires the iSCSI initiator name in the connector." msgstr "" -"ボリューム・ドライバーには、コネクター内の iSCSI イニシエーター名が必要です。" +"ボリュームドライバーには、コネクター内の iSCSI イニシエーター名が必要です。" msgid "" "The volume is currently busy on the 3PAR and cannot be deleted at this time. " @@ -7747,7 +7738,7 @@ #, python-format msgid "There are no valid datastores attached to %s." -msgstr "%s に接続された有効なデータ・ストアがありません。" +msgstr "%s に接続された有効なデータストアがありません。" msgid "There are no valid datastores." msgstr "有効なデータストアがありません。" @@ -7768,7 +7759,7 @@ "です。" msgid "There is no metadata in DB object." -msgstr "DBオブジェクトの中にメタデータがありません。" +msgstr "DB オブジェクトの中にメタデータがありません。" #, python-format msgid "There is no share which can host %(volume_size)sG" @@ -7783,7 +7774,7 @@ msgstr "このようなアクションはありません: %s" msgid "There is no virtual disk device." -msgstr "仮想ディスク・デバイスがありません。" +msgstr "仮想ディスクデバイスがありません。" #, python-format msgid "There was an error adding the volume to the remote copy group: %s." @@ -7845,8 +7836,8 @@ msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" msgstr "" -"シン・プロビジョニング・イネーブラーがインストールされていません。シン・ボ" -"リュームを作成できません" +"シンプロビジョニングイネーブラーがインストールされていません。シンボリューム" +"を作成できません" msgid "This driver does not support deleting in-use snapshots." msgstr "" @@ -7858,19 +7849,19 @@ "せん。" msgid "This request was rate-limited." -msgstr "この要求は rate-limited でした。" +msgstr "このリクエストは一定時間内の実行回数に制限があります。" #, python-format msgid "" "This system platform (%s) is not supported. This driver supports only Win32 " "platforms." msgstr "" -"このシステム・プラットフォーム (%s) はサポートされていません。このドライバー" +"このシステムプラットフォーム (%s) はサポートされていません。このドライバー" "は、Win32 プラットフォームのみサポートします。" #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." -msgstr "%(storageSystemName)s の層ポリシー・サービスが見つかりません。" +msgstr "%(storageSystemName)s の層ポリシーサービスが見つかりません。" #, python-format msgid "Timed out while waiting for Nova update for creation of snapshot %s." @@ -7966,7 +7957,7 @@ #, python-format msgid "Unable to access the backend storage via the path %(path)s." -msgstr "パス %(path)s を介してバックエンド・ストレージにアクセスできません。" +msgstr "パス %(path)s を介してバックエンドストレージにアクセスできません。" #, python-format msgid "Unable to add Cinder host to apphosts for space %(space)s" @@ -8165,7 +8156,7 @@ #, python-format msgid "Unable to get a block device for file '%s'" -msgstr "ファイル '%s' のブロック・デバイスを取得できません" +msgstr "ファイル '%s' のブロックデバイスを取得できません" #, python-format msgid "" @@ -8214,8 +8205,8 @@ #, python-format msgid "Unable to get target endpoints for hardwareId %(hardwareIdInstance)s." msgstr "" -"ハードウェア ID %(hardwareIdInstance)s のターゲット・エンドポイントを取得でき" -"ません。" +"ハードウェア ID %(hardwareIdInstance)s のターゲットエンドポイントを取得できま" +"せん。" msgid "Unable to get the name of the masking view." msgstr "マスキングビューの名前を取得できません。" @@ -8304,8 +8295,8 @@ "Unable to promote replica to primary for volume %s. No secondary copy " "available." msgstr "" -"レプリカをボリューム %s の 1 次レプリカにプロモートできません。2 次コピーがあ" -"りません。" +"レプリカをボリューム %s のプライマリーにプロモートできません。セカンダリーコ" +"ピーがありません。" msgid "" "Unable to re-use a host that is not managed by Cinder with " @@ -8494,7 +8485,7 @@ #, python-format msgid "Unknown quota resources %(unknown)s." -msgstr "不明な割り当て量リソース %(unknown)s。" +msgstr "不明なクォータリソース %(unknown)s。" msgid "Unknown service" msgstr "不明なサービス" @@ -8705,7 +8696,7 @@ #, python-format msgid "Vol copy job for dest %s failed." -msgstr "宛先 %s のボリューム・コピー・ジョブが失敗しました。" +msgstr "宛先 %s のボリュームコピージョブが失敗しました。" #, python-format msgid "Volume %(deviceID)s not found." @@ -8716,8 +8707,8 @@ "Volume %(name)s not found on the array. Cannot determine if there are " "volumes mapped." msgstr "" -"ボリューム %(name)s がアレイ上に見つかりません。マップされるボリュームがある" -"かどうかを判別できません。" +"ボリューム %(name)s がアレイ上に見つかりません。マッピングされるボリュームが" +"あるかどうかを判別できません。" #, python-format msgid "Volume %(name)s was created in VNX, but in %(state)s state." @@ -8791,7 +8782,7 @@ #, python-format msgid "Volume %(volume_id)s is not currently mapped to host %(host)s" msgstr "" -"ボリューム %(volume_id)s は現在、ホスト %(host)s にマップされていません" +"ボリューム %(volume_id)s は現在、ホスト %(host)s にマッピングされていません" #, python-format msgid "Volume %(volume_id)s is still attached, detach volume first." @@ -8850,7 +8841,7 @@ #, python-format msgid "Volume %s is already part of an active migration." -msgstr "ボリューム %s は既にアクティブ・マイグレーションの一部になっています。" +msgstr "ボリューム %s は既にアクティブマイグレーションの一部になっています。" #, python-format msgid "" @@ -8936,7 +8927,7 @@ "様はありません。" msgid "Volume Type id must not be None." -msgstr "ボリューム・タイプ ID を None に設定することはできません。" +msgstr "ボリュームタイプ ID を None に設定することはできません。" #, python-format msgid "" @@ -8956,7 +8947,7 @@ #, python-format msgid "Volume backend config is invalid: %(reason)s" -msgstr "ボリューム・バックエンド構成が無効です: %(reason)s" +msgstr "ボリュームバックエンド構成が無効です: %(reason)s" msgid "Volume by this name already exists" msgstr "この名前のボリュームは既に存在します" @@ -8977,7 +8968,7 @@ #, python-format msgid "Volume driver %s not initialized." -msgstr "ボリューム・ドライバー %s が初期化されていません。" +msgstr "ボリュームドライバー %s が初期化されていません。" msgid "Volume driver not ready." msgstr "ボリュームドライバーが準備できていません。" @@ -9021,8 +9012,8 @@ "Volume metadata backup requested but this driver does not yet support this " "feature." msgstr "" -"ボリューム・メタデータ・バックアップが要求されましたが、このドライバーではま" -"だこの機能はサポートされていません。" +"ボリュームメタデータバックアップが要求されましたが、このドライバーではまだこ" +"の機能はサポートされていません。" #, python-format msgid "Volume migration failed: %(reason)s" @@ -9064,7 +9055,7 @@ "\"/\" が使用されている場合、名前を変更し、再度管理を試行してください。" msgid "Volume not found on configured storage pools." -msgstr "ボリュームが構成済みストレージ・プールに見つかりません。" +msgstr "ボリュームが構成済みストレージプールに見つかりません。" msgid "Volume not found." msgstr "ボリュームが見つかりません。" @@ -9094,8 +9085,8 @@ "Volume size %(volume_size)sGB cannot be smaller than the image minDisk size " "%(min_disk)sGB." msgstr "" -"ボリューム・サイズ %(volume_size)s GB をイメージの minDisk サイズ " -"%(min_disk)s GB より小さくすることはできません。" +"ボリュームサイズ %(volume_size)s GB をイメージの minDisk サイズ %(min_disk)s " +"GB より小さくすることはできません。" #, python-format msgid "Volume size '%(size)s' must be an integer and greater than 0" @@ -9108,18 +9099,18 @@ "Volume size '%(size)s'GB cannot be smaller than original volume size " "%(source_size)sGB. They must be >= original volume size." msgstr "" -"ボリューム・サイズ「%(size)s」GB を元のボリューム・サイズ %(source_size)s GB " -"より小さくすることはできません。このサイズは元のボリュームサイズ以上でなけれ" -"ばなりません。" +"ボリュームサイズ \"%(size)s\" GB を元のボリュームサイズ %(source_size)s GB よ" +"り小さくすることはできません。このサイズは元のボリュームサイズ以上でなければ" +"なりません。" #, python-format msgid "" "Volume size '%(size)s'GB cannot be smaller than the snapshot size " "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" -"ボリューム・サイズ「%(size)s」GB をスナップショット・サイズ %(snap_size)s GB " -"より小さくすることはできません。このサイズは元のスナップショット・サイズ以上" -"でなければなりません。" +"ボリュームサイズ「%(size)s」GB をスナップショットサイズ %(snap_size)s GB より" +"小さくすることはできません。このサイズは元のスナップショットサイズ以上でなけ" +"ればなりません。" msgid "Volume size increased since the last backup. Do a full backup." msgstr "" @@ -9161,7 +9152,7 @@ msgstr "ボリューム状況は「使用可能」でなければなりません。" msgid "Volume to Initiator Group mapping already exists" -msgstr "ボリュームからイニシエーター・グループへのマッピングは既に存在します" +msgstr "ボリュームからイニシエーターグループへのマッピングは既に存在します" #, python-format msgid "" @@ -9180,7 +9171,7 @@ #, python-format msgid "Volume type ID '%s' is invalid." -msgstr "ボリューム・タイプ ID '%s' は無効です。" +msgstr "ボリュームタイプ ID '%s' は無効です。" #, python-format msgid "" @@ -9200,7 +9191,7 @@ #, python-format msgid "Volume type does not match for share %s." -msgstr "共有 %s に関してボリューム・タイプが一致しません。" +msgstr "共有 %s に関してボリュームタイプが一致しません。" #, python-format msgid "Volume type encryption for type %(type_id)s already exists." @@ -9339,11 +9330,11 @@ "_create_host: Can not translate host name. Host name is not unicode or " "string." msgstr "" -"_create_host: ホスト名を変換できません。ホスト名はユニコードでもストリングで" +"_create_host: ホスト名を変換できません。ホスト名は Unicode でもバイト文字列で" "もありません。" msgid "_create_host: No connector ports." -msgstr "_create_host: コネクター・ポートがありません。" +msgstr "_create_host: コネクターポートがありません。" msgid "_create_local_cloned_volume, Replication Service not found." msgstr "" @@ -9617,8 +9608,8 @@ "_get_vdisk_map_properties: Could not get FC connection information for the " "host-volume connection. Is the host configured properly for FC connections?" msgstr "" -"_get_vdisk_map_properties: ホスト - ボリューム接続の FC 接続情報を取得できま" -"せんでした。ホストが FC 接続用に正しく構成されていますか?" +"_get_vdisk_map_properties: ホストとボリュームの接続について FC 接続情報を取得" +"できませんでした。ホストが FC 接続用に正しく構成されていますか。" #, python-format msgid "" @@ -9665,8 +9656,7 @@ "CIM_ProtocolControllerForUnit を ETERNUS に接続できません。" msgid "_update_volume_stats: Could not get storage pool data." -msgstr "" -"_update_volume_stats: ストレージ・プール・データを取得できませんでした。" +msgstr "_update_volume_stats: ストレージプールデータを取得できませんでした。" #, python-format msgid "" @@ -9712,8 +9702,8 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"バックアップ: %(vol_id)s での %(vpath)s から %(bpath)s へのデバイス・ハードリ" -"ンクの作成に失敗しました。\n" +"バックアップ: %(vol_id)s での %(vpath)s から %(bpath)s へのデバイスハードリン" +"クの作成に失敗しました。\n" " stdout: %(out)s\n" " stderr: %(err)s" @@ -9763,8 +9753,8 @@ "regular files supported, actual file mode is %(vol_mode)s." msgstr "" "バックアップ: %(vol_id)s に障害が発生しました。%(path)s は予期されていない" -"ファイル・タイプです。ブロック化または通常のファイルがサポートされています。" -"実際のファイル・モードは %(vol_mode)s です。" +"ファイルタイプです。ブロック化または通常のファイルがサポートされています。実" +"際のファイルモードは %(vol_mode)s です。" #, python-format msgid "" @@ -9801,7 +9791,7 @@ msgstr "拡張するボリュームが見つかりません" msgid "can't handle both name and index in req" -msgstr "req にある名前と索引はどちらも処理できません" +msgstr "req にある名前とインデックスはどちらも処理できません" msgid "cannot understand JSON" msgstr "JSON を解釈できません" @@ -9907,7 +9897,7 @@ msgstr "create_copy: ソース vdisk %(src)s は存在しません。" msgid "create_host: Host name is not unicode or string." -msgstr "create_host: ホスト名はユニコードでもストリングでもありません。" +msgstr "create_host: ホスト名は Unicode でもバイト文字列でもありません。" msgid "create_host: No initiators or wwpns supplied." msgstr "create_host: イニシエーターも wwpn も指定されていません。" @@ -9955,7 +9945,7 @@ "中」でなければなりません。無効な状況は %s です。" msgid "create_snapshot: get source volume failed." -msgstr "create_snapshot: ソース・ボリュームの取得に失敗しました。" +msgstr "create_snapshot: ソースボリュームの取得に失敗しました。" #, python-format msgid "" @@ -10013,7 +10003,7 @@ "create_volume_from_snapshot: Volume size is different from snapshot based " "volume." msgstr "" -"create_volume_from_snapshot: ボリューム・サイズがスナップショット・ベース・ボ" +"create_volume_from_snapshot: ボリュームサイズが、スナップショットベースボ" "リュームと異なります。" msgid "deduplicated and auto tiering can't be both enabled." @@ -10062,7 +10052,7 @@ msgstr "do_setup: 構成されたノードがありません。" msgid "element is not a child" -msgstr "エレメントは子ではありません" +msgstr "要素は子ではありません" msgid "eqlx_cli_max_retries must be greater than or equal to 0" msgstr "eqlx_cli_max_retries は 0 以上でなければなりません" @@ -10127,9 +10117,9 @@ "mapping. CMMVC6071E The VDisk-to-host mapping was not created because the " "VDisk is already mapped to a host." msgstr "" -"flashsystem_multihostmap_enabled は False に設定されています。マルチホスト・" -"マッピングは許可されていません。CMMVC6071E VDisk は既にホストにマップされてい" -"るため、VDisk からホストへのマッピングは作成されませんでした。" +"flashsystem_multihostmap_enabled は False に設定されています。マルチホスト" +"マッピングは許可されていません。CMMVC6071E VDisk は既にホストにマッピングされ" +"ているため、VDisk からホストへのマッピングは作成されませんでした。" msgid "flush() not supported in this version of librbd" msgstr "このバージョンの librbd では flush() はサポートされていません" @@ -10140,7 +10130,7 @@ #, python-format msgid "fmt=%(fmt)s backed by:%(backing_file)s" -msgstr "fmt=%(fmt)s の基盤: %(backing_file)s" +msgstr "fmt=%(fmt)s は %(backing_file)s でサポートされています" msgid "force delete" msgstr "強制削除" @@ -10172,7 +10162,7 @@ "belong to different file systems." msgstr "" "gpfs_images_share_mode は copy_on_write に設定されていますが、%(vol)s と " -"%(img)s は異なるファイル・システムに属しています。" +"%(img)s は異なるファイルシステムに属しています。" #, python-format msgid "" @@ -10180,7 +10170,7 @@ "belong to different filesets." msgstr "" "gpfs_images_share_mode は copy_on_write に設定されていますが、%(vol)s と " -"%(img)s は異なるファイル・セットに属しています。" +"%(img)s は異なるファイルセットに属しています。" #, python-format msgid "" @@ -10315,7 +10305,7 @@ #, python-format msgid "mkfs failed on volume %(vol)s, error message was: %(err)s." msgstr "" -"ボリューム %(vol)s 上で mkfs が失敗しました。エラー・メッセージ: %(err)s。" +"ボリューム %(vol)s 上で mkfs が失敗しました。エラーメッセージ: %(err)s。" msgid "mock" msgstr "モック" @@ -10460,12 +10450,12 @@ "保管されているオブジェクトリストと一致しません。" msgid "root element selecting a list" -msgstr "ルート・エレメントのリスト選択" +msgstr "ルート要素のリスト選択" #, python-format msgid "rtslib_fb is missing member %s: You may need a newer python-rtslib-fb." msgstr "" -"rtslib_fb にメンバー %s がありません: より新しい python-rtslib-fb が必要かも" +"rtslib_fb にメンバー %s がありません。より新しい python-rtslib-fb が必要かも" "しれません。" msgid "san_ip is not set." @@ -10514,7 +10504,7 @@ #, python-format msgid "source volume id:%s is not replicated" -msgstr "ソース・ボリューム ID %s が複製されていません" +msgstr "ソースボリューム ID %s が複製されていません" msgid "source-name cannot be empty." msgstr "source-name は空にできません。" diff -Nru cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po --- cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-error.po 2016-08-09 15:32:57.000000000 +0000 @@ -3,18 +3,18 @@ # This file is distributed under the same license as the cinder project. # # Translators: -# OpenStack Infra , 2015. #zanata -# SeYeon Lee , 2016. #zanata +# Sungjin Kang , 2016. #zanata +# skywalker54 , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev22\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-25 10:18+0000\n" +"Project-Id-Version: cinder 8.0.1.dev104\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-25 21:39+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-25 02:49+0000\n" -"Last-Translator: SeYeon Lee \n" +"PO-Revision-Date: 2016-07-27 02:13+0000\n" +"Last-Translator: skywalker54 \n" "Language: ko-KR\n" "Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.0\n" @@ -807,6 +807,10 @@ "호스트에서 장애 복구 중에 오류 발생: %(host)s 올바르지 않은 대상 ID " "%(backend_id)" +#, python-format +msgid "Error encountered during initialization of driver: %(name)s." +msgstr "드라이버를 초기화하는 동안 오류가 발생되었습니다 : %(name)s." + msgid "" "Error encountered on Cinder backend during thaw operation, service will " "remain frozen." @@ -1276,12 +1280,6 @@ msgid "Failed collecting name server info from fabric %s" msgstr "패브릭 %s에서 이름 서버 정보를 수집하는 데 실패" -msgid "Failed collecting nscamshow" -msgstr "nscamshow 수집 실패" - -msgid "Failed collecting nsshow info for fabric" -msgstr "패브릭의 nsshow 정보를 수집하는 데 실패" - #, python-format msgid "Failed collecting nsshow info for fabric %s" msgstr "패브릭 %s의 nsshow 정보를 수집하는 데 실패" diff -Nru cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po --- cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder-log-info.po 2016-08-09 15:32:57.000000000 +0000 @@ -3,18 +3,19 @@ # This file is distributed under the same license as the cinder project. # # Translators: -# OpenStack Infra , 2015. #zanata # SeYeon Lee , 2016. #zanata +# Sungjin Kang , 2016. #zanata +# skywalker54 , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev23\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-26 08:49+0000\n" +"Project-Id-Version: cinder 8.0.1.dev104\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-25 21:39+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-26 07:43+0000\n" -"Last-Translator: SeYeon Lee \n" +"PO-Revision-Date: 2016-07-27 02:14+0000\n" +"Last-Translator: skywalker54 \n" "Language: ko-KR\n" "Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.0\n" @@ -1436,6 +1437,10 @@ msgstr "호스트 %(host)s에 대해 이미지-볼륨 캐시가 사용되었습니다." #, python-format +msgid "ImageNotFound: Unable to unprotect snapshot %s." +msgstr "ImageNotFound: 스냅샷 %s 보호를 해제할 수 없습니다." + +#, python-format msgid "Import record id %s metadata from driver finished." msgstr "드라이버에서 레코드 id %s 메타데이터 가져오기가 완료되었습니다." @@ -1485,6 +1490,10 @@ msgstr "개시자 %(iname)s의 개시자 그룹 이름이 %(grp)s입니다." #, python-format +msgid "InvalidArgument: Unable to unprotect snapshot %s." +msgstr "InvalidArgument: 스냅샷 %s 보호를 해제할 수 없습니다." + +#, python-format msgid "LUN %(id)s extended to %(size)s GB." msgstr "LUN %(id)s이(가) %(size)sGB로 확장되었습니다." @@ -2362,6 +2371,10 @@ msgstr "볼륨 드라이버 %(driver_name)s (%(version)s) 시작" #, python-format +msgid "Starting volume driver %(driver_name)s (%(version)s)." +msgstr "볼륨 드라이버 %(driver_name)s (%(version)s) 시작" + +#, python-format msgid "Storage Group %(storageGroupName)s successfully deleted." msgstr "스토리지 그룹 %(storageGroupName)s이(가) 성공적으로 삭제되었습니다." @@ -2737,10 +2750,6 @@ msgid "Unable to serialize field '%s' - excluding from backup" msgstr "필드 '%s'을(를) 직렬화할 수 없음 - 백업에서 제외" -#, python-format -msgid "Unable to unprotect snapshot %s." -msgstr "스냅샷 %s의 보호를 해제할 수 없습니다." - msgid "Unable to update the metadata for volume, because it is in maintenance." msgstr "볼륨이 유지보수 중이므로 메타데이터를 업데이트할 수 없습니다." @@ -3161,7 +3170,7 @@ "_check_volume_copy_ops: Volume %(vol)s does not have the specified vdisk " "copy operation: orig=%(orig)s new=%(new)s." msgstr "" -"_check_volume_copy_ops:: 볼륨 %(vol)s에 지정된 vdisk 복사 조작이 없음: orig=" +"_check_volume_copy_ops: 볼륨 %(vol)s에 지정된 vdisk 복사 조작이 없음: orig=" "%(orig)s new=%(new)s." msgid "_delete_copysession, The copysession was already completed." diff -Nru cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/ko_KR/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/ko_KR/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,20 +7,20 @@ # NaleeJang , 2013 # Sungjin Kang , 2013 # Yongbok Kim , 2014 -# Lucas Palm , 2015. #zanata -# OpenStack Infra , 2015. #zanata -# Lucas Palm , 2016. #zanata +# Ian Y. Choi , 2016. #zanata # SeYeon Lee , 2016. #zanata +# Sungjin Kang , 2016. #zanata +# skywalker54 , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev22\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-25 10:18+0000\n" +"Project-Id-Version: cinder 8.0.1.dev104\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-25 21:39+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-25 06:57+0000\n" -"Last-Translator: SeYeon Lee \n" +"PO-Revision-Date: 2016-07-27 02:13+0000\n" +"Last-Translator: skywalker54 \n" "Language: ko-KR\n" "Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.0\n" @@ -134,11 +134,11 @@ #, python-format msgid "%(name)s has a minimum character requirement of %(min_length)s." -msgstr "%(name)s에 최소 문자 요구사항(%(min_length)s)이 있습니다." +msgstr "%(name)s 에 최소 문자 요구사항(%(min_length)s) 이 있습니다." #, python-format msgid "%(name)s has more than %(max_length)s characters." -msgstr "%(name)s의 문자 수가 %(max_length)s문자를 초과합니다." +msgstr "%(name)s 의 문자 수가 %(max_length)s 문자를 초과합니다." #, python-format msgid "" @@ -157,18 +157,18 @@ #, python-format msgid "%(value_name)s must be <= %(max_value)d" -msgstr "%(value_name)s은(는) %(max_value)d보다 작거나 같아야 함" +msgstr "%(value_name)s 은(는) %(max_value)d 보다 작거나 같아야 함" #, python-format msgid "%(value_name)s must be >= %(min_value)d" -msgstr "%(value_name)s은(는) >= %(min_value)d이어야 함. " +msgstr "%(value_name)s 은(는) >= %(min_value)d 이어야 함. " #, python-format msgid "" "%(worker_name)s value of %(workers)d is invalid, must be greater than 0." msgstr "" -"%(workers)d의 %(worker_name)s 값이 올바르지 않습니다. 이 값은 0보다 커야 합니" -"다." +"%(workers)d 의 %(worker_name)s 값이 올바르지 않습니다. 이 값은 0보다 커야 합" +"니다." #, python-format msgid "%s" @@ -213,7 +213,7 @@ #, python-format msgid "%s is not a string or unicode" -msgstr "%s이(가) 문자열 또는 Unicode가 아님" +msgstr "%s이(가) 문자열 또는 유니코드가 아닙니다" #, python-format msgid "%s is not installed" @@ -238,7 +238,7 @@ #, python-format msgid "%s must be a valid raw or qcow2 image." -msgstr "%s은(는) 유효한 원시 또는 qcow2 이미지여야 합니다. " +msgstr "%s은(는) 유효한 raw 또는 qcow2 이미지여야 합니다. " #, python-format msgid "%s must be an absolute path." @@ -246,7 +246,7 @@ #, python-format msgid "%s must be an integer." -msgstr "%s은(는) 정수여야 합니다." +msgstr "%s 은(는) 정수여야 합니다." #, python-format msgid "%s not set in cinder.conf" @@ -268,16 +268,16 @@ msgstr "스냅샷 정보를 기록할 때 '활성'이 있어야 합니다. " msgid "'consistencygroup_id' must be specified" -msgstr "'consistencygroup_id'를 지정해야 함" +msgstr "'consistencygroup_id' 를 지정해야 함" msgid "'qemu-img info' parsing failed." msgstr "'qemu-img info' 구문 분석에 실패했습니다. " msgid "'status' must be specified." -msgstr "'상태'가 지정되어야 합니다." +msgstr "'status' 가 지정되어야 합니다." msgid "'volume_id' must be specified" -msgstr "'volume_id'를 지정해야 함" +msgstr "'volume_id' 를 지정해야 함" msgid "'{}' object has no attribute '{}'" msgstr "'{}' 오브젝트에 '{}' 속성이 없음" @@ -292,7 +292,7 @@ #, python-format msgid "A LUN (HLUN) was not found. (LDEV: %(ldev)s)" -msgstr "A LUN(HLUN)을 찾을 수 없습니다.(LDEV: %(ldev)s)" +msgstr "LUN(HLUN)을 찾을 수 없습니다.(LDEV: %(ldev)s)" msgid "A concurrent, possibly contradictory, request has been made." msgstr "동시에 모순된 요청이 수행되었습니다." @@ -338,7 +338,7 @@ #, python-format msgid "A parameter value is invalid. (%(meta)s)" -msgstr "매개변수값이 올바르지 않습니다.(%(meta)s)" +msgstr "매개변수 값이 올바르지 않습니다.(%(meta)s)" #, python-format msgid "A pool could not be found. (pool id: %(pool_id)s)" @@ -383,7 +383,7 @@ #, python-format msgid "API version %(version)s is not supported on this method." -msgstr "API 버전 %(version)s에서는 이 메소드를 지원하지 않습니다.." +msgstr "API 버전 %(version)s 에서는 이 메서드를 지원하지 않습니다.." msgid "API version could not be determined." msgstr "API 버전을 판별할 수 없습니다." @@ -444,7 +444,7 @@ msgstr "SheepdogDriver에서 오류가 발생했습니다(이유: %(reason)s). " msgid "An error has occurred during backup operation" -msgstr "백업 조작 중에 오류가 발생함 " +msgstr "백업 동작 중에 오류가 발생함 " #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." @@ -581,7 +581,7 @@ #, python-format msgid "Backend doesn't exist (%(backend)s)" -msgstr "백엔드가 존재하지 않음(%(backend)s)" +msgstr "백엔드가 존재하지 않습니다 (%(backend)s)" msgid "Backend has already been failed over. Unable to fail back." msgstr "백엔드가 이미 장애 복구되었으므로, 장애 복구할 수 없습니다." @@ -601,7 +601,7 @@ #, python-format msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "백엔드 서비스 재시도 제한시간 도달: %(timeout)s초" +msgstr "백엔드 서비스 재시도 제한시간 도달: %(timeout)s 초" msgid "Backend storage did not configure fiber channel target." msgstr "백엔드 스토리지가 파이버 채널 대상을 구성하지 않았습니다." @@ -614,14 +614,14 @@ msgstr "%(backup_id)s 백업을 찾을 수 없습니다. " msgid "Backup RBD operation failed" -msgstr "백업 RBD 조작이 실패함 " +msgstr "백업 RBD 동작이 실패함 " msgid "Backup already exists in database." msgstr "데이터베이스에 이미 백업이 있습니다. " #, python-format msgid "Backup driver reported an error: %(message)s" -msgstr "백업 드라이버 오류 보고서: %(message)s" +msgstr "백업 드라이버가 오류를 보고하였습니다: %(message)s" msgid "Backup id required" msgstr "백업 ID 필요" @@ -633,13 +633,13 @@ msgstr "백업 파일 없는 SOFS 볼륨에 대해서만 백업이 지원됩니다." msgid "Backup is only supported for raw-formatted GlusterFS volumes." -msgstr "백업은 원시 형식화 GlusterFS 볼륨에 대해서만 지원됩니다." +msgstr "백업은 raw 포맷된 GlusterFS 볼륨에 대해서만 지원됩니다." msgid "Backup is only supported for raw-formatted SOFS volumes." msgstr "원시 형식화 SOFS 볼륨에 대해서만 백업이 지원됩니다." msgid "Backup operation of an encrypted volume failed." -msgstr "암호화된 볼륨의 백업 조작이 실패했습니다." +msgstr "암호화된 볼륨에 대한 백업 동작이 실패했습니다." #, python-format msgid "" @@ -669,7 +669,7 @@ msgstr "백업 상태는 사용 가능해야 하며 %s이(가) 아니어야 합니다." msgid "Backup status must be available or error" -msgstr "백업 상태는 사용 가능 또는 오류여야 함" +msgstr "백업 상태는 사용 가능 또는 오류여야 합니다" msgid "Backup to be restored has invalid size" msgstr "복원할 백업이 올바르지 않은 크기임" @@ -855,10 +855,6 @@ msgstr "배열에서 캐시 이름을 찾을 수 없음, 캐시 이름: %(name)s." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "db에서 lun id를 찾을 수 없음, 볼륨: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "배열에서 lun 정보를 찾을 수 없습니다. 볼륨: %(id)s, lun 이름: %(name)s." @@ -1094,7 +1090,7 @@ #, python-format msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s" msgstr "" -"이름이 %(name)s이고 스펙이 %(extra_specs)s인 volume_type을 작성할 수 없음" +"이름이 %(name)s이고 스펙이 %(extra_specs)s 인 volume_type을 작성할 수 없음" #, python-format msgid "Cannot delete LUN %s while snapshots exist." @@ -1134,8 +1130,8 @@ "Cannot find Controller Configuration Service for storage system " "%(storage_system)s." msgstr "" -"스토리지 시스템 %(storage_system)s에 대한 제어기 구성 서비스를 찾을 수 없습니" -"다." +"스토리지 시스템 %(storage_system)s에 대한 컨트롤러 구성 서비스를 찾을 수 없습" +"니다." #, python-format msgid "Cannot find Replication Service to create volume for snapshot %s." @@ -1151,7 +1147,7 @@ #, python-format msgid "Cannot find Volume: %(id)s. unmanage operation. Exiting..." -msgstr "볼륨: %(id)s을(를) 찾을 수 없습니다. 관리 해제 조작. 종료 중..." +msgstr "볼륨: %(id)s 을(를) 찾을 수 없습니다. 관리 해제 조작. 종료 중..." #, python-format msgid "Cannot find Volume: %(volumename)s. Extend operation. Exiting...." @@ -1235,8 +1231,8 @@ "Cannot provide both 'cgsnapshot_id' and 'source_cgid' to create consistency " "group %(name)s from source." msgstr "" -"소스에서 일관성 그룹 %(name)s을(를) 작성하는 데 필요한 'cgsnapshot_id'와 " -"'source_cgid'를 모두 제공할 수 없습니다. " +"소스에서 일관성 그룹 %(name)s 을(를) 작성하는 데 필요한 'cgsnapshot_id' 와 " +"'source_cgid' 를 모두 제공할 수 없습니다. " msgid "Cannot register resource" msgstr "자원을 등록할 수 없습니다. " @@ -1303,7 +1299,7 @@ #, python-format msgid "Cannot update volume_type %(id)s" -msgstr "volume_type %(id)s을(를) 업데이트할 수 없음" +msgstr "volume_type %(id)s 을(를) 업데이트할 수 없음" #, python-format msgid "Cannot verify the existence of object:%(instanceName)s." @@ -1314,13 +1310,13 @@ #, python-format msgid "CgSnapshot %(cgsnapshot_id)s could not be found." -msgstr "Cg 스냅샷 %(cgsnapshot_id)s을(를) 찾을 수 없습니다. " +msgstr "CgSnapshot %(cgsnapshot_id)s 을(를) 찾을 수 없습니다. " msgid "Cgsnahost is empty. No consistency group will be created." msgstr "Cgsnahost가 비어 있습니다. 일관성 그룹이 작성되지 않습니다. " msgid "Cgsnapshot status must be available or error" -msgstr "cg 스냅샷 상태는 사용 가능 또는 오류여야 함" +msgstr "Cgsnapshot 상태는 사용 가능 또는 오류여야 함" msgid "Change hostlun id error." msgstr "hostlun id 변경 오류." @@ -1334,7 +1330,7 @@ #, python-format msgid "" "Change would make usage less than 0 for the following resources: %(unders)s" -msgstr "이 변경으로 인해 %(unders)s 자원의 사용량이 0보다 적게 됩니다. " +msgstr "해당 변경으로 인해 %(unders)s 자원의 사용량이 0보다 적게 됩니다. " msgid "Check access permissions for the ZFS share assigned to this driver." msgstr "이 드라이버에 지정된 ZFS 공유에 대한 액세스 권한을 확인하십시오." @@ -1362,7 +1358,7 @@ "번호 중 하나인지도 확인하십시오." msgid "Chunk size is not multiple of block size for creating hash." -msgstr "청크 크기가 해시 작성을 위한 블록 크기의 배수가 아닙니다. " +msgstr "Chunk 크기가 해시 작성을 위한 블록 크기의 배수가 아닙니다. " #, python-format msgid "Cisco Fibre Channel Zoning CLI error: %(reason)s" @@ -1383,7 +1379,7 @@ msgid "" "Cluster is not formatted. You should probably perform \"dog cluster format\"." msgstr "" -"클러스터가 형식화되지 않았습니다. \"dog 클러스터 형식화\"를 수행해야 할 수 있" +"클러스터가 형식화되지 않았습니다. \"dog cluster format\" 를 수행해야 할 수 있" "습니다. " #, python-format @@ -1407,7 +1403,7 @@ msgid "Compression Enabler is not installed. Can not create compressed volume." msgstr "" -"압축 인에이블러가 설치되어 있지 않습니다. 압축된 볼륨을 작성할 수 없습니다." +"압축 enabler가 설치되어 있지 않습니다. 압축된 볼륨을 작성할 수 없습니다." #, python-format msgid "Compute cluster: %(cluster)s not found." @@ -1453,7 +1449,7 @@ #, python-format msgid "Connection to swift failed: %(reason)s" -msgstr "Swift 연결 실패: %(reason)s" +msgstr "Swift 연결에 실패하였습니다: %(reason)s" #, python-format msgid "Connector does not provide: %s" @@ -1491,7 +1487,7 @@ #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." -msgstr "일관성 그룹 %(consistencygroup_id)s을(를) 찾을 수 없습니다. " +msgstr "ConsistencyGroup %(consistencygroup_id)s 을(를) 찾을 수 없습니다. " msgid "Container" msgstr "컨테이너" @@ -1520,22 +1516,22 @@ #, python-format msgid "Converted to %(f1)s, but format is now %(f2)s" -msgstr "%(f1)s(으)로 변환되었지만 이제 형식이 %(f2)s임" +msgstr "%(f1)s (으)로 변환되었지만 이제 형식이 %(f2)s 임" #, python-format msgid "Converted to %(vol_format)s, but format is now %(file_format)s" -msgstr "%(vol_format)s(으)로 변환되었지만 이제 형식이 %(file_format)s임" +msgstr "%(vol_format)s(으)로 변환되었지만 이제 형식이 %(file_format)s 임" #, python-format msgid "Converted to raw, but format is now %s" -msgstr "원시로 변환되었지만 형식은 지금 %s임" +msgstr "Raw 로 변환되었지만 형식은 지금 %s임" #, python-format msgid "Converted to raw, but format is now %s." msgstr "원시로 변환되었지만 형식은 현재 %s입니다." msgid "Coordinator uninitialized." -msgstr "조정자가 초기화되지 않습니다." +msgstr "조정자가 초기화되지 않았습니다." #, python-format msgid "" @@ -1589,7 +1585,7 @@ #, python-format msgid "Could not find config at %(path)s" -msgstr "%(path)s에서 구성을 찾을 수 없음" +msgstr "%(path)s 에서 구성을 찾을 수 없음" #, python-format msgid "Could not find iSCSI export for volume %(volumeName)s." @@ -1628,7 +1624,7 @@ #, python-format msgid "Could not load paste app '%(name)s' from %(path)s" -msgstr "%(path)s에서 페이스트 앱 '%(name)s'을(를) 로드할 수 없음" +msgstr "%(path)s에서 paste app '%(name)s'을(를) 로드할 수 없음" #, python-format msgid "Could not read %s. Re-running with sudo" @@ -1665,16 +1661,16 @@ "Create backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"백업 작성 중단. 예상 백업 상태는 %(expected_status)s이지만 %(actual_status)s" -"인 동안에는 인스턴스 연관을 변경할 수 없습니다." +"백업 작성 중단. 예상 백업 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." #, python-format msgid "" "Create backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"백업 작성 중단. 예상 볼륨 상태는 %(expected_status)s이지만 %(actual_status)s" -"인 동안에는 인스턴스 연관을 변경할 수 없습니다." +"백업 작성 중단. 예상 볼륨 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." msgid "Create consistency group failed." msgstr "일관성 그룹을 생성하는 데 실패했습니다." @@ -1771,10 +1767,10 @@ "는 호스트 그룹에 있습니다. " msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "더 이상 사용되지 않음: Cinder API의 v1 배치" +msgstr "더 이상 사용되지 않음: Cinder API의 v1 배포" msgid "DEPRECATED: Deploy v2 of the Cinder API." -msgstr "더 이상 사용되지 않음: Cinder API의 v2 배치" +msgstr "더 이상 사용되지 않음: Cinder API의 v2 배포" #, python-format msgid "" @@ -1859,8 +1855,8 @@ msgid "" "Deduplication Enabler is not installed. Can not create deduplicated volume" msgstr "" -"중복 제거 인에이블러가 설치되어 있지 않습니다. 중복 제거된 볼륨을 작성할 수 " -"없습니다." +"중복 제거 enabler가 설치되어 있지 않습니다. 중복 제거된 볼륨을 작성할 수 없습" +"니다." msgid "Default pool name if unspecified." msgstr "기본 풀 이름입니다(지정되지 않은 경우). " @@ -1871,9 +1867,9 @@ "%(res)s, it is now deprecated. Please use the default quota class for " "default quota." msgstr "" -"%(res)s 자원에 대한 기본 할당량은 기본 할당량 플래그 quota_%(res)s에 의해 설" -"정됩니다. 이제 이 플래그는 더 이상 사용되지 않습니다. 기본 할당량에 기본 할당" -"량 클래스를 사용하십시오." +"%(res)s 자원에 대한 기본 할당량은 기본 할당량 플래그 quota_%(res)s 에 의해 설" +"정됩니다. 이제 해당 플래그는 더 이상 사용되지 않습니다. 기본 할당량에 기본 할" +"당량 클래스를 사용하십시오." msgid "Default volume type can not be found." msgstr "기본 볼륨 유형을 찾을 수 없습니다." @@ -1897,9 +1893,9 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"백업 삭제가 중단되었습니다. 현재 구성된 백업 서비스 [%(configured_service)s]" -"은(는) 이 백업 [%(backup_service)s]을(를) 작성하기 위해 사용된 백업 서비스가 " -"아닙니다." +"백업 삭제가 중단되었습니다. 현재 구성된 백업 서비스 [%(configured_service)s] " +"은(는) 이 백업 [%(backup_service)s] 을(를) 작성하기 위해 사용된 백업 서비스" +"가 아닙니다." msgid "Delete consistency group failed." msgstr "일관성 그룹 삭제에 실패했습니다. " @@ -1943,8 +1939,8 @@ "Delete_backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"Delete_backup 중단. 예상 백업 상태는 %(expected_status)s이지만 " -"%(actual_status)s인 동안에는 인스턴스 연관을 변경할 수 없습니다." +"Delete_backup 중단. 예상 백업 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." msgid "Deleting volume from database and skipping rpc." msgstr "데이터베이스에서 볼륨을 삭제하고 rpc를 건너뜁니다." @@ -1968,7 +1964,7 @@ "Dell Cinder 드라이버 구성 오류 replication_device %s을(를) 찾을 수 없음" msgid "Deploy v3 of the Cinder API." -msgstr "Cinder API의 v3 배치" +msgstr "Cinder API의 v3 배포" msgid "Describe-resource is admin only functionality" msgstr "Describe-resource 기능은 관리자만 사용가능" @@ -1994,7 +1990,7 @@ #, python-format msgid "Detected more than one volume with name %(vol_name)s" -msgstr "이름이 %(vol_name)s인 둘 이상의 볼륨을 발견했음" +msgstr "이름이 %(vol_name)s 인 둘 이상의 볼륨을 발견했음" #, python-format msgid "Did not find expected column in %(fun)s: %(hdr)s." @@ -2053,15 +2049,16 @@ "EMC VNX Cinder Driver CLI exception: %(cmd)s (Return Code: %(rc)s) (Output: " "%(out)s)." msgstr "" -"EMC VNX Cinder 드라이버 CLI 예외: %(cmd)s(리턴 코드: %(rc)s) (출력: %(out)s)." +"EMC VNX Cinder 드라이버 CLI 예외: %(cmd)s (리턴 코드: %(rc)s) (출력: " +"%(out)s)." #, python-format msgid "" "EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (Return Code: %(rc)s) " "(Output: %(out)s)." msgstr "" -"EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (리턴 코드: %(rc)s) (출" -"력: %(out)s)." +"EMC VNX Cinder 드라이버 SPUnavailableException: %(cmd)s (리턴 코드: %(rc)s) " +"(출력: %(out)s)." msgid "" "EcomServerIp, EcomServerPort, EcomUserName, EcomPassword must have valid " @@ -2075,8 +2072,8 @@ "Either 'cgsnapshot_id' or 'source_cgid' must be provided to create " "consistency group %(name)s from source." msgstr "" -"소스에서 일관성 그룹 %(name)s을(를) 작성하려면 'cgsnapshot_id' 또는 " -"'source_cgid'를 제공해야 합니다. " +"소스에서 일관성 그룹 %(name)s 을(를) 작성하려면 'cgsnapshot_id' 또는 " +"'source_cgid' 를 제공해야 합니다. " #, python-format msgid "" @@ -2504,7 +2501,7 @@ "Error associating storage group : %(storageGroupName)s. To fast Policy: " "%(fastPolicyName)s with error description: %(errordesc)s." msgstr "" -"%(storageGroupName)s 스토리지 그룹을 fast 정책 %(fastPolicyName)s과(와) 연관" +"%(storageGroupName)s 스토리지 그룹을 fast 정책 %(fastPolicyName)s 과(와) 연관" "시키는 중 오류 발생. 오류 설명: %(errordesc)s." #, python-format @@ -2522,7 +2519,7 @@ "%(error)s." msgid "Error connecting to ceph cluster." -msgstr "ceph 클러스터 연결 중에 오류가 발생했습니다. " +msgstr "Ceph 클러스터 연결 중에 오류가 발생했습니다. " #, python-format msgid "Error connecting via ssh: %s" @@ -2666,7 +2663,7 @@ #, python-format msgid "Error in SolidFire API response: data=%(data)s" -msgstr "SolidFire API 응답의 오류: 데이터=%(data)s" +msgstr "SolidFire API 응답의 오류: data=%(data)s" #, python-format msgid "Error in space-create for %(space)s of size %(size)d GB" @@ -2892,7 +2889,7 @@ #, python-format msgid "Error while requesting %(service)s API." -msgstr "%(service)s API를 요청하는 중 오류가 발생했습니다." +msgstr "%(service)s API를 요청하는 도중 오류가 발생했습니다." #, python-format msgid "Error while running zoning CLI: (command=%(cmd)s error=%(err)s)." @@ -2935,7 +2932,7 @@ "함" msgid "Exceeded the limit of snapshots per volume" -msgstr "볼륨당 스냅샷 한계를 초과함" +msgstr "볼륨당 스냅샷에 대한 제한을 초과하였습니다" #, python-format msgid "Exception appending meta volume to target volume %(volumename)s." @@ -2964,7 +2961,7 @@ #, python-format msgid "Expected a uuid but received %(uuid)s." -msgstr "uuid를 예상했지만 %(uuid)s을(를) 수신했습니다. " +msgstr "uuid를 예상했지만 %(uuid)s 을(를) 수신했습니다. " #, python-format msgid "Expected exactly one node called \"%s\"" @@ -2990,15 +2987,15 @@ #, python-format msgid "Expected volume size was %d" -msgstr "예상된 볼륨 크기는 %d이지만" +msgstr "예상되었던 볼륨 크기는 %d 입니다" #, python-format msgid "" "Export backup aborted, expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"백업 내보내기가 중단되었습니다. 예상 백업 상태는 %(expected_status)s이지만 " -"%(actual_status)s인 동안에는 인스턴스 연관을 변경할 수 없습니다." +"백업 내보내기가 중단되었습니다. 예상 백업 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." #, python-format msgid "" @@ -3023,8 +3020,8 @@ msgid "" "FAST VP Enabler is not installed. Can't set tiering policy for the volume" msgstr "" -"FAST VP 인에이블러가 설치되어 있지 않습니다. 볼륨에 대해 계층화 정책을 설정" -"할 수 없습니다." +"FAST VP enabler가 설치되어 있지 않습니다. 볼륨에 대해 계층화 정책을 설정할 " +"수 없습니다." msgid "FAST is not supported on this array." msgstr "이 배열에서는 FAST가 지원되지 않습니다." @@ -3045,7 +3042,7 @@ msgstr "패브릭=%(fabric)s에 대한 연결 추가 실패: 오류:%(err)s" msgid "Failed cgsnapshot" -msgstr "cg 스냅샷 실패" +msgstr "cgsnapshot 실패" #, python-format msgid "Failed creating snapshot for group: %(response)s." @@ -3113,12 +3110,13 @@ "Failed to assign the iSCSI initiator IQN. (port: %(port)s, reason: " "%(reason)s)" msgstr "" -"iSCSI 게시자 IQN을 지정하는 데 실패했습니다.(포트: %(port)s, 이유: " +"iSCSI 개시자 IQN을 지정하는 데 실패했습니다.(포트: %(port)s, 이유: " "%(reason)s)" #, python-format msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "qos_specs %(specs_id)s을(를) %(type_id)s 유형과 연관시키지 못했습니다." +msgstr "" +"qos_specs %(specs_id)s 을(를) %(type_id)s 유형과 연관시키지 못했습니다." #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." @@ -3152,7 +3150,7 @@ #, python-format msgid "Failed to connect to sheep daemon. addr: %(addr)s, port: %(port)s" -msgstr "sheep 디먼에 연결하지 못했습니다. 주소: %(addr)s, 포트: %(port)s" +msgstr "Sheep 데몬에 연결하지 못했습니다. 주소: %(addr)s, 포트: %(port)s" #, python-format msgid "Failed to copy image to volume: %(reason)s" @@ -3170,7 +3168,7 @@ #, python-format msgid "Failed to create CG %(cgName)s from snapshot %(cgSnapshot)s." -msgstr "스냅샷 %(cgSnapshot)s에서 CG %(cgName)s을(를) 작성하지 못했습니다. " +msgstr "스냅샷 %(cgSnapshot)s 에서 CG %(cgName)s을(를) 작성하지 못했습니다. " #, python-format msgid "Failed to create IG, %s" @@ -3181,7 +3179,7 @@ #, python-format msgid "Failed to create Volume Group: %(vg_name)s" -msgstr "볼륨 그룹을 작성할 수 없음: %(vg_name)s" +msgstr "볼륨 그룹을 작성할 수 없습니다: %(vg_name)s" #, python-format msgid "" @@ -3275,7 +3273,7 @@ #, python-format msgid "Failed to create qos_specs: %(name)s with specs %(qos_specs)s." msgstr "" -"%(qos_specs)s 스펙을 가진 qos_specs %(name)s을(를) 작성하지 못했습니다. " +"%(qos_specs)s 스펙을 가진 qos_specs %(name)s 을(를) 작성하지 못했습니다. " msgid "Failed to create replica." msgstr "복제본 작성에 실패했습니다. " @@ -3292,7 +3290,7 @@ #, python-format msgid "Failed to create snapshot for cg: %(cgName)s." -msgstr "cg의 스냅샷 작성 실패: %(cgName)s. " +msgstr "CG 스냅샷 작성 실패: %(cgName)s. " #, python-format msgid "Failed to create snapshot for volume %s." @@ -3389,7 +3387,7 @@ #, python-format msgid "Failed to delete snapshot for cg: %(cgId)s." -msgstr "cg의 스냅샷 삭제 실패: %(cgId)s. " +msgstr "CG 스냅샷 삭제 실패: %(cgId)s. " #, python-format msgid "Failed to delete snapshot for snapshot_id: %s because it has pair." @@ -3421,7 +3419,7 @@ #, python-format msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." msgstr "" -"qos_specs %(specs_id)s을(를) %(type_id)s 유형과 연관 해제시키지 못했습니다. " +"qos_specs %(specs_id)s 을(를) %(type_id)s 유형과 연관 해제시키지 못했습니다. " #, python-format msgid "" @@ -3431,6 +3429,9 @@ msgid "Failed to establish SSC connection." msgstr "SSC 연결 설정에 실패했습니다. " +msgid "Failed to establish a stable connection" +msgstr "안정된 연결을 맺는데 실패하였습니다" + msgid "Failed to establish connection with Coho cluster" msgstr "Coho 클러스터와 연결하는 데 실패" @@ -3446,7 +3447,7 @@ #, python-format msgid "Failed to export for volume: %(reason)s" -msgstr "볼륨에 대한 내보내기가 실패함: %(reason)s" +msgstr "볼륨에 대한 내보내기가 실패하였습니다: %(reason)s" #, python-format msgid "Failed to extend volume %(name)s, Error msg: %(msg)s." @@ -3525,7 +3526,7 @@ #, python-format msgid "Failed to get all associations of qos specs %s" -msgstr "qos 스펙 %s의 모든 연관을 가져오지 못함 " +msgstr "qos 스펙 %s 의 모든 연관을 가져오지 못함 " msgid "Failed to get channel info." msgstr "채널 정보를 가져오지 못했습니다. " @@ -3642,7 +3643,7 @@ "했습니다. " msgid "Failed to identify volume backend." -msgstr "볼륨 백엔드 식별 실패" +msgstr "볼륨 백엔드 식별을 실패했습니다." #, python-format msgid "Failed to link fileset for the share %(cgname)s. Error: %(excmsg)s." @@ -3837,7 +3838,8 @@ "Failed to perform a zero-page reclamation. (LDEV: %(ldev)s, reason: " "%(reason)s)" msgstr "" -"0 페이지 교정을 수행하는 데 실패했습니다.(LDEV: %(ldev)s, 이유: %(reason)s)" +"제로 페이지 교정을 수행하는 데 실패했습니다.(LDEV: %(ldev)s, 이유: " +"%(reason)s)" #, python-format msgid "Failed to remove export for volume %(volume)s: %(reason)s" @@ -3955,7 +3957,7 @@ #, python-format msgid "Failed to update qos_specs: %(specs_id)s with specs %(qos_specs)s." msgstr "" -"%(qos_specs)s 스펙을 가진 qos_specs %(specs_id)s을(를) 업데이트하지 못했습니" +"%(qos_specs)s 스펙을 가진 qos_specs %(specs_id)s 을(를) 업데이트하지 못했습니" "다. " msgid "Failed to update quota usage while retyping volume." @@ -4031,7 +4033,7 @@ #, python-format msgid "Fibre Channel Zone operation failed: %(reason)s" -msgstr "파이버 채널 구역 조작 실패: %(reason)s" +msgstr "파이버 채널 구역 동작 실패: %(reason)s" #, python-format msgid "Fibre Channel connection control failure: %(reason)s" @@ -4389,12 +4391,12 @@ "Glance metadata cannot be updated, key %(key)s exists for volume id " "%(volume_id)s" msgstr "" -"글랜스 메타데이터를 업데이트할 수 없음. 볼륨 ID %(volume_id)s에 대해 %(key)s " -"키가 있음" +"Glance 메타데이터를 업데이트할 수 없음. 볼륨 ID %(volume_id)s 에 대해 " +"%(key)s 키가 있음" #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." -msgstr "%(id)s 볼륨/스냅샷에 대한 글랜스 메타데이터를 찾을 수 없습니다. " +msgstr "%(id)s 볼륨/스냅샷에 대한 Glance 메타데이터를 찾을 수 없습니다. " #, python-format msgid "Gluster config file at %(config)s doesn't exist" @@ -4471,7 +4473,7 @@ #, python-format msgid "Host %s has no iSCSI initiator" -msgstr "%s 호스트에 iSCSI 개시자가 없음" +msgstr "%s 호스트에 iSCSI 초기자가 없음" #, python-format msgid "Host '%s' could not be found." @@ -4497,12 +4499,12 @@ #, python-format msgid "Host not found. Failed to remove %(service)s on %(host)s." msgstr "" -"호스트를 찾을 수 없습니다. %(host)s에서 %(service)s을(를) 제거하지 못했습니" +"호스트를 찾을 수 없습니다. %(host)s 에서 %(service)s 을(를) 제거하지 못했습니" "다. " #, python-format msgid "Host replication_status must be %s to failover." -msgstr "장애 보구하려면 호스트 replication_status가 %s이어야 합니다." +msgstr "장애 복구하려면 호스트 replication_status가 %s이어야 합니다." #, python-format msgid "Host type %s not supported." @@ -4571,7 +4573,7 @@ #, python-format msgid "Image %(image_id)s is unacceptable: %(reason)s" -msgstr "%(image_id)s 이미지는 허용할 수 없음: %(reason)s" +msgstr "%(image_id)s 이미지는 허용되지 않습니다: %(reason)s" msgid "Image location not present." msgstr "이미지 위치가 없습니다." @@ -4589,7 +4591,7 @@ "by a connection from a client that has crashed and, if so, may be resolved " "by retrying the delete after 30 seconds has elapsed." msgstr "" -"rbd 볼륨 삭제 중 ImageBusy 오류가 발생했습니다. 이는 충돌한 클라이언트로부터" +"RDB 볼륨 삭제 중 ImageBusy 오류가 발생했습니다. 이는 충돌한 클라이언트로부터" "의 연결로 인해 발생했을 수 있습니다. 이러한 경우 30초 후 삭제를 재시도하여 문" "제를 해결할 수도 있습니다." @@ -4615,7 +4617,7 @@ "Infortrend CLI exception: %(err)s Param: %(param)s (Return Code: %(rc)s) " "(Output: %(out)s)" msgstr "" -"Infortrend CLI 예외: %(err)s 매개변수: %(param)s(리턴 코드: %(rc)s) (출력: " +"Infortrend CLI 예외: %(err)s 매개변수: %(param)s (리턴 코드: %(rc)s) (출력: " "%(out)s)" msgid "Initial tier: {}, policy: {} is not valid." @@ -4651,21 +4653,21 @@ #, python-format msgid "Invalid 3PAR Domain: %(err)s" -msgstr "3PAR 도메인이 잘못되었습니다: %(err)s" +msgstr "올바르지 않은 3PAR 도메인입니다: %(err)s" msgid "Invalid ALUA value. ALUA value must be 1 or 0." msgstr "ALUA 값이 올바르지 않습니다. ALUA 값은 1 또는 0이어야 합니다. " msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "백업 rbd 조작에 올바르지 않은 Ceph 인수가 제공됨 " +msgstr "백업 rbd 동작에 올바르지 않은 Ceph 인수가 제공됨 " #, python-format msgid "Invalid CgSnapshot: %(reason)s" -msgstr "올바르지 않은 Cg 스냅샷: %(reason)s" +msgstr "올바르지 않은 CgSnapshot: %(reason)s" #, python-format msgid "Invalid ConsistencyGroup: %(reason)s" -msgstr "올바르지 않은 일관성 그룹: %(reason)s" +msgstr "올바르지 않은 ConsistencyGroup: %(reason)s" msgid "" "Invalid ConsistencyGroup: Consistency group status must be available or " @@ -4679,8 +4681,8 @@ "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." msgstr "" -"올바르지 않은 일관성 그룹: 일관성 그룹 상태가 사용 가능이어야 하지만현재 상태" -"가 %s입니다. " +"올바르지 않은 일관성 그룹: 일관성 그룹 상태가 사용 가능이어야 하지만 현재 상" +"태가 %s입니다. " msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "올바르지 않은 일관성 그룹: 일관성 그룹을 작성할 호스트가 없음" @@ -4743,11 +4745,11 @@ #, python-format msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." -msgstr "볼륨 %(volume_id)s의 연결 모드 '%(mode)s'가 잘못 되었습니다." +msgstr "볼륨 %(volume_id)s 에 대한 연결 모드 '%(mode)s' 가 올바르지 않습니다." #, python-format msgid "Invalid auth key: %(reason)s" -msgstr "잘못된 인증 키: %(reason)s" +msgstr "올바르지 않은 인증 키: %(reason)s" #, python-format msgid "Invalid backup: %(reason)s" @@ -4759,10 +4761,10 @@ "[:port]/' url specified is: %s" msgstr "" "올바르지 않은 barbican api url: 버전이 필요합니다(예: 'http[s]://|" -"[:port]/') 지정된 url은 %s입니다." +"[:port]/') 지정된 url은 %s 입니다." msgid "Invalid cgsnapshot" -msgstr "올바르지 않은 cg 스냅샷" +msgstr "올바르지 않은 cgsnapshot" msgid "Invalid chap user details found in CloudByte storage." msgstr "" @@ -4806,7 +4808,7 @@ #, python-format msgid "Invalid host: %(reason)s" -msgstr "잘못된 호스트: %(reason)s" +msgstr "올바르지 않은 호스트: %(reason)s" #, python-format msgid "" @@ -4846,7 +4848,7 @@ #, python-format msgid "Invalid input received: %(reason)s" -msgstr "잘못된 입력을 받음: %(reason)s" +msgstr "올바르지 않은 입력을 받음: %(reason)s" #, python-format msgid "Invalid is_public filter [%s]" @@ -4858,11 +4860,11 @@ #, python-format msgid "Invalid metadata size: %(reason)s" -msgstr "잘못된 메타데이터 크기: %(reason)s" +msgstr "올바르지 않은 메타데이터 크기: %(reason)s" #, python-format msgid "Invalid metadata: %(reason)s" -msgstr "잘못된 메타데이터: %(reason)s" +msgstr "올바르지 않은 메타데이터: %(reason)s" #, python-format msgid "Invalid mount point base: %s" @@ -4900,11 +4902,11 @@ "be 'rw' or 'ro'" msgstr "" "올바르지 않은 모드로 볼륨을 접속하는 유효하지 않은 요청입니다. 접속 모드는 " -"'rw' 또는 'ro'여야 합니다. " +"'rw' 또는 'ro' 여야 합니다. " #, python-format msgid "Invalid reservation expiration %(expire)s." -msgstr "올바르지 않은 예약 만기 %(expire)s." +msgstr "올바르지 않은 예약 만료 %(expire)s." msgid "Invalid response header from RPC server" msgstr "RPC 서버의 올바르지 않은 응답 헤더" @@ -4927,7 +4929,7 @@ #, python-format msgid "Invalid snapshot: %(reason)s" -msgstr "잘못된 스냅샷: %(reason)s" +msgstr "올바르지 않은 스냅샷: %(reason)s" #, python-format msgid "Invalid status: '%s'" @@ -4966,32 +4968,32 @@ #, python-format msgid "Invalid value '%s' for force." -msgstr "강제 실행에 대한 올바르지 않은 값 '%s'입니다. " +msgstr "강제 실행에 대한 올바르지 않은 값 '%s' 입니다. " #, python-format msgid "Invalid value '%s' for force. " -msgstr "강제 실행에 대한 올바르지 않은 값 '%s'입니다. " +msgstr "강제 실행에 대한 올바르지 않은 값 '%s' 입니다. " #, python-format msgid "Invalid value '%s' for is_public. Accepted values: True or False." msgstr "" -"is_public에 대해 값 '%s'이(가) 올바르지 않습니다. 승인된 값: True 또는 False." +"is_public에 대해 값 '%s' 이(가) 올바르지 않습니다. 허용 값: True 또는 False." #, python-format msgid "Invalid value '%s' for skip_validation." -msgstr "skip_validation에 대한 값 '%s'이(가) 올바르지 않습니다. " +msgstr "skip_validation에 대한 값 '%s' 이(가) 올바르지 않습니다. " #, python-format msgid "Invalid value for 'bootable': '%s'" -msgstr "'부트 가능'에 대한 값이 올바르지 않음: '%s'" +msgstr "'bootable' 에 대한 값이 올바르지 않음: '%s'" #, python-format msgid "Invalid value for 'force': '%s'" -msgstr "'강제 실행'에 대해 값이 올바르지 않음: '%s'" +msgstr "'force' 에 대해 값이 올바르지 않음: '%s'" #, python-format msgid "Invalid value for 'readonly': '%s'" -msgstr "'읽기 전용'에 대한 값이 올바르지 않음: '%s'" +msgstr "'readonly' 에 대한 값이 올바르지 않음: '%s'" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" msgstr "'scheduler_max_attempts'에 대한 올바르지 않은 값, >= 1이어야 함" @@ -5020,11 +5022,11 @@ #, python-format msgid "Invalid volume type: %(reason)s" -msgstr "잘못된 볼륨 종류: %(reason)s" +msgstr "올바르지 않은 볼륨 유형: %(reason)s" #, python-format msgid "Invalid volume: %(reason)s" -msgstr "잘못된 볼륨: %(reason)s" +msgstr "올바르지 않은 볼륨: %(reason)s" #, python-format msgid "" @@ -5078,8 +5080,8 @@ "Invalid volume_type provided: %s (requested type is not compatible; " "recommend omitting the type argument)." msgstr "" -"올바르지 않은 volume_type이 제공됨: %s(요청된 유형이 호환 가능하지 않음, 유" -"형 인수를 생략하도록 권장함)" +"올바르지 않은 volume_type이 제공됨: %s (요청된 유형이 호환 가능하지 않음, 유" +"형 인수를 생략하도록 권장함)." #, python-format msgid "" @@ -5184,7 +5186,7 @@ msgstr "소스 볼륨의 링크된 복제본이 다음 상태에서 지원되지 않음: %s" msgid "Lock acquisition failed." -msgstr "잠금 확보에 실패했습니다." +msgstr "잠금 획득에 실패했습니다." msgid "Logout session error." msgstr "로그아웃 세션 오류." @@ -5241,7 +5243,7 @@ #, python-format msgid "Malformed response to command %(cmd)s: %(reason)s" -msgstr "%(cmd)s 명령에 대해 양식이 잘못된 응답: %(reason)s" +msgstr "%(cmd)s 명령어에 대한 손상된 응답: %(reason)s" msgid "Malformed scheduler_hints attribute" msgstr "형식이 틀린 scheduler_hints 속성" @@ -5275,8 +5277,8 @@ "Manage existing volume failed due to invalid backend reference " "%(existing_ref)s: %(reason)s" msgstr "" -"올바르지 않은 백엔드 참조로 인해 기존 볼륨 관리에 실패함 %(existing_ref)s: " -"%(reason)s" +"올바르지 않은 백엔드 참조 %(existing_ref)s 로 인해 기존 볼륨 관리를 실패하였" +"습니다: %(reason)s" #, python-format msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" @@ -5316,18 +5318,19 @@ #, python-format msgid "Maximum number of backups allowed (%(allowed)d) exceeded" -msgstr "허용된 최대 백업 수(%(allowed)d)를 초과함" +msgstr "허용된 최대 백업 수(%(allowed)d) 를 초과함" #, python-format msgid "Maximum number of snapshots allowed (%(allowed)d) exceeded" -msgstr "허용된 최대 스냅샷 수 (%(allowed)d)을(를) 초과함" +msgstr "허용된 최대 스냅샷 수 (%(allowed)d) 을(를) 초과함" #, python-format msgid "" "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." msgstr "" -"할당량 '%(name)s'에 대해 허용된 최대 볼륨 수(%(allowed)d)가 초과되었습니다. " +"할당량 '%(name)s' 에 대해 허용된 최대 볼륨 수(%(allowed)d) 를 초과하였습니" +"다. " #, python-format msgid "May specify only one of %s" @@ -5387,7 +5390,7 @@ msgstr "LUN %s의 마이그레이션이 중지되었거나 결함이 발생했습니다." msgid "MirrorView/S enabler is not installed." -msgstr "MirrorView/S 인에이블러가 설치되지 않았습니다." +msgstr "MirrorView/S enabler가 설치되지 않았습니다." msgid "" "Missing 'purestorage' python module, ensure the library is installed and " @@ -5411,13 +5414,13 @@ #, python-format msgid "Missing required element '%s' in request body." -msgstr "요청 본문에서 필수 요소 '%s'이(가) 누락되었습니다. " +msgstr "요청 본문에서 필수 요소 '%s' 이(가) 누락되었습니다. " msgid "Missing required element 'consistencygroup' in request body." -msgstr "요청 본문에 필수 요소 'consistencygroup'이 누락되었습니다. " +msgstr "요청 본문에 필수 요소 'consistencygroup' 이 누락되었습니다. " msgid "Missing required element 'host' in request body." -msgstr "요청 본문에 필수 요소 '호스트'가 누락되었습니다. " +msgstr "요청 본문에 필수 요소 'host' 가 누락되었습니다. " msgid "Missing required element quota_class_set in request body." msgstr "요청 본문에서 필수 요소 quota_class_set가 누락되었습니다." @@ -5439,7 +5442,7 @@ #, python-format msgid "Multiple matches found for '%s', use an ID to be more specific." msgstr "" -"'%s'에 대한 일치를 여러 개 찾았습니다. 더 구체적인 검색을 위해 ID를 사용하십" +"'%s' 에 대한 일치를 여러 개 찾았습니다. 더 구체적인 검색을 위해 ID를 사용하십" "시오." msgid "Multiple profiles found." @@ -5474,19 +5477,19 @@ "사용하여 클라우드 관리자로 이 명령을 실행해야 합니다." msgid "Must specify 'connector'" -msgstr "'커넥터'를 지정해야 함" +msgstr "'connector' 를 지정해야 함" msgid "Must specify 'connector'." -msgstr "'커넥터'를 지정해야 합니다. " +msgstr "'connector' 를 지정해야 합니다. " msgid "Must specify 'host'." -msgstr "'호스트'를 지정해야 합니다. " +msgstr "'host' 를 지정해야 합니다. " msgid "Must specify 'new_volume'" -msgstr "'new_volume'을 지정해야 함" +msgstr "'new_volume' 을 지정해야 함" msgid "Must specify 'status'" -msgstr "'상태'를 지정해야 함" +msgstr "'status' 를 지정해야 함" msgid "" "Must specify 'status', 'attach_status' or 'migration_status' for update." @@ -5575,8 +5578,8 @@ "Name, description, add_volumes, and remove_volumes can not be all empty in " "the request body." msgstr "" -"요청 본문에서 이름, 설명, add_volumes 및 remove_volumes이 모두비어 있을 수 없" -"습니다. " +"요청 본문에서 이름, 설명, add_volumes 및 remove_volumes이 모두 비어 있을 수 " +"없습니다. " msgid "Need non-zero volume size" msgstr "0이 아닌 볼륨 크기가 필요함" @@ -5586,7 +5589,7 @@ msgstr "MSG_DENIED와 MSG_ACCEPTED가 모두 아님: %r" msgid "NetApp Cinder Driver exception." -msgstr "NetApp Cinder Driver 예외." +msgstr "NetApp Cinder 드라이버 예외." #, python-format msgid "" @@ -5623,6 +5626,10 @@ msgid "No FC initiator can be added to host." msgstr "FC 개시자를 호스트에 추가할 수 없습니다." +#, python-format +msgid "No FC port can be used for LUN %s." +msgstr "LUN %s에 대한 FC 포트가 사용될수 없습니다." + msgid "No FC port connected to fabric." msgstr "FC 포트가 패브릭에 연결되지 않았습니다." @@ -5636,7 +5643,7 @@ msgstr "구성 파일에 VF ID가 정의되지 않았습니다." msgid "No active iSCSI portals with supplied iSCSI IPs" -msgstr "제공된 iSCSI IP를 가진 활성 iSCSI 포털이 없음" +msgstr "제공된 iSCSI IP를 가진 활성 iSCSI 포털이 없습니다" #, python-format msgid "No available service named %s" @@ -5644,7 +5651,7 @@ #, python-format msgid "No backup with id %s" -msgstr "ID가 %s인 백업이 없음" +msgstr "ID가 %s 인 백업이 없음" msgid "No backups available to do an incremental backup." msgstr "증분 백업을 수행할 수 있는 백업이 없습니다. " @@ -5654,7 +5661,7 @@ #, python-format msgid "No cgsnapshot with id %s" -msgstr "ID가 %s인 cg 스냅샷이 없음" +msgstr "ID가 %s 인 cg 스냅샷이 없음" msgid "No cinder entries in syslog!" msgstr "syslog에 cinder 항목이 없습니다!" @@ -5668,7 +5675,7 @@ #, python-format msgid "No consistency group with id %s" -msgstr "ID가 %s인 일관성 그룹이 없음" +msgstr "ID가 %s 인 일관성 그룹이 없음" #, python-format msgid "No element by given name %s." @@ -5757,7 +5764,7 @@ msgstr "마운트된 Virtuozzo 스토리지 공유를 찾을 수 없습니다. " msgid "No mounted shares found" -msgstr "마운트된 공유를 찾을 수 없음" +msgstr "마운트된 공유를 찾을 수 없습니다" #, python-format msgid "No node found in I/O group %(gid)s for volume %(vol)s." @@ -5809,7 +5816,7 @@ #, python-format msgid "No such QoS spec %(specs_id)s." -msgstr "해당하는 QoS 스펙 %(specs_id)s이(가) 없습니다. " +msgstr "해당하는 QoS 스펙 %(specs_id)s 이(가) 없습니다. " msgid "No suitable discovery ip found" msgstr "적합한 발견 ip를 찾을 수 없음" @@ -5832,7 +5839,7 @@ #, python-format msgid "No valid host was found. %(reason)s" -msgstr "유효한 호스트가 없습니다. %(reason)s" +msgstr "유효한 호스트를 찾지 못했습니다. %(reason)s" #, python-format msgid "No valid hosts for volume %(id)s with type %(type)s" @@ -5879,7 +5886,7 @@ msgstr "볼륨: %s에 적합한 데이터베이스를 찾을 수 없습니다." msgid "Not an rbd snapshot" -msgstr "rbd 스냅샷이 아님" +msgstr "RDB 스냅샷이 아님" #, python-format msgid "Not authorized for image %(image_id)s." @@ -5890,38 +5897,38 @@ #, python-format msgid "Not enough space on backend (%(backend)s)" -msgstr "백엔드(%(backend)s)에 공간이 충분하지 않음" +msgstr "백엔드(%(backend)s) 에 공간이 충분하지 않습니다" msgid "Not enough storage space in the ZFS share to perform this operation." msgstr "ZFS 공유에서 이 조작을 수행하는 데 필요한 스토리지 공간이 부족합니다." msgid "Not stored in rbd" -msgstr "rbd에 저장되지 않음" +msgstr "RDB에 저장되지 않음" msgid "Nova returned \"error\" status while creating snapshot." msgstr "스냅샷을 작성하는 동안 Nova에서 \"오류\" 상태를 리턴함. " msgid "Null response received from CloudByte's list filesystem." -msgstr "CloudByte의 목록 파일 시스템에서 널 응답을 수신했습니다." +msgstr "CloudByte의 목록 파일 시스템에서 null 응답을 수신했습니다." msgid "Null response received from CloudByte's list iscsi auth groups." msgstr "CloudByte의 목록 iscsi 인증 그룹에서 널 응답이 수신되었습니다. " msgid "Null response received from CloudByte's list iscsi initiators." -msgstr "CloudByte의 목록 iscsi 개시자로부터 널 응답을 수신했습니다." +msgstr "CloudByte의 목록 iscsi 개시자로부터 null 응답을 수신했습니다." msgid "Null response received from CloudByte's list volume iscsi service." -msgstr "CloudByte의 목록 볼륨 iscsi 서비스에서 널 응답을 수신했습니다." +msgstr "CloudByte의 목록 볼륨 iscsi 서비스에서 null 응답을 수신했습니다." #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." msgstr "" -"CloudByte 스토리지에서 볼륨 [%s]을(를) 작성하는 중 널 응답을 수신했습니다." +"CloudByte 스토리지에서 볼륨 [%s]을(를) 작성하는 중 null 응답을 수신했습니다." #, python-format msgid "Null response received while deleting volume [%s] at CloudByte storage." msgstr "" -"CloudByte 스토리지에서 볼륨[%s]을 삭제하는 중에 널 응답이 수신되었습니다. " +"CloudByte 스토리지에서 볼륨[%s]을 삭제하는 중에 null 응답이 수신되었습니다. " #, python-format msgid "" @@ -5929,13 +5936,13 @@ "[%(job)s] at CloudByte storage." msgstr "" "CloudByte 스토리지에서 [%(operation)s] 기반 작업 [%(job)s]에 대해 조회하는 중" -"에 널 응답이 수신되었습니다. " +"에 null 응답이 수신되었습니다. " msgid "Number of retries if connection to ceph cluster failed." msgstr "ceph 클러스터에 대한 연결에 실패한 경우 재시도 횟수입니다. " msgid "Object Count" -msgstr "오브젝트 카운트" +msgstr "오브젝트 개수" msgid "Object Version" msgstr "오브젝트 버전" @@ -5956,7 +5963,7 @@ "running mixed Liberty-Mitaka cinder-volumes?" msgstr "" "cinder-volume 서비스 중 하나가 너무 오래되어 이러한 요청을 승인할 수 없습니" -"다. 혼합된 Liberty-Mitaka cinder-볼륨을 사용 중입니까?" +"다. 혼합된 Liberty-Mitaka cinder-volume 을 사용 중입니까?" msgid "One of the required inputs from host, port or scheme was not found." msgstr "호스트, 포트 또는 스키마에서 필요한 입력 중 하나를 찾을 수 없습니다." @@ -5966,7 +5973,7 @@ "Only %(value)s %(verb)s request(s) can be made to %(uri)s every " "%(unit_string)s." msgstr "" -"%(value)s %(verb)s 요청만이 %(unit_string)s마다 %(uri)s에 적용될 수 있습니" +"%(value)s %(verb)s 요청만이 %(unit_string)s 마다 %(uri)s 에 적용될 수 있습니" "다. " msgid "Only one limit can be set in a QoS spec." @@ -5984,11 +5991,12 @@ #, python-format msgid "Operation failed with status=%(status)s. Full dump: %(data)s" -msgstr "조작이 상태=%(status)s과(와) 함께 실패했습니다. 전체 덤프: %(data)s" +msgstr "" +"동작 실패가 status=%(status)s 과(와) 함께 발생하였습니다. 전체 덤프: %(data)s" #, python-format msgid "Operation not supported: %(operation)s." -msgstr "조작이 지원되지 않음: %(operation)s." +msgstr "동작이 지원되지 않음: %(operation)s." msgid "Option gpfs_images_dir is not set correctly." msgstr "gpfs_images_dir 옵션이 올바르게 설정되지 않았습니다. " @@ -6044,7 +6052,7 @@ #, python-format msgid "Policy doesn't allow %(action)s to be performed." -msgstr "정책이 %(action)s이(가) 수행되도록 허용하지 않습니다. " +msgstr "정책이 %(action)s 이(가) 수행되도록 허용하지 않습니다. " #, python-format msgid "Pool %(poolNameInStr)s is not found." @@ -6056,7 +6064,7 @@ #, python-format msgid "Pool from volume['host'] %(host)s not found." -msgstr "volume['host'] %(host)s의 풀을 찾을 수 없습니다. " +msgstr "volume['host'] %(host)s 의 풀을 찾을 수 없습니다. " #, python-format msgid "Pool from volume['host'] failed with: %(ex)s." @@ -6105,7 +6113,8 @@ #, python-format msgid "Project quotas are not properly setup for nested quotas: %(reason)s." -msgstr "중첩된 할당량에 맞게 프로젝트 할당량이 설정되지 않음: %(reason)s." +msgstr "" +"중첩된 할당량에 맞게 프로젝트 할당량이 설정되지 않았습니다: %(reason)s." msgid "Protection Group not ready." msgstr "보호 그룹이 준비되지 않았습니다." @@ -6146,7 +6155,7 @@ #, python-format msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "QoS 스펙 %(specs_id)s이(가) 엔티티와 연관되어 있습니다. " +msgstr "QoS 스펙 %(specs_id)s 이(가) 엔티티와 연관되어 있습니다. " #, python-format msgid "QoS config is wrong. %s must > 0." @@ -6173,7 +6182,7 @@ #, python-format msgid "QoS spec %(specs_id)s has no spec with key %(specs_key)s." -msgstr "QoS 스펙 %(specs_id)s에 %(specs_key)s 키를 갖는 스펙이 없습니다. " +msgstr "QoS 스펙 %(specs_id)s 에 %(specs_key)s 키를 갖는 스펙이 없습니다. " msgid "QoS specs are not supported on this storage family and ONTAP version." msgstr "QoS 스펙이 이 스토리지 제품군 및 ONTAP 버전에서 지원되지 않습니다. " @@ -6186,7 +6195,7 @@ "instead." msgstr "" "서비스 매개변수에 의한 조회가 더 이상 사용되지 않습니다. 2진 매개변수를 사용" -"하십시오. 삭제 중입니다. " +"하십시오." msgid "Query resource pool error." msgstr "자원 풀 조회 오류입니다. " @@ -6208,7 +6217,7 @@ #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "할당량 초과: 코드=%(code)s" +msgstr "할당량을 초과하였습니다: code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." @@ -6219,8 +6228,8 @@ "Quota limit invalid for project '%(proj)s' for resource '%(res)s': limit of " "%(limit)d is less than in-use value of %(used)d" msgstr "" -"'%(res)s' 자원의 프로젝트 '%(proj)s'에 대한 할당량 한계가 올바르지 않음: " -"%(limit)d의 한계가 사용 중인 값 %(used)d보다 적음" +"'%(res)s' 자원의 프로젝트 '%(proj)s' 에 대한 할당량 한계가 올바르지 않습니" +"다: %(limit)d 의 한계가 사용 중인 값 %(used)d 보다 적습니다" #, python-format msgid "Quota reservation %(uuid)s could not be found." @@ -6261,7 +6270,7 @@ "Reach limitation set by configuration option max_luns_per_storage_group. " "Operation to add %(vol)s into Storage Group %(sg)s is rejected." msgstr "" -"구성 옵션 max_luns_per_storage_group으로 설정된 제한사항에 도달합니다.스토리" +"구성 옵션 max_luns_per_storage_group으로 설정된 제한 사항에 도달합니다.스토리" "지 그룹 %(sg)s에 %(vol)s을(를) 추가하는 조작이 거부됩니다." #, python-format @@ -6421,7 +6430,7 @@ "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" "요청된 백업이 허용된 백업 기가바이트 할당량을 초과합니다. 요청된 크기는 " -"%(requested)sG이고 할당량은 %(quota)sG이며 %(consumed)sG가 이용되었습니다." +"%(requested)sG 이고 할당량은 %(quota)sG 이며 %(consumed)sG 가 이용되었습니다." #, python-format msgid "" @@ -6429,14 +6438,14 @@ "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" "요청된 볼륨 또는 스냅샷이 허용된 %(name)s 할당량을 초과합니다. 요청된 크기는 " -"%(requested)sG이고 할당량은 %(quota)sG이며 %(consumed)sG가 이용되었습니다." +"%(requested)sG 이고 할당량은 %(quota)sG 이며 %(consumed)sG 가 사용되었습니다." #, python-format msgid "" "Requested volume size %(size)d is larger than maximum allowed limit " "%(limit)d." msgstr "" -"요청된 볼륨 크기 %(size)d이(가) 허용된 최대 한계 %(limit)d보다 큽니다. " +"요청된 볼륨 크기 %(size)d 이(가) 허용된 최대 한계 %(limit)d 보다 큽니다. " msgid "Required configuration not found" msgstr "필수 구성을 찾을 수 없음" @@ -6490,8 +6499,8 @@ "Restore backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"백업 복원 중단, 예상 볼륨 상태는 %(expected_status)s이지만 %(actual_status)s" -"을(를) 가져옴" +"백업 복원 중단, 예상 볼륨 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." #, python-format msgid "" @@ -6499,17 +6508,17 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"백업 복원이 중단되었습니다. 현재 구성된 백업 서비스 [%(configured_service)s]" -"은(는) 이 백업 [%(backup_service)s]을(를) 작성하기 위해 사용된 백업 서비스가 " -"아닙니다." +"백업 복원이 중단되었습니다. 현재 구성된 백업 서비스 [%(configured_service)s] " +"은(는) 이 백업 [%(backup_service)s] 을(를) 작성하기 위해 사용된 백업 서비스" +"가 아닙니다." #, python-format msgid "" "Restore backup aborted: expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"백업 복원 중단: 예상 백업 상태는 %(expected_status)s이지만 %(actual_status)s" -"을(를) 가져옴" +"백업 복원 중단: 예상 백업 상태는 %(expected_status)s 이지만 " +"%(actual_status)s 을(를) 얻었습니다." #, python-format msgid "" @@ -6532,7 +6541,7 @@ msgstr "명령의 재시도 수 초과: %s" msgid "Retryable SolidFire Exception encountered" -msgstr "재시도할 수 있는 SolidFire 예외가 발생함" +msgstr "재현 가능한 SolidFire 예외가 발생하였습니다" msgid "Retype cannot change encryption requirements." msgstr "다시 입력해도 암호화 요구사항을 변경할 수 없습니다. " @@ -6596,12 +6605,8 @@ "다. " #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "SSH 명령이 실패하여 오류 발생: '%(err)s', 명령: '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" -msgstr "SSH 명령 인젝션 발견됨: %(command)s" +msgstr "SSH 명령 인젝션이 발견되었습니다: %(command)s" #, python-format msgid "SSH connection failed for %(fabric)s with error: %(err)s" @@ -6617,11 +6622,11 @@ #, python-format msgid "Scheduler Host Filter %(filter_name)s could not be found." -msgstr "스케줄러 호스트 필터 %(filter_name)s을(를) 찾을 수 없습니다. " +msgstr "스케줄러 호스트 필터 %(filter_name)s 을(를) 찾을 수 없습니다. " #, python-format msgid "Scheduler Host Weigher %(weigher_name)s could not be found." -msgstr "Scheduler Host Weigher %(weigher_name)s을(를) 찾을 수 없습니다. " +msgstr "스케줄러 호스트 Weigher %(weigher_name)s 을(를) 찾을 수 없습니다. " #, python-format msgid "" @@ -6643,11 +6648,11 @@ #, python-format msgid "Service %(service)s on host %(host)s removed." -msgstr "호스트 %(host)s의 서비스 %(service)s이(가) 제거되었습니다. " +msgstr "호스트 %(host)s 의 서비스 %(service)s 이(가) 제거되었습니다. " #, python-format msgid "Service %(service_id)s could not be found on host %(host)s." -msgstr "호스트 %(host)s에서 서비스 %(service_id)s을(를) 찾을 수 없습니다." +msgstr "호스트 %(host)s 에서 서비스 %(service_id)s 을(를) 찾을 수 없습니다." #, python-format msgid "Service %(service_id)s could not be found." @@ -6658,13 +6663,10 @@ msgstr "%s 서비스를 찾을 수 없음" msgid "Service is too old to fulfil this request." -msgstr "서비스가 너무 오래되어 이 요청을 이행할 수 없습니다." +msgstr "서비스가 너무 오래되어 해당 요청을 수행할 수 없습니다." msgid "Service is unavailable at this time." -msgstr "서비스가 지금 사용 불가능합니다. " - -msgid "Service not found." -msgstr "서비스를 찾을 수 없습니다." +msgstr "서비스가 현재 사용 불가능합니다. " msgid "Set pair secondary access error." msgstr "쌍 보조 액세스 설정 오류." @@ -6710,7 +6712,7 @@ "Show operations can only be made to projects in the same hierarchy of the " "project in which users are scoped to." msgstr "" -"표시 조작은 사용자가 범위 지정되는 프로젝트의 동일한 계층에 있는 프로젝트에 " +"표시 동작은 사용자가 범위 지정되는 프로젝트의 동일한 계층에 있는 프로젝트에 " "대해서만 작성될 수 있습니다. " msgid "Size" @@ -6726,7 +6728,7 @@ "Size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." msgstr "" -"크기는 %(image_size)dGB이며 크기 %(volume_size)dGB의 볼륨에 맞지 않습니다." +"크기는 %(image_size)dGB 이며 크기 %(volume_size)dGB 의 볼륨에 맞지 않습니다." #, python-format msgid "" @@ -6763,7 +6765,7 @@ #, python-format msgid "Snapshot %s must not be part of a consistency group." -msgstr "스냅샷 %s이(가) 일관성 그룹의 일부가 아니어야 합니다. " +msgstr "스냅샷 %s 이(가) 일관성 그룹의 일부가 아니어야 합니다. " #, python-format msgid "Snapshot '%s' doesn't exist on array." @@ -6774,8 +6776,8 @@ "Snapshot cannot be created because volume %(vol_id)s is not available, " "current volume status: %(vol_status)s." msgstr "" -"볼륨 %(vol_id)s이(가) 사용 가능 상태가 아니어서 스냅샷을 작성할 수 없습니다. " -"현재 볼륨 상태: %(vol_status)s." +"볼륨 %(vol_id)s 이(가) 사용 가능 상태가 아니어서 스냅샷을 작성할 수 없습니" +"다. 현재 볼륨 상태: %(vol_status)s." msgid "Snapshot cannot be created while volume is migrating." msgstr "볼륨 마이그레이션 중에 스냅샷을 작성할 수 없습니다. " @@ -6797,7 +6799,7 @@ #, python-format msgid "Snapshot status %(cur)s not allowed for update_snapshot_status" msgstr "" -"update_snapshot_status에 대해 스냅샷 상태 %(cur)s이(가) 허용되지 않습니다. " +"update_snapshot_status에 대해 스냅샷 상태 %(cur)s 이(가) 허용되지 않습니다. " msgid "Snapshot status must be \"available\" to clone." msgstr "스냅샷 상태가 복제 \"사용 가능\"이어야 합니다. " @@ -6805,7 +6807,7 @@ #, python-format msgid "" "Snapshot to be backed up must be available, but the current status is \"%s\"." -msgstr "백업할 스냅샷이 사용 가능해야 하지만 현재 상태가 \"%s\"입니다. " +msgstr "백업할 스냅샷이 사용 가능해야 하지만 현재 상태가 \"%s\" 입니다. " #, python-format msgid "Snapshot with id of %s could not be found." @@ -6968,9 +6970,9 @@ "project '%(proj)s' for resource '%(res)s'. Please lower the limit or usage " "for one or more of the following projects: '%(child_ids)s'" msgstr "" -"하위 사용량 합계 '%(sum)s'이(가) '%(res)s' 자원의 '%(proj)s' 프로젝트에 사용 " -"가능한 할당량 '%(free)s'보다 큽니다. 하나 이상의 '%(child_ids)s' 프로젝트에 " -"대한 한계 또는 사용량을 낮추십시오." +"하위 사용량 합계 '%(sum)s' 이(가) '%(res)s' 자원의 '%(proj)s' 프로젝트에 사" +"용 가능한 할당량 '%(free)s' 보다 큽니다. 하나 이상의 '%(child_ids)s' 프로젝트" +"에 대한 한계 또는 사용량을 낮추십시오." msgid "Switch over pair error." msgstr "쌍 전환 오류." @@ -6993,7 +6995,7 @@ msgstr "시스템이 압축을 지원하지 않습니다. " msgid "System is busy, retry operation." -msgstr "시스템을 사용 중입니다. 조작을 재시도하십시오. " +msgstr "시스템이 사용 중입니다. 동작을 재시도하십시오. " #, python-format msgid "" @@ -7008,11 +7010,12 @@ msgid "" "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" msgstr "" -"템플리트 트리 불일치. 슬레이브 %(slavetag)s을(를) 마스터 %(mastertag)s에 추가" +"템플릿 트리가 일치하지 않습니다. 슬레이브 %(slavetag)s 에 대한 마스터 " +"%(mastertag)s 로의 추가" #, python-format msgid "Tenant ID: %s does not exist." -msgstr "테넌트 ID: %s이(가) 존재하지 않습니다. " +msgstr "테넌트 ID: %s 이(가) 존재하지 않습니다. " msgid "Terminate connection failed" msgstr "연결 종료 실패" @@ -7032,7 +7035,7 @@ "The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be used " "with the 'sort' parameter." msgstr "" -"'sort_key'와 'sort_dir' 매개변수는 더 이상 사용되지 않는 항목이므로'sort' 매" +"'sort_key' 와 'sort_dir' 매개변수는 더 이상 사용되지 않는 항목이므로'sort' 매" "개변수에 이를 사용할 수 없습니다. " msgid "The EQL array has closed the connection." @@ -7055,7 +7058,7 @@ "Source Volume: %(src)s, Destination Volume: %(dst)s, Method: %(method)s." msgstr "" "WebDAV 요청 실패. 이유: %(msg)s, 리턴 코드/이유: %(code)s,소스 볼륨: " -"%(src)s, 대상 볼륨: %(dst)s, 메소드: %(method)s." +"%(src)s, 대상 볼륨: %(dst)s, 메서드: %(method)s." msgid "" "The above error may show that the database has not been created.\n" @@ -7097,7 +7100,7 @@ #, python-format msgid "The device in the path %(path)s is unavailable: %(reason)s" -msgstr "경로 %(path)s에 있는 디바이스를 사용할 수 없음: %(reason)s" +msgstr "경로 %(path)s에 있는 장치를 사용할 수 없습니다: %(reason)s" #, python-format msgid "The end time (%(end)s) must be after the start time (%(start)s)." @@ -7192,7 +7195,7 @@ msgstr "스토리지 백엔드의 매개변수입니다.(config_group: %(config_group)s)" msgid "The parent backup must be available for incremental backup." -msgstr "상위 백업은 증분 백업을 수행할 수 있어야 합니다. " +msgstr "부모 백업은 증분 백업을 수행할 수 있어야 합니다. " #, python-format msgid "The provided snapshot '%s' is not a snapshot of the provided volume." @@ -7257,11 +7260,11 @@ "The source volume type '%(src)s' is different than the destination volume " "type '%(dest)s'." msgstr "" -"소스 볼륨 유형 '%(src)s'이(가) 대상 볼륨 유형인 '%(dest)s'과(와) 다릅니다." +"소스 볼륨 유형 '%(src)s' 이(가) 대상 볼륨 유형인 '%(dest)s' 과(와) 다릅니다." #, python-format msgid "The source volume type '%s' is not available." -msgstr "소스 볼륨 유형 '%s'은(는) 사용할 수 없습니다." +msgstr "소스 볼륨 유형 '%s' 은(는) 사용할 수 없습니다." #, python-format msgid "The specified %(desc)s is busy." @@ -7308,7 +7311,7 @@ "The specified operation is not supported. The volume size must be the same " "as the source %(type)s. (volume: %(volume_id)s)" msgstr "" -"지정된 조작이 지원되지 않습니다. 볼륨 크기는 소스 %(type)s과(와) 동일해야 합" +"지정된 동작을 지원하지 않습니다. 볼륨 크기는 소스 %(type)s과(와) 동일해야 합" "니다.(볼륨: %(volume_id)s)" msgid "The specified vdisk is mapped to a host." @@ -7350,7 +7353,7 @@ "The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " "invalid." msgstr "" -"볼륨/스냅샷 %(id)s에 대한 메타데이터의 유형: %(metadata_type)s이(가) 올바르" +"볼륨/스냅샷 %(id)s 에 대한 메타데이터의 유형: %(metadata_type)s 이(가) 올바르" "지 않습니다. " #, python-format @@ -7448,11 +7451,11 @@ #, python-format msgid "There is no share which can host %(volume_size)sG" -msgstr "%(volume_size)sG를 보유할 수 있는 공유가 없음" +msgstr "%(volume_size)sG 를 호스트할 수 있는 공유가 없습니다" #, python-format msgid "There is no share which can host %(volume_size)sG." -msgstr "%(volume_size)sG를 호스트할 수 있는 공유가 없습니다." +msgstr "%(volume_size)sG 를 호스트할 수 있는 공유가 없습니다." #, python-format msgid "There is no such action: %s" @@ -7518,8 +7521,7 @@ msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" msgstr "" -"씬 프로비저닝 인에이블러가 설치되어 있지 않습니다. 씬 볼륨을 작성할 수 없습니" -"다." +"씬 프로비저닝 enabler가 설치되어 있지 않습니다. 씬 볼륨을 작성할 수 없습니다." msgid "This driver does not support deleting in-use snapshots." msgstr "이 드라이버는 스냅샵 삭제 중에 사용 중인 스냅샷을 지원하지 않습니다." @@ -7565,23 +7567,24 @@ #, python-format msgid "Timeout while requesting %(service)s API." -msgstr "%(service)s API를 요청하는 중 제한시간을 초과했습니다." +msgstr "%(service)s API를 요청하는 도중 제한시간을 초과했습니다." #, python-format msgid "Timeout while requesting capabilities from backend %(service)s." -msgstr "백엔드 %(service)s에서 기능을 요청하는 동안 제한시간이 초과됩니다." +msgstr "" +"백엔드 %(service)s 에서 기능을 요청하는 동안 제한시간을 초과하였습니다." #, python-format msgid "Transfer %(transfer_id)s could not be found." -msgstr "전송 %(transfer_id)s을(를) 찾을 수 없습니다. " +msgstr "전송 %(transfer_id)s 을(를) 찾을 수 없습니다. " #, python-format msgid "" "Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state " "%(status)s, expected awaiting-transfer" msgstr "" -"전송 %(transfer_id)s: 볼륨 id %(volume_id)s이(가) 예상치 않은 상태%(status)s" -"입니다. 예상된 상태는 전송 대기입니다. " +"전송 %(transfer_id)s: 볼륨 id %(volume_id)s 이(가) 예상치 않은 상" +"태%(status)s 입니다. 예상된 상태는 전송 대기입니다. " #, python-format msgid "" @@ -7642,7 +7645,7 @@ msgstr "호스트에 대한 연결을 설정하거나 찾을 수 없음" msgid "Unable to create Barbican Client without project_id." -msgstr "project_id 없이 Barbican Client를 작성할 수 없습니다." +msgstr "project_id 없이 Barbican 클라이언트를 작성할 수 없습니다." #, python-format msgid "Unable to create consistency group %s" @@ -7703,8 +7706,8 @@ "Unable to detach volume. Volume status must be 'in-use' and attach_status " "must be 'attached' to detach." msgstr "" -"볼륨의 연결을 해제할 수 없습니다. 연결을 해제하려면 볼륨 상태가 '사용 중'이어" -"야 하며 attach_status가 '연결됨'이어야 합니다." +"볼륨의 연결을 해제할 수 없습니다. 연결을 해제하려면 볼륨 상태가 '사용 중' 이" +"어야 하며 attach_status가 '연결됨' 이어야 합니다." #, python-format msgid "" @@ -7765,10 +7768,10 @@ #, python-format msgid "Unable to failover to replication target:%(reason)s)." -msgstr "복제 대상으로 장애 복구할 수 없음:%(reason)s)." +msgstr "복제 대상으로 장애 복구할 수 없음: %(reason)s)." msgid "Unable to fetch connection information from backend." -msgstr "백엔드에서 연결 정보를 페치할 수 없습니다." +msgstr "백엔드에서 연결 정보를 가져올 수 없습니다." #, python-format msgid "Unable to fetch connection information from backend: %(err)s" @@ -7780,7 +7783,7 @@ #, python-format msgid "Unable to find Volume Group: %(vg_name)s" -msgstr "볼륨 그룹을 찾을 수 없음: %(vg_name)s" +msgstr "볼륨 그룹을 찾을 수 없습니다: %(vg_name)s" msgid "Unable to find failover target, no secondary targets configured." msgstr "장애 복구 대상을 찾을 수 없습니다. 보조 대상이 구성되지 않았습니다." @@ -7821,7 +7824,7 @@ "Unable to get configuration information necessary to create a volume: " "%(errorMessage)s." msgstr "" -"볼륨 작성에 필요한 구성 정보를 가져올 수 없음: %(errorMessage)s(이)어야 합니" +"볼륨 작성에 필요한 구성 정보를 가져올 수 없음: %(errorMessage)s (이)어야 합니" "다." msgid "Unable to get corresponding record for pool." @@ -7865,7 +7868,7 @@ #, python-format msgid "Unable to get target endpoints for hardwareId %(hardwareIdInstance)s." msgstr "" -"하드웨어 ID %(hardwareIdInstance)s의 대상 엔드포인트를 가져올 수 없습니다." +"하드웨어 ID %(hardwareIdInstance)s의 대상 endpoint를 가져올 수 없습니다." msgid "Unable to get the name of the masking view." msgstr "마스킹 보기의 이름을 가져올 수 없습니다." @@ -7882,24 +7885,24 @@ "Unable to import volume %(deviceId)s to cinder. It is the source volume of " "replication session %(sync)s." msgstr "" -"볼륨 %(deviceId)s을(를) cinder로 가져올 수 없습니다. 이는 복제 세션 %(sync)s" -"의 소스 볼륨입니다. " +"볼륨 %(deviceId)s 을(를) cinder로 가져올 수 없습니다. 이는 복제 세션 " +"%(sync)s 의 소스 볼륨입니다. " #, python-format msgid "" "Unable to import volume %(deviceId)s to cinder. The external volume is not " "in the pool managed by current cinder host." msgstr "" -"볼륨 %(deviceId)s을(를) cinder로 가져올 수 없습니다. 외부 볼륨이 현재 cinder " -"호스트에 의해 관리되는 풀에 없습니다. " +"볼륨 %(deviceId)s 을(를) cinder로 가져올 수 없습니다. 외부 볼륨이 현재 " +"cinder 호스트에 의해 관리되는 풀에 없습니다. " #, python-format msgid "" "Unable to import volume %(deviceId)s to cinder. Volume is in masking view " "%(mv)s." msgstr "" -"볼륨 %(deviceId)s을(를) cinder로 가져올 수 없습니다. 볼륨이 마스킹 보기 " -"%(mv)s에 있습니다. " +"볼륨 %(deviceId)s 을(를) cinder로 가져올 수 없습니다. 볼륨이 마스킹 보기 " +"%(mv)s 에 있습니다. " #, python-format msgid "Unable to load CA from %(cert)s %(e)s." @@ -7915,7 +7918,7 @@ #, python-format msgid "Unable to locate account %(account_name)s on Solidfire device" -msgstr "Solidfire 디바이스에서 %(account_name)s 계정을 찾을 수 없음" +msgstr "Solidfire 장치에서 %(account_name)s 계정을 찾을 수 없습니다" #, python-format msgid "Unable to locate an SVM that is managing the IP address '%s'" @@ -7929,7 +7932,7 @@ msgid "" "Unable to manage existing volume. Volume %(volume_ref)s already managed." msgstr "" -"기존 볼륨을 관리할 수 없습니다. 볼륨 %(volume_ref)s이(가) 이미 관리되고 있습" +"기존 볼륨을 관리할 수 없습니다. 볼륨 %(volume_ref)s 이(가) 이미 관리되고 있습" "니다. " #, python-format @@ -7978,8 +7981,8 @@ "Unable to retype %(specname)s, expected to receive current and requested " "%(spectype)s values. Value received: %(spec)s" msgstr "" -"%(specname)s을(를) 다시 입력할 수 없음, 현재 및 요청된 %(spectype)s 값을 수신" -"해야 합니다. 수신한 값: %(spec)s" +"%(specname)s 을(를) 다시 입력할 수 없음, 현재 및 요청된 %(spectype)s 값을 수" +"신해야 합니다. 수신한 값: %(spec)s" #, python-format msgid "" @@ -7998,6 +8001,10 @@ "허용되지 않습니다. 볼륨 = %s" #, python-format +msgid "Unable to send requests: %s" +msgstr "요청을 보낼수 없음:%s" + +#, python-format msgid "" "Unable to set up mirror mode replication for %(vol)s. Exception: %(err)s." msgstr "%(vol)s의 미러 모드 복제를 설정할 수 없습니다. 예외: %(err)s." @@ -8132,7 +8139,7 @@ #, python-format msgid "Unknown or unsupported command %(cmd)s" -msgstr "알 수 없거나 지원되지 않는 명령 %(cmd)s" +msgstr "알 수 없거나 지원되지 않는 명령어 %(cmd)s" #, python-format msgid "Unknown protocol: %(protocol)s." @@ -8140,13 +8147,13 @@ #, python-format msgid "Unknown quota resources %(unknown)s." -msgstr "알 수 없는 할당량 자원 %(unknown)s." +msgstr "알 수 없는 할당량 자원 %(unknown)s 입니다." msgid "Unknown service" msgstr "알 수 없는 서비스" msgid "Unknown sort direction, must be 'desc' or 'asc'" -msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 함" +msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 합니다" msgid "Unknown sort direction, must be 'desc' or 'asc'." msgstr "알 수 없는 정렬 방향입니다. 'desc' 또는 'asc'여야 합니다. " @@ -8178,6 +8185,14 @@ msgstr "인식되지 않는 read_deleted 값 '%s'" #, python-format +msgid "" +"Unrecoverable Error: Versioned Objects in DB are capped to unknown version " +"%(version)s." +msgstr "" +"복구불가능한 오류: DB안에 버전이 있는 오브젝트들이 알수 없는 버전 " +"%(version)s으로 되어 있습니다." + +#, python-format msgid "Unset gcs options: %s" msgstr "gcs 옵션 설정 해제: %s" @@ -8199,13 +8214,13 @@ #, python-format msgid "Unsupported backup metadata version (%s)" -msgstr "지원되지 않는 백업 메타데이터 버전(%s)" +msgstr "지원되지 않는 백업 메타데이터 버전 (%s)" msgid "Unsupported backup metadata version requested" -msgstr "지원되지 않는 백업 메타데이터 버전이 요청됨" +msgstr "지원하지 않는 백업 메타데이터 버전이 요청됨" msgid "Unsupported backup verify driver" -msgstr "지원되지 않는 백업 확인 드라이버" +msgstr "지원하지 않는 백업 검증 드라이버입니다" #, python-format msgid "" @@ -8226,14 +8241,14 @@ "Update and delete quota operations can only be made by an admin of immediate " "parent or by the CLOUD admin." msgstr "" -"할당량 업데이트 및 삭제 조작은 직속 상위의 관리자 또는 CLOUD 관리자만 작성할 " +"할당량 업데이트 및 삭제 동작은 직속 상위의 관리자 또는 CLOUD 관리자만 작성할 " "수 있습니다. " msgid "" "Update and delete quota operations can only be made to projects in the same " "hierarchy of the project in which users are scoped to." msgstr "" -"할당량 업데이트 및 삭제 조작은 사용자가 범위 지정되는 프로젝트의 동일한 계층" +"할당량 업데이트 및 삭제 동작은 사용자가 범위 지정되는 프로젝트의 동일한 계층" "에 있는 프로젝트에 대해서만 작성될 수 있습니다. " msgid "Update list, doesn't include volume_id" @@ -8259,7 +8274,7 @@ msgstr "사용자 ID" msgid "User does not have admin privileges" -msgstr "사용자에게 관리자 권한이 없음" +msgstr "사용자에게 관리자 권한이 없습니다" msgid "User is not authorized to use key manager." msgstr "사용자에게 키 관리자를 사용할 권한이 없습니다." @@ -8306,11 +8321,12 @@ #, python-format msgid "" "Value \"%(value)s\" is not valid for configuration option \"%(option)s\"" -msgstr "값 \"%(value)s\"이(가) 구성 옵션 \"%(option)s\"에 대해 올바르지 않음" +msgstr "" +"값 \"%(value)s\"이(가) 구성 옵션 \"%(option)s\" 에 대해 올바르지 않습니다" #, python-format msgid "Value %(param)s for %(param_string)s is not a boolean." -msgstr "%(param_string)s에 대한 값 %(param)s이(가) 부울이 아닙니다. " +msgstr "%(param_string)s 에 대한 값 %(param)s 이(가) 부울이 아닙니다. " msgid "Value required for 'scality_sofs_config'" msgstr "'scality_sofs_config'에 필요한 값" @@ -8369,7 +8385,7 @@ #, python-format msgid "Volume %(vol1)s does not match with snapshot.volume_id %(vol2)s." -msgstr "%(vol1)s 볼륨이 snapshot.volume_id %(vol2)s과(와) 일치하지 않습니다." +msgstr "%(vol1)s 볼륨이 snapshot.volume_id %(vol2)s 과(와) 일치하지 않습니다." #, python-format msgid "" @@ -8440,7 +8456,7 @@ #, python-format msgid "Volume %(volume_name)s is busy." -msgstr "볼륨 %(volume_name)s을(를) 사용 중입니다." +msgstr "볼륨 %(volume_name)s 을(를) 사용 중입니다." #, python-format msgid "Volume %s could not be created from source volume." @@ -8507,7 +8523,7 @@ "Volume %s must not be migrating, attached, belong to a consistency group or " "have snapshots." msgstr "" -"볼륨 %s을(를) 마이그레이션하거나, 연결하거나, 일관성 그룹에 속하거나, 스냅샷" +"볼륨 %s 을(를) 마이그레이션하거나, 연결하거나, 일관성 그룹에 속하거나, 스냅샷" "이 없어야 합니다." #, python-format @@ -8548,14 +8564,15 @@ #, python-format msgid "Volume Type %(type_id)s has no extra spec with key %(id)s." -msgstr "볼륨 유형 %(type_id)s에 키 %(id)s을(를) 가진 추가 스펙이 없습니다. " +msgstr "볼륨 유형 %(type_id)s 에 키 %(id)s 을(를) 가진 추가 스펙이 없습니다. " #, python-format msgid "" "Volume Type %(volume_type_id)s deletion is not allowed with volumes present " "with the type." msgstr "" -"유형이 있는 볼륨에는 %(volume_type_id)s 볼륨 유형 삭제가 허용되지 않습니다." +"볼륨 유형 %(volume_type_id)s 에 대한 삭제는 해당 유형을 가지고 있을 경우에 허" +"용하지 않습니다." #, python-format msgid "" @@ -8566,7 +8583,7 @@ "니다. " msgid "Volume Type id must not be None." -msgstr "볼륨 유형 ID가 있어야 합니다. " +msgstr "볼륨 유형 ID는 None이 아니어야 합니다. " #, python-format msgid "" @@ -8582,14 +8599,14 @@ #, python-format msgid "Volume attachment could not be found with filter: %(filter)s ." -msgstr "%(filter)s 필터로 볼륨 접속을 찾을 수 없습니다. " +msgstr "%(filter)s 필터로 볼륨 연결을 찾을 수 없습니다. " #, python-format msgid "Volume backend config is invalid: %(reason)s" msgstr "볼륨 백엔드 구성이 올바르지 않음: %(reason)s" msgid "Volume by this name already exists" -msgstr "이 이름에 의한 볼륨이 이미 존재함" +msgstr "해당 이름에 의한 볼륨이 이미 존재함" msgid "Volume cannot be restored since it contains snapshots." msgstr "스냅샷이 포함되었기 때문에 볼륨을 복원할 수 없습니다." @@ -8603,18 +8620,18 @@ #, python-format msgid "Volume device not found at %(device)s." -msgstr "%(device)s에서 볼륨 디바이스를 찾을 수 없음. " +msgstr "%(device)s 에서 볼륨 장치를 찾을 수 없습니다." #, python-format msgid "Volume driver %s not initialized." msgstr "볼륨 드라이버 %s이(가) 초기화되지 않았습니다." msgid "Volume driver not ready." -msgstr "볼륨 드라이버가 준비 되어있지 않습니다." +msgstr "볼륨 드라이버가 준비되지 않았습니다." #, python-format msgid "Volume driver reported an error: %(message)s" -msgstr "볼륨 드라이버 오류 보고서: %(message)s" +msgstr "볼륨 드라이버가 오류를 보고하였습니다: %(message)s" msgid "Volume has a temporary snapshot that can't be deleted at this time." msgstr "현재 삭제할 수 없는 임시 스냅샷이 볼륨에 있습니다." @@ -8708,7 +8725,7 @@ #, python-format msgid "Volume replication for %(volume_id)s could not be found." -msgstr "%(volume_id)s의 볼륨 복제를 찾을 수 없습니다. " +msgstr "%(volume_id)s 의 볼륨 복제를 찾을 수 없습니다. " #, python-format msgid "Volume service %s failed to start." @@ -8781,14 +8798,15 @@ msgstr "볼륨 상태가 '사용 가능'이어야 합니다. " msgid "Volume to Initiator Group mapping already exists" -msgstr "개시자 그룹에 대한 볼륨 맵핑이 이미 있음" +msgstr "개시자 그룹에 대한 볼륨 맵핑이 이미 존재합니다" #, python-format msgid "" "Volume to be backed up must be available or in-use, but the current status " "is \"%s\"." msgstr "" -"백업할 볼륨은 사용 가능하거나 사용 중이어야 하지만 현재 상태가 \"%s\"입니다. " +"백업할 볼륨은 사용 가능하거나 사용 중이어야 하지만 현재 상태가 \"%s\" 입니" +"다. " msgid "Volume to be restored to must be available" msgstr "복원할 볼륨이 사용 가능해야 함" @@ -8834,11 +8852,11 @@ #, python-format msgid "Volume type with name %(volume_type_name)s could not be found." -msgstr "이름이 %(volume_type_name)s인 볼륨 유형을 찾을 수 없습니다. " +msgstr "이름이 %(volume_type_name)s 인 볼륨 유형을 찾을 수 없습니다. " #, python-format msgid "Volume with volume id %s does not exist." -msgstr "볼륨 ID가 %s인 볼륨이 존재하지 않습니다. " +msgstr "볼륨 ID가 %s 인 볼륨이 존재하지 않습니다. " #, python-format msgid "" @@ -8856,7 +8874,7 @@ #, python-format msgid "Volume: %s could not be found." -msgstr "볼륨: %s을(를) 찾을 수 없습니다. " +msgstr "볼륨: %s 을(를) 찾을 수 없습니다. " #, python-format msgid "Volume: %s is already being managed by Cinder." @@ -8890,7 +8908,7 @@ msgid "" "Waiting for all nodes to join cluster. Ensure all sheep daemons are running." msgstr "" -"모든 노드가 클러스터를 결합할 때까지 기다리는 중입니다. 모든 sheep 디먼이 실" +"모든 노드가 클러스터를 결합할 때까지 기다리는 중입니다. 모든 sheep 데몬이 실" "행 중인지 확인하십시오. " msgid "We should not do switch over on primary array." @@ -9296,7 +9314,7 @@ #, python-format msgid "all_tenants must be a boolean, got '%s'." -msgstr "all_tenants는 부울이어야 하지만 '%s'이(가) 수신되었습니다. " +msgstr "all_tenants는 boolean이어야 하지만 '%s' 이(가) 수신되었습니다. " msgid "already created" msgstr "이미 작성됨" @@ -9318,8 +9336,8 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"백업: %(vol_id)s이(가) %(vpath)s에서 %(bpath)s으로 백업 하드 링크를 제거하지 " -"못했습니다.\n" +"백업: %(vol_id)s 이(가) %(vpath)s 에서 %(bpath)s (으)로 백업 하드 링크를 제거" +"하지 못했습니다.\n" "stdout: %(out)s\n" " stderr: %(err)s" @@ -9378,6 +9396,10 @@ msgstr "다른 모드로 접속하는 중 " #, python-format +msgid "build_ini_targ_map fails. %s" +msgstr "build_ini_targ_map 실패. %s" + +#, python-format msgid "call failed: %r" msgstr "호출 실패: %r" @@ -9396,7 +9418,7 @@ #, python-format msgid "can't find lun-map, ig:%(ig)s vol:%(vol)s" -msgstr "lun 맵을 찾을 수 없음, ig:%(ig)s vol:%(vol)s" +msgstr "lun-map을 찾을 수 없음, ig:%(ig)s vol:%(vol)s" msgid "can't find the volume to extend" msgstr "확장할 볼륨을 찾을 수 없음" @@ -9853,7 +9875,7 @@ #, python-format msgid "key manager error: %(reason)s" -msgstr "주요 관리자 오류: %(reason)s" +msgstr "키 관리자 오류: %(reason)s" msgid "keymgr.fixed_key not defined" msgstr "keymgr.fixed_key가 정의되지 않음" @@ -9884,7 +9906,7 @@ #, python-format msgid "marker [%s] not found" -msgstr "마커 [%s]을(를) 찾을 수 없음" +msgstr "마커 [%s] 을(를) 찾을 수 없음" #, python-format msgid "mdiskgrp missing quotes %s" @@ -9906,7 +9928,7 @@ #, python-format msgid "multiple resources with name %s found by drbdmanage" -msgstr "drbdmanage에서 이름이 %s인 다중 자원을 발견함" +msgstr "DRBDmanage에서 이름이 %s인 다중 자원을 발견함" #, python-format msgid "multiple resources with snapshot ID %s found" @@ -9925,7 +9947,7 @@ #, python-format msgid "no snapshot with id %s found in drbdmanage" -msgstr "drbdmanage에서 ID가 %s인 스냅샷을 찾을 수 없음" +msgstr "DRBDmanage에서 ID가 %s인 스냅샷을 찾을 수 없음" #, python-format msgid "not exactly one snapshot with id %s" @@ -9992,7 +10014,7 @@ #, python-format msgid "replication_failover failed. %s not found." -msgstr "replication_failover에 실패했습니다. %s을(를) 찾을 수 없습니다." +msgstr "replication_failover에 실패했습니다. %s 을(를) 찾을 수 없습니다." msgid "replication_failover failed. Backend not configured for failover" msgstr "" @@ -10035,7 +10057,7 @@ "in metadata." msgstr "" "restore_backup이 중단되었습니다. 실제 오브젝트 목록이 메타데이터에 저장된 오" -"브젝트 목록과일치하지 않습니다. " +"브젝트 목록과 일치하지 않습니다. " msgid "root element selecting a list" msgstr "목록을 선택하는 루트 요소" @@ -10072,7 +10094,7 @@ #, python-format msgid "snapshot id:%s not found" -msgstr "스냅샷 id:%s을(를) 찾을 수 없음" +msgstr "스냅샷 id:%s 을(를) 찾을 수 없음" #, python-format msgid "snapshot-%s" @@ -10086,11 +10108,11 @@ #, python-format msgid "source vol id:%s not found" -msgstr "소스 볼륨 id:%s을(를) 찾을 수 없음" +msgstr "소스 볼륨 id:%s 을(를) 찾을 수 없음" #, python-format msgid "source volume id:%s is not replicated" -msgstr "소스 볼륨 id:%s을(를) 복제할 수 없음" +msgstr "소스 볼륨 id:%s 을(를) 복제할 수 없음" msgid "source-name cannot be empty." msgstr "source-name은 비어 있지 않아야 합니다." @@ -10100,7 +10122,7 @@ #, python-format msgid "status must be %s and" -msgstr "상태는 %s이어야 하며" +msgstr "상태는 %s 이어야 하며" msgid "status must be available" msgstr "상태가 사용 가능해야 함" @@ -10180,7 +10202,7 @@ #, python-format msgid "volume %s not found in drbdmanage" -msgstr "drbdmanage에서 볼륨 %s을(를) 찾을 수 없음" +msgstr "DRBDmanage에서 볼륨 %s을(를) 찾을 수 없음" msgid "volume assigned" msgstr "볼륨 지정됨" @@ -10189,7 +10211,7 @@ msgstr "볼륨 변경됨" msgid "volume does not exist" -msgstr "볼륨이 없음" +msgstr "볼륨이 존재하지 않습니다" msgid "volume is already attached" msgstr "볼륨이 이미 접속됨" diff -Nru cinder-8.0.0/cinder/locale/pt_BR/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/pt_BR/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/pt_BR/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/pt_BR/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,19 +7,16 @@ # Gabriel Wainer, 2013 # Lucas Ribeiro , 2014 # Rodrigo Felix de Almeida , 2014 -# Lucas Palm , 2015. #zanata -# OpenStack Infra , 2015. #zanata # Carlos Marques , 2016. #zanata -# Lucas Palm , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev21\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-24 10:43+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-24 01:24+0000\n" +"PO-Revision-Date: 2016-04-29 09:20+0000\n" "Last-Translator: Carlos Marques \n" "Language: pt-BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -45,7 +42,7 @@ #, python-format msgid " but size is now %d." -msgstr " porém, o tamanho atual é %d." +msgstr " porém, o tamanho agora é %d." msgid " or " msgstr " ou " @@ -146,9 +143,9 @@ "unexpected mode. Image or file backups supported, actual mode is " "%(vol_mode)s." msgstr "" -"%(op)s: backup %(bck_id)s, volume %(vol_id)s falhou. Objeto de backup possui " -"modo inesperado. Backups de arquivo ou imagem suportados, modo real é " -"%(vol_mode)s." +"%(op)s: backup %(bck_id)s, volume %(vol_id)s falhou. O objeto de backup " +"possui modo inesperado. Backups de arquivo ou imagem suportados, o modo real " +"é %(vol_mode)s." #, python-format msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" @@ -167,7 +164,8 @@ #, python-format msgid "" "%(worker_name)s value of %(workers)d is invalid, must be greater than 0." -msgstr "Valor %(worker_name)s de %(workers)d é inválido, deve ser maior que 0." +msgstr "" +"O valor %(worker_name)s de %(workers)d é inválido, deve ser maior que 0." #, python-format msgid "%s" @@ -181,13 +179,13 @@ msgid "" "%s cannot be accessed. Verify that GPFS is active and file system is mounted." msgstr "" -"%s não pode ser acessado. Verifique se o GPFS está ativo e o sistema de " +"%s não pode ser acessado. Verifique se o GPFS está ativo e se o sistema de " "arquivos está montado." #, python-format msgid "%s cannot be resized using clone operation as it contains no blocks." msgstr "" -"%s não pode ser redimensionado usando a operação de clone, pois ele não " +"O %s não pode ser redimensionado usando a operação de clone porque ele não " "contém blocos." #, python-format @@ -195,7 +193,7 @@ "%s cannot be resized using clone operation as it is hosted on compressed " "volume" msgstr "" -"%s não pode ser redimensionado usando a operação de clone, pois ele está " +"O %s não pode ser redimensionado usando a operação de clone porque ele está " "hospedado no volume compactado" #, python-format @@ -262,7 +260,7 @@ "valid value(s) are %(enabled)s." msgstr "" "'%(prot)s' é inválido para flashsystem_connection_protocol no arquivo de " -"configuração. valor(es) válido(s) são %(enabled)s." +"configuração. Os valores válidos são %(enabled)s." msgid "'active' must be present when writing snap_info." msgstr "'ativo' deve estar presente ao gravar snap_info." @@ -362,7 +360,7 @@ #, python-format msgid "API %(name)s failed with error string %(err)s" -msgstr "API %(name)s falhou com sequência de erros %(err)s" +msgstr "A API %(name)s falhou com a sequência de erros %(err)s" #, python-format msgid "" @@ -398,7 +396,7 @@ "deve ser executado" msgid "Access list not available for public volume types." -msgstr "Lista de acesso não disponível para tipos de volume público." +msgstr "Lista de acesso não disponível para tipos de volume públicos." msgid "Activate or deactivate QoS error." msgstr "Erro ao ativar ou desativar QoS" @@ -436,7 +434,7 @@ "your configuration. Non-existent pools: %s" msgstr "" "Todos os conjuntos de armazenamento especificados para serem gerenciados não " -"existem. Verifique sua configuração. Não existem conjuntos: %s" +"existem. Verifique sua configuração. Conjuntos inexistentes: %s" msgid "An API version request must be compared to a VersionedMethod object." msgstr "" @@ -445,10 +443,10 @@ #, python-format msgid "An error has occured in SheepdogDriver. (Reason: %(reason)s)" -msgstr "Um erro ocorreu em SheepdogDriver. (Motivo: %(reason)s)" +msgstr "Ocorreu um erro em SheepdogDriver. (Motivo: %(reason)s)" msgid "An error has occurred during backup operation" -msgstr "Um erro ocorreu durante a operação de backup" +msgstr "Ocorreu um erro durante a operação de backup" #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." @@ -531,7 +529,7 @@ msgstr "Erro ao associar host ao grupo de hosts." msgid "Associate host to mapping view error." -msgstr "Erro ao associar host ao mapeamento." +msgstr "Erro ao associar o host à visualização de mapeamento." msgid "Associate initiator to host error." msgstr "Erro ao associar inicializador ao host." @@ -543,7 +541,7 @@ msgstr "Erro ao associar LUN ao grupo de LUNs." msgid "Associate lungroup to mapping view error." -msgstr "Erro ao associar grupo de LUNs à visualização de mapeamento." +msgstr "Erro ao associar o grupo de LUNs à visualização de mapeamento." msgid "Associate portgroup to mapping view error." msgstr "Erro ao associar grupo de portas à visualização de mapeamento." @@ -553,7 +551,7 @@ #, python-format msgid "Attempt to transfer %s with invalid auth key." -msgstr "Tentativa de transferir %s com chave de auth inválida." +msgstr "Tentativa de transferir %s com uma chave de autenticação inválida." #, python-format msgid "Auth group [%s] details not found in CloudByte storage." @@ -567,7 +565,7 @@ "CloudByte." msgid "Authentication error" -msgstr "Erro de Autenticação" +msgstr "Erro de autenticação" #, python-format msgid "Authentication failed, verify the switch credentials, error code %s." @@ -594,7 +592,7 @@ #, python-format msgid "Backend doesn't exist (%(backend)s)" -msgstr "Backend não existe (%(backend)s)" +msgstr "O Backend não existe (%(backend)s)" msgid "Backend has already been failed over. Unable to fail back." msgstr "" @@ -620,7 +618,7 @@ "%(timeout)s segundos" msgid "Backend storage did not configure fiber channel target." -msgstr "Armazenamento de backend não configurou o destino do Fiber Channel." +msgstr "O armazenamento de backend não configurou o destino do Fiber Channel." msgid "Backing up an in-use volume must use the force flag." msgstr "O backup de um volume em uso deve usar a sinalização de força." @@ -630,10 +628,10 @@ msgstr "O backup %(backup_id)s não pôde ser localizado." msgid "Backup RBD operation failed" -msgstr "Operação RBD de backup falhou" +msgstr "A operação RBD de backup falhou" msgid "Backup already exists in database." -msgstr "Backup já existe no banco de dados." +msgstr "O backup já existe no banco de dados." #, python-format msgid "Backup driver reported an error: %(message)s" @@ -644,17 +642,16 @@ msgid "Backup is not supported for GlusterFS volumes with snapshots." msgstr "" -"Backup não é suportado para volumes GlusterFS com capturas instantâneas." +"O backup não é suportado para volumes GlusterFS com capturas instantâneas." msgid "Backup is only supported for SOFS volumes without backing file." -msgstr "" -"O backup é suportado apenas para volumes SOFS sem fazer backup do arquivo." +msgstr "O backup é suportado apenas para volumes SOFS sem arquivo auxiliar." msgid "Backup is only supported for raw-formatted GlusterFS volumes." -msgstr "Backup é suportado apenas para volumes GlusterFS em formato bruto." +msgstr "O backup é suportado apenas para volumes GlusterFS em formato bruto." msgid "Backup is only supported for raw-formatted SOFS volumes." -msgstr "O backup é suportado apenas para volumes SOFS não formatados." +msgstr "O backup é suportado apenas para volumes SOFS em formato bruto." msgid "Backup operation of an encrypted volume failed." msgstr "A operação de backup de um volume criptografado falhou." @@ -672,12 +669,12 @@ "Backup service %(service)s does not support verify. Backup id %(id)s is not " "verified. Skipping reset." msgstr "" -"Serviço de backup %(service)s não suporta verificação. ID do backup %(id)s " -"não foi verificado. Ignorando reconfiguração." +"O serviço de backup %(service)s não suporta verificação. O ID do backup " +"%(id)s não foi verificado. Ignorando reconfiguração." #, python-format msgid "Backup should only have one snapshot but instead has %s" -msgstr "Backup deve ter apenas uma captura instantânea mas possui apenas %s" +msgstr "O backup deve ter apenas uma captura instantânea, mas possui %s" msgid "Backup status must be available" msgstr "O status de backup deve ser disponível" @@ -698,7 +695,7 @@ #, python-format msgid "Bad key(s) in quota set: %s" -msgstr "Chave(s) inválida(s) no conjunto de quota: %s" +msgstr "Chaves inválidas no conjunto de quota: %s" #, python-format msgid "" @@ -715,7 +712,7 @@ #, python-format msgid "Bad request sent to Datera cluster:Invalid args: %(args)s | %(message)s" msgstr "" -"Solicitação inválida enviada para cluster Datera: Argumentos inválidos: " +"Solicitação inválida enviada para o cluster Datera: Argumentos inválidos: " "%(args)s | %(message)s" msgid "Bad response from Datera API" @@ -729,7 +726,7 @@ msgstr "Resposta inválida de XMS, %s" msgid "Binary" -msgstr "binário" +msgstr "Binário" msgid "Blank components" msgstr "Componentes em branco" @@ -779,11 +776,11 @@ #, python-format msgid "Brocade Fibre Channel Zoning CLI error: %(reason)s" -msgstr "Erro na CLI do Fibre Channel Zoning Brocade: %(reason)s" +msgstr "Erro na CLI do Brocade Fibre Channel Zoning: %(reason)s" #, python-format msgid "Brocade Fibre Channel Zoning HTTP error: %(reason)s" -msgstr "Erro HTTP do Fibre Channel Zoning Brocade: %(reason)s" +msgstr "Erro HTTP do Brocade Fibre Channel Zoning: %(reason)s" msgid "CHAP secret should be 12-16 bytes." msgstr "O segredo do CHAP deve ter de 12 a 16 bytes." @@ -822,7 +819,7 @@ "\"" msgid "CONCERTO version is not supported" -msgstr "versão CONCERTO não é suportada" +msgstr "A versão CONCERTO não é suportada" #, python-format msgid "CPG (%s) doesn't exist on array" @@ -834,7 +831,8 @@ #, python-format msgid "Cache volume %(cache_vol)sdoes not have snapshot %(cache_snap)s." msgstr "" -"O volume de cache %(cache_vol)s não tem a captura instantânea %(cache_snap)s." +"O volume de cache %(cache_vol)s não possui a captura instantânea " +"%(cache_snap)s." #, python-format msgid "Cache volume %s does not have required properties" @@ -856,11 +854,11 @@ #, python-format msgid "Can not get pool info. pool: %s" -msgstr "Não é possível obter informações do conjunto. conjunto: %s" +msgstr "Não é possível obter informações do conjunto. Conjunto: %s" #, python-format msgid "Can not translate %s to integer." -msgstr "Não foi possível converter %s para inteiro." +msgstr "Não foi possível converter %s para número inteiro." #, python-format msgid "Can't access 'scality_sofs_config': %s" @@ -870,7 +868,7 @@ msgstr "Não é possível anexar a captura instantânea" msgid "Can't decode backup record." -msgstr "Não é possível decodificar registro de backup." +msgstr "Não é possível decodificar o registro de backup." #, python-format msgid "Can't extend replication volume, volume: %(id)s" @@ -888,10 +886,6 @@ "%(name)s." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "Não é possível localizar ID de LUN a partir do BD, volume: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "Não é possível localizar as informações de LUN na matriz, volume: %(id)s, " @@ -905,13 +899,13 @@ #, python-format msgid "Can't find service: %s" -msgstr "Não é possível localizar o serviço %s" +msgstr "Não é possível localizar o serviço: %s" msgid "" "Can't find snapshot on array, please check the source-name or source-id." msgstr "" -"Não é possível localizar a captura instantânea na matriz, verifique o nome " -"da origem ou o ID da origem." +"Não é possível localizar a captura instantânea na matriz, verifique o source-" +"name ou o source-id." msgid "Can't find the same host id from arrays." msgstr "Não é possível localizar o mesmo ID de host a partir das matrizes." @@ -985,15 +979,15 @@ msgid "Can't import snapshot %s to Cinder. Snapshot is exposed to initiator." msgstr "" "Não é possível importar a captura instantânea %s no Cinder. A captura " -"instantânea é exporta para o iniciador." +"instantânea é exposta para o iniciador." #, python-format msgid "" "Can't import snapshot %s to Cinder. Snapshot status is not normal or running " "status is not online." msgstr "" -"Não é possível importar a captura instantânea %s no Cinder. O status captura " -"instantânea não é normal ou o status de execução não é on-line." +"Não é possível importar a captura instantânea %s no Cinder. O status da " +"captura instantânea não é normal ou o status de execução não é on-line." #, python-format msgid "Can't open config file: %s" @@ -1105,14 +1099,14 @@ msgid "Cannot create encryption specs. Volume type in use." msgstr "" -"Não foi possível criar especificações de criptografia. Tipo de volume em uso." +"Não é possível criar especificações de criptografia. Tipo de volume em uso." #, python-format msgid "" "Cannot create image of disk format: %s. Only vmdk disk format is accepted." msgstr "" -"Não foi possível criar imagem do formato de disco: %s. Apenas o formato de " -"disco vmdk disk é aceito." +"Não é possível criar imagem do formato de disco: %s. Apenas o formato de " +"disco vmdk é aceito." #, python-format msgid "Cannot create masking view: %(maskingViewName)s. " @@ -1153,7 +1147,7 @@ #, python-format msgid "Cannot delete LUN %s while snapshots exist." msgstr "" -"Não é possível excluir o LUN %s enquanto existem capturas instantâneas." +"Não é possível excluir o LUN %s enquanto existirem capturas instantâneas." #, python-format msgid "" @@ -1199,18 +1193,18 @@ #, python-format msgid "Cannot find Replication Service to create volume for snapshot %s." msgstr "" -"Não é possível localizar o Serviço de replicação para criar volume para a " +"Não é possível localizar o Serviço de Replicação para criar volume para a " "captura instantânea %s." #, python-format msgid "Cannot find Replication Service to delete snapshot %s." msgstr "" -"Não é possível localizar o Serviço de replicação para excluir a captura " +"Não é possível localizar o Serviço de Replicação para excluir a captura " "instantânea %s." #, python-format msgid "Cannot find Replication service on system %s." -msgstr "Não é possível localizar o Serviço de replicação no sistema %s." +msgstr "Não é possível localizar o Serviço de Replicação no sistema %s." #, python-format msgid "Cannot find Volume: %(id)s. unmanage operation. Exiting..." @@ -1221,7 +1215,8 @@ #, python-format msgid "Cannot find Volume: %(volumename)s. Extend operation. Exiting...." msgstr "" -"Não é possível localizar Volume:%(volumename)s. Estender operação. Saindo...." +"Não é possível localizar o Volume:%(volumename)s. Estender operação. " +"Saindo...." #, python-format msgid "Cannot find device number for volume %(volumeName)s." @@ -1247,7 +1242,7 @@ msgid "Cannot get necessary pool or storage system information." msgstr "" -"Não é possível obter as informações necessárias do conjunto ou do sistema de " +"Não é possível obter as informações necessárias do pool ou do sistema de " "armazenamento." #, python-format @@ -1309,13 +1304,13 @@ "group %(name)s from source." msgstr "" "Não é possível fornecer 'cgsnapshot_id' e 'source_cgid' para criar o grupo " -"de consistências %(name)s da origem." +"de consistências %(name)s a partir da origem." msgid "Cannot register resource" -msgstr "Não foi possível registrar recurso" +msgstr "Não é possível registrar o recurso" msgid "Cannot register resources" -msgstr "Não foi possível registrar recursos" +msgstr "Não é possível registrar recursos" #, python-format msgid "" @@ -1340,21 +1335,20 @@ msgstr "Não é possível redefinir de HPE3PARDriver para %s." msgid "Cannot retype from one 3PAR array to another." -msgstr "Não é possível digitar novamente de uma matriz 3PAR para outra." +msgstr "Não é possível redefinir de uma matriz 3PAR para outra." msgid "Cannot retype to a CPG in a different domain." -msgstr "Não é possível digitar novamente para um CPG em um domínio diferente." +msgstr "Não é possível redefinir para um CPG em um domínio diferente." msgid "Cannot retype to a snap CPG in a different domain." -msgstr "" -"Não é possível digitar novamente em um CPG de snap em um domínio diferente." +msgstr "Não é possível redefinir em um CPG de snap em um domínio diferente." msgid "" "Cannot run vgc-cluster command, please ensure software is installed and " "permissions are set properly." msgstr "" "Não é possível executar o comando vgc-cluster; verifique se o software está " -"instalado e as permissões estão configuradas corretamente." +"instalado e se as permissões estão configuradas corretamente." msgid "Cannot set both hitachi_serial_number and hitachi_unit_name." msgstr "Não é possível definir hitachi_serial_number e hitachi_unit_name." @@ -1388,7 +1382,7 @@ msgstr "Não é possível verificar a existência do objeto: %(instanceName)s." msgid "Cascade option is not supported." -msgstr "A opção em cascata não é suportada" +msgstr "A opção em cascata não é suportada." #, python-format msgid "CgSnapshot %(cgsnapshot_id)s could not be found." @@ -1398,7 +1392,7 @@ msgstr "Cgsnahost está vazio. Nenhum grupo de consistências será criado." msgid "Cgsnapshot status must be available or error" -msgstr "O status da cgsnapshot deve estar disponível ou com erro" +msgstr "O status da cgsnapshot deve ser disponível ou erro" msgid "Change hostlun id error." msgstr "Erro ao alterar o ID de hostlun." @@ -1447,7 +1441,7 @@ #, python-format msgid "Cisco Fibre Channel Zoning CLI error: %(reason)s" -msgstr "Erro na CLI do Fibre Channel Zoning Cisco: %(reason)s" +msgstr "Erro na CLI do Cisco Fibre Channel Zoning: %(reason)s" #, python-format msgid "Clone feature is not licensed on %(storageSystem)s." @@ -1476,7 +1470,7 @@ #, python-format msgid "Command %(cmd)s blocked in the CLI and was cancelled" -msgstr "Comando %(cmd)s bloqueado na CLI e foi cancelado" +msgstr "O comando %(cmd)s foi bloqueado na CLI e cancelado" #, python-format msgid "CommandLineHelper._wait_for_a_condition: %s timeout" @@ -1488,7 +1482,7 @@ msgid "Compression Enabler is not installed. Can not create compressed volume." msgstr "" -"Ativador de Deduplicação não está instalado. Não é possível criar volume " +"O Deduplication Enabler não está instalado. Não é possível criar volume " "compactado." #, python-format @@ -1528,7 +1522,7 @@ msgstr "" "Conflito de especificações de QoS no tipo de volume %s: quando a " "especificação de QoS é associada ao tipo de volume; \"netapp:qos_policy_group" -"\" não é permitido nas especificações extras de tipo de volume." +"\" de legado não é permitido nas especificações extras de tipo de volume." #, python-format msgid "Connection to glance failed: %(reason)s" @@ -1566,18 +1560,18 @@ "Consistency group status must be available or error, but current status is: " "%s" msgstr "" -"O status do grupo de consistências deve estar disponível ou com erro, porém, " -"o status atual é:%s" +"O status do grupo de consistências deve ser disponível ou erro, mas o status " +"atual é:%s" #, python-format msgid "Consistency group status must be available, but current status is: %s." msgstr "" -"O status do grupo de consistências deve estar disponível, mas o status atual " +"O status do grupo de consistências deve ser disponível, mas o status atual " "é: %s." #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." -msgstr "ConsistencyGroup %(consistencygroup_id)s não pôde ser encontrado." +msgstr "O ConsistencyGroup %(consistencygroup_id)s não pôde ser encontrado." msgid "Container" msgstr "Contêiner" @@ -1599,7 +1593,7 @@ #, python-format msgid "Controller Configuration Service not found on %(storageSystemName)s." msgstr "" -"O Serviço de configuração do Controller não foi localizado em " +"O Serviço de Configuração do Controller não foi localizado em " "%(storageSystemName)s." #, python-format @@ -1620,7 +1614,7 @@ #, python-format msgid "Converted to raw, but format is now %s." -msgstr "Convertida para raw, mas o formato agora é %s." +msgstr "Convertido para bruto, mas o formato agora é %s." msgid "Coordinator uninitialized." msgstr "Coordenador não inicializado." @@ -1630,7 +1624,7 @@ "Copy volume task failed: convert_to_base_volume: id=%(id)s, status=" "%(status)s." msgstr "" -"Cópia da tarefa do volume falhou: convert_to_base_volume: id=%(id)s, " +"A cópia da tarefa do volume falhou: convert_to_base_volume: id=%(id)s, " "configuração=%(status)s." #, python-format @@ -1690,7 +1684,7 @@ #, python-format msgid "Could not find iSCSI export for volume %s" -msgstr "Não foi possível localizar iSCSI export para o volume %s" +msgstr "Não foi possível localizar exportação iSCSI para o volume %s" #, python-format msgid "Could not find iSCSI target for volume: %(volume_id)s." @@ -1728,12 +1722,12 @@ #, python-format msgid "Could not load paste app '%(name)s' from %(path)s" msgstr "" -"Não foi possível carregar o aplicativo paste app '%(name)s' a partir do " +"Não foi possível carregar o aplicativo de colagme '%(name)s' a partir do " "%(path)s" #, python-format msgid "Could not read %s. Re-running with sudo" -msgstr "Não foi possível ler %s. Rodando novamente com sudo" +msgstr "Não foi possível ler %s. Executando novamente com sudo" #, python-format msgid "" @@ -1750,7 +1744,7 @@ #, python-format msgid "Could not save configuration to %(file_path)s: %(exc)s" -msgstr "Não foi possível salvar a configuração para %(file_path)s: %(exc)s" +msgstr "Não foi possível salvar a configuração em %(file_path)s: %(exc)s" #, python-format msgid "Could not start consistency group snapshot %s." @@ -1827,14 +1821,14 @@ msgstr "Falha ao criar o par de replicação. Erro %s." msgid "Create snapshot error." -msgstr "Erro de criação de captura instantânea." +msgstr "Erro ao criar captura instantânea." #, python-format msgid "Create volume error. Because %s." -msgstr "Erro ao criar volume. Porque %s." +msgstr "Erro ao criar volume. Motivo %s." msgid "Create volume failed." -msgstr "Criar o volume falhou." +msgstr "A criação do volume falhou." msgid "Creating a consistency group from a source is not currently supported." msgstr "" @@ -1846,7 +1840,7 @@ "Creating and activating zone set failed: (Zone set=%(cfg_name)s error=" "%(err)s)." msgstr "" -"Criação e ativação de conjunto de zonas falhou: (Conjunto de Zona=" +"A criação e a ativação do conjunto de zonas falharam: (Conjunto de Zona=" "%(cfg_name)s erro=%(err)s)." #, python-format @@ -1854,7 +1848,7 @@ "Creating and activating zone set failed: (Zone set=%(zoneset)s error=" "%(err)s)." msgstr "" -"Criação e ativação de conjunto de zonas falhou: (Conjunto de Zona=" +"A criação e a ativação do conjunto de zonas falharam: (Conjunto de Zona=" "%(zoneset)s erro=%(err)s)." #, python-format @@ -1878,13 +1872,13 @@ "%(group)s." msgstr "" "O host mapeado atualmente para o volume %(vol)s está no grupo de hosts não " -"suportado com %(group)s." +"suportados com %(group)s." msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "DESCONTINUADO: Implemente v1 da API Cinder." +msgstr "DESCONTINUADO: Implemente a v1 da API Cinder." msgid "DEPRECATED: Deploy v2 of the Cinder API." -msgstr "DESCONTINUADO: Implemente v2 da API Cinder." +msgstr "DESCONTINUADO: Implemente a v2 da API Cinder." #, python-format msgid "" @@ -1899,7 +1893,7 @@ "not found." msgstr "" "Erro de configuração do driver DRBDmanage: algumas bibliotecas necessárias " -"(dbus, drbdmanage.*) não encontrado." +"(dbus, drbdmanage.*) não foram encontradas." #, python-format msgid "DRBDmanage expected one resource (\"%(res)s\"), got %(n)d" @@ -1961,16 +1955,16 @@ "Dedup is a valid provisioning type, but requires WSAPI version " "'%(dedup_version)s' version '%(version)s' is installed." msgstr "" -"A deduplicação é um tipo de fornecimento válido, mas requer a versão WSAPI " -"'%(dedup_version)s' versão '%(version)s' está instalada." +"A deduplicação é um tipo de fornecimento válido, mas requer a versão " +"'%(dedup_version)s' do WSAPI; a versão '%(version)s' está instalada." msgid "Dedup luns cannot be extended" -msgstr "LUNs dedup não podem ser estendidos" +msgstr "LUNs de deduplicação não podem ser estendidos" msgid "" "Deduplication Enabler is not installed. Can not create deduplicated volume" msgstr "" -"Ativador de Deduplicação não está instalado. Não é possível criar volume " +"O Deduplication Enabler não está instalado. Não é possível criar volume " "deduplicado" msgid "Default pool name if unspecified." @@ -1982,9 +1976,9 @@ "%(res)s, it is now deprecated. Please use the default quota class for " "default quota." msgstr "" -"Quota padrão para recurso: %(res)s é definida pela flag de quota padrão: " -"quota_%(res)s, isso está deprecado agora. Por favor, use a classe de quota " -"padrão para definir a quota padrão." +"A cota padrão para o recurso: %(res)s é definida pela flag de cota padrão: " +"quota_%(res)s, isso está descontinuado agora. Por favor, use a classe de " +"cota padrão para definir a cota padrão." msgid "Default volume type can not be found." msgstr "O tipo de volume padrão não pode ser localizado." @@ -2021,7 +2015,7 @@ msgstr "Erro ao excluir grupo de hosts." msgid "Delete hostgroup from mapping view error." -msgstr "Erro ao excluir grupo de hosts do mapeamento." +msgstr "Erro ao excluir grupo de hosts da visualização de mapeamento." msgid "Delete lun error." msgstr "Erro ao excluir lun." @@ -2049,7 +2043,7 @@ #, python-format msgid "Delete snapshot of volume not supported in state: %s." -msgstr "Remoção da captura instantânea do volume não suportada no estado: %s." +msgstr "Exclusão da captura instantânea do volume não suportada no estado: %s." #, python-format msgid "" @@ -2057,26 +2051,26 @@ "%(actual_status)s." msgstr "" "Delete_backup interrompida, esperava-se o status de backup " -"%(expected_status)s mas obteve %(actual_status)s." +"%(expected_status)s, mas foi obtido %(actual_status)s." msgid "Deleting volume from database and skipping rpc." msgstr "Excluindo volume do banco de dados e ignorando rpc." #, python-format msgid "Deleting zones failed: (command=%(cmd)s error=%(err)s)." -msgstr "Exclusão de zonas falhou: (comando=%(cmd)s erro=%(err)s)." +msgstr "A exclusão de zonas falhou: (comando=%(cmd)s erro=%(err)s)." msgid "Dell API 2.1 or later required for Consistency Group support" msgstr "" -"Dell API 2.1 ou mais recente é necessária para suporte do Grupo de " -"consistências" +"Dell API 2.1 ou mais recente é necessário para suporte do Grupo de " +"Consistências" msgid "" "Dell Cinder driver configuration error replication not supported with direct " "connect." msgstr "" "Replicação de erro de configuração do driver Dell Cinder não suportada com " -"conexão direta" +"conexão direta." #, python-format msgid "Dell Cinder driver configuration error replication_device %s not found" @@ -2085,10 +2079,10 @@ "localizada" msgid "Deploy v3 of the Cinder API." -msgstr "Implemente v3 da API Cinder." +msgstr "Implemente a v3 da API Cinder." msgid "Describe-resource is admin only functionality" -msgstr "O Descrever-recurso é uma funcionalidade apenas administrativa" +msgstr "O recurso de descrição é uma funcionalidade apenas administrativa" #, python-format msgid "Destination has migration_status %(stat)s, expected %(exp)s." @@ -2104,11 +2098,11 @@ "Detach volume failed: More than one attachment, but no attachment_id " "provided." msgstr "" -"Falha ao remover volume: mais de um anexo, mas nenhum attachment_id " +"Falha ao separar o volume: mais de um anexo, mas nenhum attachment_id " "fornecido." msgid "Detach volume from instance and then try again." -msgstr "Remova o volume da instância e, em seguida, tente novamente." +msgstr "Separe o volume da instância e, em seguida, tente novamente." #, python-format msgid "Detected more than one volume with name %(vol_name)s" @@ -2124,7 +2118,7 @@ "Não foi possível localizar a chave esperada %(key)s em %(fun)s: %(raw)s." msgid "Disabled reason contains invalid characters or is too long" -msgstr "Razão desativada contém caracteres inválidos ou é muito longa" +msgstr "A razão desativada contém caracteres inválidos ou é muito longa" #, python-format msgid "Domain with name %s wasn't found." @@ -2148,7 +2142,7 @@ "which is forbidden to migrate." msgstr "" "O driver não pode ser redefinido porque o volume (LUN {}) possui captura " -"instantânea que é proibida pra migração. " +"instantânea que é proibida para migração. " msgid "Driver must implement initialize_connection" msgstr "O driver deve implementar initialize_connection" @@ -2158,7 +2152,7 @@ "Driver successfully decoded imported backup data, but there are missing " "fields (%s)." msgstr "" -"Driver decodificado com êxito importou os dados de backup, mas há campos " +"O driver decodificou com sucesso dados de backup importados, mas há campos " "ausentes (%s)." #, python-format @@ -2206,7 +2200,7 @@ "Either SLO: %(slo)s or workload %(workload)s is invalid. Examine previous " "error statement for valid values." msgstr "" -"O SLO: %(slo)s ou carga de trabalho %(workload)s é inválido. Examine a " +"O SLO: %(slo)s ou a carga de trabalho %(workload)s é inválida. Examine a " "instrução de erro anterior para obter os valores válidos." msgid "Either hitachi_serial_number or hitachi_unit_name is required." @@ -2216,17 +2210,17 @@ #, python-format msgid "Element Composition Service not found on %(storageSystemName)s." msgstr "" -"O Serviço de composição do elemento não foi localizado em " +"O Serviço de Composição do Elemento não foi localizado em " "%(storageSystemName)s." msgid "Enables QoS." -msgstr "Permite de QoS." +msgstr "Ativa QoS." msgid "Enables compression." msgstr "Ativa a compactação." msgid "Enables replication." -msgstr "Permite replicação." +msgstr "Ativa replicação." msgid "Ensure that configfs is mounted at /sys/kernel/config." msgstr "Assegure-se de que configfs esteja montado em /sys/kernel/config." @@ -2257,16 +2251,16 @@ "Project: %(project)s Clone project: %(clone_proj)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"Erro Clonando Captura Instantânea: %(snapshot)s no Volume: %(lun)s de " -"Conjunto: %(pool)s Projeto: %(project)s Projeto clone: %(clone_proj)s Código " -"de retorno: %(ret.status)d Mensagem: %(ret.data)s." +"Erro ao Clonar Captura Instantânea: %(snapshot)s no Volume: %(lun)s de " +"Conjunto: %(pool)s Projeto: %(project)s Projeto do clone: %(clone_proj)s " +"Código de retorno: %(ret.status)d Mensagem: %(ret.data)s." #, python-format msgid "" "Error Create Cloned Volume: %(cloneName)s Return code: %(rc)lu. Error: " "%(error)s." msgstr "" -"Erro ao criar volume clonado: %(cloneName)s Código de retorno: %(rc)lu. " +"Erro ao criar volume Clonado: %(cloneName)s Código de retorno: %(rc)lu. " "Erro: %(error)s." #, python-format @@ -2274,14 +2268,14 @@ "Error Create Cloned Volume: Volume: %(cloneName)s Source Volume:" "%(sourceName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao Criar Volume Clonado: Volume: %(cloneName)s Volume Volume: " +"Erro ao Criar Volume Clonado: Volume: %(cloneName)s Volume de Origem: " "%(sourceName)s. Código de Retorno: %(rc)lu. Erro: %(error)s." #, python-format msgid "" "Error Create Group: %(groupName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao Criar Grupo: %(groupName)s. Código de retorno: %(rc)lu. Erro: " +"Erro ao Criar o Grupo: %(groupName)s. Código de retorno: %(rc)lu. Erro: " "%(error)s." #, python-format @@ -2296,14 +2290,14 @@ msgid "" "Error Create Volume: %(volumeName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao Criar Volume: %(volumeName)s. Código de retorno: %(rc)lu. Erro: " +"Erro ao Criar o Volume: %(volumeName)s. Código de retorno: %(rc)lu. Erro: " "%(error)s." #, python-format msgid "" "Error Create Volume: %(volumename)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao Criar Volume: %(volumename)s. Código de retorno: %(rc)lu. Erro: " +"Erro ao Criar o Volume: %(volumename)s. Código de retorno: %(rc)lu. Erro: " "%(error)s." #, python-format @@ -2361,7 +2355,7 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "Erro ao Criar Captura Instantânea: %(snapshot)s no Compartilhamento: " -"%(share)s para Conjunto: %(pool)s Projeto: %(project)s Código de retorno: " +"%(share)s para o Conjunto: %(pool)s Projeto: %(project)s Código de retorno: " "%(ret.status)d Mensagem: %(ret.data)s." #, python-format @@ -2392,7 +2386,7 @@ msgid "" "Error Creating new composite Volume Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao criar o novo código de retorno do volume composto: %(rc)lu. Erro: " +"Erro ao criar o novo Código de retorno de Volume composto: %(rc)lu. Erro: " "%(error)s." #, python-format @@ -2415,7 +2409,7 @@ msgid "" "Error Delete Volume: %(volumeName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"Erro ao Excluir Volume: %(volumeName)s. Código de retorno: %(rc)lu. Erro: " +"Erro ao Excluir o Volume: %(volumeName)s. Código de retorno: %(rc)lu. Erro: " "%(error)s." #, python-format @@ -2423,7 +2417,7 @@ "Error Deleting Group: %(storageGroupName)s. Return code: %(rc)lu. Error: " "%(error)s" msgstr "" -"Erro ao excluir grupo: %(storageGroupName)s. Código de retorno:%(rc)lu. " +"Erro ao excluir o grupo: %(storageGroupName)s. Código de retorno:%(rc)lu. " "Erro: %(error)s" #, python-format @@ -2431,7 +2425,7 @@ "Error Deleting Initiator Group: %(initiatorGroupName)s. Return code: " "%(rc)lu. Error: %(error)s" msgstr "" -"Erro ao Excluir Grupo de Iniciadores: %(initiatorGroupName)s. Código de " +"Erro ao Excluir o Grupo de Iniciadores: %(initiatorGroupName)s. Código de " "retorno:%(rc)lu. Erro: %(error)s" #, python-format @@ -2440,7 +2434,7 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "Erro ao Excluir Captura Instantânea: %(snapshot)s no Compartilhamento: " -"%(share)s para Conjunto: %(pool)s Projeto: %(project)s Código de retorno: " +"%(share)s para o Conjunto: %(pool)s Projeto: %(project)s Código de retorno: " "%(ret.status)d Mensagem: %(ret.data)s." #, python-format @@ -2497,7 +2491,7 @@ "%(data)s." msgstr "" "Erro ao Obter Estatísticas do Conjunto: Conjunto %(pool)s, Código de " -"Retorno: %(status)d, Mensagem: %(data)s." +"retorno: %(status)d, Mensagem: %(data)s." #, python-format msgid "" @@ -2520,7 +2514,7 @@ "Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erro ao Obter Captura Instantânea: %(snapshot)s no Volume:%(lun)s para " +"Erro ao Obter Captura Instantânea: %(snapshot)s no Volume:%(lun)s para o " "Conjunto: %(pool)s Projeto: %(project)s Código de retorno: %(ret.status)d " "Mensagem: %(ret.data)s." @@ -2567,9 +2561,9 @@ "Error Setting props Props: %(props)s on Volume: %(lun)s of Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erro ao Definir instalações do operador programável: %(props)s no Volume: " -"%(lun)s de Conjunto: %(pool)s Projeto: %(project)s Código de retorno: " -"%(ret.status)d Mensagem: %(ret.data)s." +"Erro ao Definir propriedades Propriedades: %(props)s no Volume: %(lun)s do " +"Conjunto: %(pool)s Projeto: %(project)s Código de retorno: %(ret.status)d " +"Mensagem: %(ret.data)s." #, python-format msgid "" @@ -2623,7 +2617,7 @@ "Error Verifying share: %(share)s on Project: %(project)s and Pool: %(pool)s " "Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"Erro ao verificar compartilhamento: %(share)s no Projeto: %(project)s e no " +"Erro ao Verificar compartilhamento: %(share)s no Projeto: %(project)s e no " "Conjunto: %(pool)s Código de retorno: %(ret.status)d Mensagem: %(ret.data)s." #, python-format @@ -2639,12 +2633,12 @@ "Error adding initiator to group : %(groupName)s. Return code: %(rc)lu. " "Error: %(error)s." msgstr "" -"Erro ao incluir inicializador para o grupo :%(groupName)s. Código de " -"retorno :%(rc)lu. Erro: %(error)s." +"Erro ao incluir inicializador no grupo :%(groupName)s. Código de retorno :" +"%(rc)lu. Erro: %(error)s." #, python-format msgid "Error adding volume to composite volume. Error is: %(error)s." -msgstr "Erro ao incluir o volume ao volume composto. O erro é: %(error)s." +msgstr "Erro ao incluir o volume no volume composto. O erro é: %(error)s." #, python-format msgid "Error appending volume %(volumename)s to target base volume." @@ -2660,18 +2654,19 @@ #, python-format msgid "Error attaching volume %s. Target limit might be reached!" -msgstr "Erro ao conectar o volume %s. O limite de destino pode ser atingido!" +msgstr "" +"Erro ao conectar o volume %s. O limite de destino pode ter sido atingido!" #, python-format msgid "" "Error break clone relationship: Sync Name: %(syncName)s Return code: " "%(rc)lu. Error: %(error)s." msgstr "" -"Relacionamento de clone de quebra de erro: Nome da sincronização: " -"%(syncName)s Código de retorno: %(rc)lu. Erro: %(error)s." +"Erro de quebra de relacionamento de clone: Nome da Sincronização: " +"%(syncName)s Código de Retorno: %(rc)lu. Erro: %(error)s." msgid "Error connecting to ceph cluster." -msgstr "Erro ao se conectar ao cluster ceph." +msgstr "Erro ao conectar-se ao cluster ceph." #, python-format msgid "Error connecting via ssh: %s" @@ -2709,7 +2704,7 @@ "Error enabling iSER for NetworkPortal: please ensure that RDMA is supported " "on your iSCSI port %(port)d on ip %(ip)s." msgstr "" -"Erro ao ativar iSER para NetworkPortal: assegure-se de que RDMA seja " +"Erro ao ativar iSER para NetworkPortal: assegure-se de que o RDMA seja " "suportado na porta iSCSI %(port)d no IP %(ip)s." #, python-format @@ -2725,7 +2720,7 @@ #, python-format msgid "Error executing command via ssh: %s" -msgstr "Erro ao executar comando via ssh: %s" +msgstr "Erro ao executar o comando via ssh: %s" #, python-format msgid "Error extending volume %(vol)s: %(err)s." @@ -2939,7 +2934,7 @@ "onSnapshot: %(snapshot)s" msgstr "" "Erro ao verificar tamanho do clone no clone do Volume: %(clone)s Tamanho: " -"%(size)d onSnapshot: %(snapshot)s" +"%(size)d na Captura Instantânea: %(snapshot)s" #, python-format msgid "Error while authenticating with switch: %s." @@ -3031,7 +3026,7 @@ #, python-format msgid "Error while requesting %(service)s API." -msgstr "Erro ao solicitar %(service)s da API." +msgstr "Erro ao solicitar a API do %(service)s ." #, python-format msgid "Error while running zoning CLI: (command=%(cmd)s error=%(err)s)." @@ -3126,7 +3121,7 @@ #, python-format msgid "Expected volume size was %d" -msgstr "Tamanho do volume esperado era %d" +msgstr "O tamanho do volume esperado era %d" #, python-format msgid "" @@ -3134,7 +3129,7 @@ "%(actual_status)s." msgstr "" "Exportação de backup interrompida, esperava-se o status de backup " -"%(expected_status)s mas obteve %(actual_status)s." +"%(expected_status)s, mas foi obtido %(actual_status)s." #, python-format msgid "" @@ -3152,17 +3147,17 @@ msgid "" "Extend volume is only supported for this driver when no snapshots exist." msgstr "" -"Estender o volume é suportado para este driver apenas quando não existem " -"capturas instantâneas." +"O volume de extensão é suportado para este driver somente quando nenhuma " +"captura instantânea existir." msgid "Extend volume not implemented" -msgstr "Estender volume não implementado" +msgstr "Volume de extensão não implementado" msgid "" "FAST VP Enabler is not installed. Can't set tiering policy for the volume" msgstr "" -"Ativador VP de FAST não é instalado. Não é possível configurar a política de " -"camadas para o volume" +"O FAST VP Enabler não está instalado. Não é possível configurar a política " +"de definição de camadas para o volume" msgid "FAST is not supported on this array." msgstr "O FAST não é suportado nesta matriz." @@ -3257,7 +3252,7 @@ #, python-format msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "Falha ao associar qos_specs: %(specs_id)s com tipo %(type_id)s." +msgstr "Falha ao associar qos_specs: %(specs_id)s com o tipo %(type_id)s." #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." @@ -3272,12 +3267,12 @@ "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" msgstr "" -"Falha ao fazer backup de metadados de volume – Objeto de backup de metadados " -"'backup.%s.meta' já existe" +"Falha ao fazer backup de metadados de volume – O objeto de backup de " +"metadados 'backup.%s.meta' já existe" #, python-format msgid "Failed to clone volume from snapshot %s." -msgstr "Falha ao clonar volume da captura instantânea %s." +msgstr "Falha ao clonar volume a partir da captura instantânea %s." #, python-format msgid "Failed to connect to %(vendor_name)s Array %(host)s: %(err)s" @@ -3317,7 +3312,7 @@ msgstr "Falha ao criar IG, %s" msgid "Failed to create SolidFire Image-Volume" -msgstr "Falha ao criar imagem SolidFire-Volume" +msgstr "Falha ao criar Imagem-Volume do SolidFire" #, python-format msgid "Failed to create Volume Group: %(vg_name)s" @@ -3343,7 +3338,7 @@ #, python-format msgid "Failed to create consistency group %(id)s due to %(reason)s." -msgstr "Falha ao criar grupo de consistências %(id)s devido a %(reason)s." +msgstr "Falha ao criar o grupo de consistências %(id)s devido a %(reason)s." #, python-format msgid "Failed to create consistency group %(id)s:%(ret)s." @@ -3371,7 +3366,7 @@ "%(rc)lu. Error: %(error)s." msgstr "" "Falha ao criar grupo de consistências: %(consistencyGroupName)s Código de " -"retorno: %(rc)lu. Erro: %(error)s." +"Retorno: %(rc)lu. Erro: %(error)s." #, python-format msgid "Failed to create hardware id(s) on %(storageSystemName)s." @@ -3380,7 +3375,7 @@ #, python-format msgid "" "Failed to create host: %(name)s. Please check if it exists on the array." -msgstr "Falha ao criar o host: %(name)s. Verifique se ele existir na matriz." +msgstr "Falha ao criar o host: %(name)s. Verifique se ele existe na matriz." #, python-format msgid "Failed to create hostgroup: %(name)s. Check if it exists on the array." @@ -3398,13 +3393,13 @@ msgstr "Falha ao criar fluxo existente de gerenciamento." msgid "Failed to create manage_existing flow." -msgstr "Falha ao criar fluxo manage_existing." +msgstr "Falha ao criar o fluxo manage_existing." msgid "Failed to create map on mcs, no channel can map." msgstr "Falha ao criar mapa no mcs; nenhum canal pode ser mapeado." msgid "Failed to create map." -msgstr "Falha ao criar mapa." +msgstr "Falha ao criar o mapa." #, python-format msgid "Failed to create metadata for volume: %(reason)s" @@ -3458,7 +3453,7 @@ "OpenStack volume [%s]." msgstr "" "Falha ao criar captura instantânea. As informações de volume do CloudByte " -"não foram localizadas para O volume OpenStack [%s]." +"não foram localizadas para o volume OpenStack [%s]." #, python-format msgid "Failed to create south bound connector for %s." @@ -3503,7 +3498,7 @@ "%(rc)lu. Error: %(error)s." msgstr "" "Falha ao excluir o grupo de consistências: %(consistencyGroupName)s Código " -"de retorno: %(rc)lu. Erro: %(error)s." +"de Retorno: %(rc)lu. Erro: %(error)s." msgid "Failed to delete device." msgstr "Falha ao excluir dispositivo." @@ -3519,7 +3514,7 @@ msgstr "Falha ao excluir iqn." msgid "Failed to delete map." -msgstr "Falha ao excluir mapa." +msgstr "Falha ao excluir o mapa." msgid "Failed to delete partition." msgstr "Falha ao excluir a partição." @@ -3555,17 +3550,17 @@ #, python-format msgid "Failed to detach iSCSI target for volume %(volume_id)s." -msgstr "Falha ao remover o destino de iSCSI para o volume %(volume_id)s." +msgstr "Falha ao separar o destino de iSCSI para o volume %(volume_id)s." msgid "Failed to determine blockbridge API configuration" msgstr "Falha ao determinar a configuração da API blockbridge" msgid "Failed to disassociate qos specs." -msgstr "Falha ao desassociar qos specs. " +msgstr "Falha ao desassociar especificações do qos. " #, python-format msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "Falha ao desassociar qos_specs: %(specs_id)s com tipo %(type_id)s." +msgstr "Falha ao desassociar qos_specs: %(specs_id)s com o tipo %(type_id)s." #, python-format msgid "" @@ -3680,7 +3675,7 @@ #, python-format msgid "Failed to get all associations of qos specs %s" -msgstr "Falha ao obter todas as associações de qos specs %s" +msgstr "Falha ao obter todas as associações de especificações de qos %s" msgid "Failed to get channel info." msgstr "Falha ao obter informações do canal." @@ -3755,7 +3750,7 @@ msgstr "Falha ao obter informações de réplica." msgid "Failed to get show fcns database info." -msgstr "Falha ao obter/mostrar informações do banco de dados fcns." +msgstr "Falha ao obter ou mostrar informações do banco de dados fcns." msgid "Failed to get size of existing volume: %(vol). Volume Manage failed." msgstr "" @@ -3828,7 +3823,7 @@ "seguinte motivo: %s" msgid "Failed to manage api volume flow." -msgstr "Falha ao gerenciar fluxo de volume da API." +msgstr "Falha ao gerenciar o fluxo de volume da API." #, python-format msgid "" @@ -3867,16 +3862,16 @@ "does not match the NFS share passed in the volume reference." msgstr "" "Falha ao gerenciar o volume existente porque o conjunto do tipo de volume " -"escolhido não corresponde ao compartilhamento NFS passado na referência de " -"volume." +"escolhido não corresponde ao compartilhamento NFS transmitido na referência " +"de volume." msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the file system passed in the volume reference." msgstr "" "Falha ao gerenciar o volume existente porque o conjunto do tipo de volume " -"escolhido não corresponde ao sistema de arquivos passado na referência de " -"volume." +"escolhido não corresponde ao sistema de arquivos transmitido na referência " +"de volume." msgid "" "Failed to manage existing volume because the pool of the volume type chosen " @@ -3910,14 +3905,14 @@ "compress, but the volume type chosen is not compress." msgstr "" "Falha ao gerenciar o volume existente porque o volume a ser gerenciado está " -"compactado, e o tipo de volume escolhido não está compactado." +"compactado, mas o tipo de volume escolhido não está compactado." msgid "" "Failed to manage existing volume due to the volume to be managed is not " "compress, but the volume type chosen is compress." msgstr "" "Falha ao gerenciar o volume existente porque o volume a ser gerenciado não " -"está compactado, e o tipo de volume escolhido está compactado." +"está compactado, mas o tipo de volume escolhido está compactado." msgid "" "Failed to manage existing volume due to the volume to be managed is not in a " @@ -4035,14 +4030,14 @@ "Failed to remove: %(volumename)s. from the default storage group for FAST " "policy %(fastPolicyName)s." msgstr "" -"Falha ao remover: %(volumename)s. do grupo de armazenamento padrão para " +"Falha ao remover: %(volumename)s. do grupo de armazenamentos padrão para " "política FAST %(fastPolicyName)s." #, python-format msgid "" "Failed to rename logical volume %(name)s, error message was: %(err_msg)s" msgstr "" -"Falha ao renomear volume lógico %(name)s, mensagem de erro foi: %(err_msg)s" +"Falha ao renomear volume lógico %(name)s, a mensagem de erro foi: %(err_msg)s" #, python-format msgid "Failed to retrieve active zoning configuration %s" @@ -4062,10 +4057,10 @@ "%(msg)s." msgid "Failed to set attribute 'Incoming user' for SCST target." -msgstr "Falha ao configurar atributo 'Incoming user' para SCST de destino." +msgstr "Falha ao configurar o atributo 'Incoming user' para o destino SCST." msgid "Failed to set partition." -msgstr "Falha ao configurar partição." +msgstr "Falha ao configurar a partição." #, python-format msgid "" @@ -4080,8 +4075,8 @@ "Failed to specify a logical device for the volume %(volume_id)s to be " "unmapped." msgstr "" -"Falha ao especificar um dispositivo lógico para o volume %(volume_id)s a ser " -"removido do mapeamento." +"Falha ao especificar um dispositivo lógico para o volume %(volume_id)s a ter " +"o mapeamento removido." #, python-format msgid "" @@ -4113,7 +4108,7 @@ #, python-format msgid "Failed to update consistency group: %(cgName)s." -msgstr "Falha ao atualizar grupo de consistências: %(cgName)s." +msgstr "Falha ao atualiza or grupo de consistências: %(cgName)s." #, python-format msgid "Failed to update metadata for volume: %(reason)s" @@ -4131,10 +4126,10 @@ "Falha ao atualizar qos_specs: %(specs_id)s com especificações %(qos_specs)s." msgid "Failed to update quota usage while retyping volume." -msgstr "Falha ao atualizar o uso de cota ao digitar novamente o volume." +msgstr "Falha ao atualizar o uso de cota ao redefinir o volume." msgid "Failed to update snapshot." -msgstr "Falha ao atualizar captura instantânea." +msgstr "Falha ao atualizar a captura instantânea." #, python-format msgid "Failed updating model with driver provided model %(model)s" @@ -4169,7 +4164,7 @@ msgstr "Falha na preparação do LUN %s para tmp." msgid "Fatal error: User not permitted to query NetApp volumes." -msgstr "Erro fatal: Usuário não é permitido para consulta de volumes NetApp." +msgstr "Erro fatal: Usuário não permitido para consultar volumes NetApp." #, python-format msgid "Fexvisor failed to add volume %(id)s due to %(reason)s." @@ -4193,7 +4188,7 @@ #, python-format msgid "Fexvisor failed to remove volume %(id)s due to %(reason)s." -msgstr "Fexvisor falhou ao remover o volume %(id)s devido a %(reason)s." +msgstr "O Fexvisor falhou ao remover o volume %(id)s devido a %(reason)s." #, python-format msgid "Fibre Channel SAN Lookup failure: %(reason)s" @@ -4201,7 +4196,7 @@ #, python-format msgid "Fibre Channel Zone operation failed: %(reason)s" -msgstr "Operação Fibre Channel Zone falhou: %(reason)s" +msgstr "A operação Fibre Channel Zone falhou: %(reason)s" #, python-format msgid "Fibre Channel connection control failure: %(reason)s" @@ -4214,7 +4209,7 @@ #, python-format msgid "File %(path)s has invalid backing file %(bfile)s, aborting." msgstr "" -"O arquivo %(path)s tem arquivo de backup inválido %(bfile)s, interrompendo." +"O arquivo %(path)s tem arquivo auxiliar inválido %(bfile)s, interrompendo." #, python-format msgid "File already exists at %s." @@ -4250,16 +4245,16 @@ "Flash Cache Policy requires WSAPI version '%(fcache_version)s' version " "'%(version)s' is installed." msgstr "" -"A política de cache de atualização requer a versão WSAPI " -"'%(fcache_version)s' versão '%(version)s' está instalada." +"A política de cache de atualização requer a versão '%(fcache_version)s' do " +"WSAPI; a versão '%(version)s' está instalada." #, python-format msgid "Flexvisor assign volume failed.:%(id)s:%(status)s." -msgstr "Volume de designação do Flexvisor com falha: %(id)s:%(status)s." +msgstr "O Volume de designação do Flexvisor falhou: %(id)s:%(status)s." #, python-format msgid "Flexvisor assign volume failed:%(id)s:%(status)s." -msgstr "Volume de designação do Flexvisor falhou:%(id)s:%(status)s." +msgstr "O volume de designação do Flexvisor falhou:%(id)s:%(status)s." #, python-format msgid "" @@ -4271,7 +4266,7 @@ #, python-format msgid "Flexvisor create volume failed.:%(volumeid)s:%(status)s." -msgstr "Flexvisor cria volume com falha.:%(volumeid)s:%(status)s." +msgstr "Flexvisor falhou ao criar o volume.:%(volumeid)s:%(status)s." #, python-format msgid "Flexvisor failed deleting volume %(id)s: %(status)s." @@ -4279,15 +4274,15 @@ #, python-format msgid "Flexvisor failed to add volume %(id)s to group %(cgid)s." -msgstr "O Flexvisor falhou ao incluir o volume %(id)s ao grupo %(cgid)s." +msgstr "O Flexvisor falhou ao incluir o volume %(id)s no grupo %(cgid)s." #, python-format msgid "" "Flexvisor failed to assign volume %(id)s due to unable to query status by " "event id." msgstr "" -"Flexvisor falhou ao designar o volume %(id)s devido a não poder consultar o " -"status pelo id de evento." +"O Flexvisor falhou ao designar o volume %(id)s devido à incapacidade de " +"consultar o status pelo id de evento." #, python-format msgid "Flexvisor failed to assign volume %(id)s: %(status)s." @@ -4333,19 +4328,21 @@ #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s: %(status)s." msgstr "" -"O Flexvisor falhou ao criar volume da captura instantânea %(id)s:%(status)s." +"O Flexvisor falhou ao criar volume a partir da captura instantânea %(id)s:" +"%(status)s." #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s:%(status)s." msgstr "" -"O Flexvisor falhou ao criar volume da captura instantânea %(id)s:%(status)s." +"O Flexvisor falhou ao criar volume a partir da captura instantânea %(id)s:" +"%(status)s." #, python-format msgid "" "Flexvisor failed to create volume from snapshot (failed to get event) %(id)s." msgstr "" -"O Flexvisor falhou ao criar volume da captura instantânea (falha ao obter " -"evento) %(id)s." +"O Flexvisor falhou ao criar volume a partir da captura instantânea (falha ao " +"obter evento) %(id)s." #, python-format msgid "Flexvisor failed to delete snapshot %(id)s: %(status)s." @@ -4388,29 +4385,30 @@ #, python-format msgid "Flexvisor failed to remove volume %(id)s from group %(cgid)s." -msgstr "Flexvisor falhou ao remover o volume %(id)s do grupo %(cgid)s." +msgstr "O Flexvisor falhou ao remover o volume %(id)s do grupo %(cgid)s." #, python-format msgid "Flexvisor failed to spawn volume from snapshot %(id)s:%(status)s." msgstr "" -"O Flexvisor falhou ao efetuar spawn do volume de captura instantânea %(id)s:" -"%(status)s." +"O Flexvisor falhou ao efetuar spawn do volume a partir da captura " +"instantânea %(id)s:%(status)s." #, python-format msgid "" "Flexvisor failed to spawn volume from snapshot (failed to get event) %(id)s." msgstr "" -"Flexvisor falhou ao efetuar spawn do volume de captura instantânea (falha ao " -"obter evento) %(id)s." +"Flexvisor falhou ao efetuar spawn do volume a partir da captura instantânea " +"(falha ao obter evento) %(id)s." #, python-format msgid "Flexvisor failed to unassign volume %(id)s: %(status)s." -msgstr "Flexvisor falhou ao remover a designação do volume %(id)s:%(status)s." +msgstr "" +"O Flexvisor falhou ao remover a designação do volume %(id)s:%(status)s." #, python-format msgid "Flexvisor failed to unassign volume (get event) %(id)s." msgstr "" -"Flexvisor falhou ao remover designação do volume (obter evento) %(id)s." +"O Flexvisor falhou ao remover designação do volume (obter evento) %(id)s." #, python-format msgid "Flexvisor failed to unassign volume:%(id)s:%(status)s." @@ -4426,7 +4424,7 @@ #, python-format msgid "Flexvisor unassign volume failed:%(id)s:%(status)s." msgstr "" -"Falha na remoção de designação de volume pelo Flexvisor %(id)s:%(status)s." +"Falha ao remover a designação de volume do Flexvisor %(id)s:%(status)s." #, python-format msgid "Flexvisor volume %(id)s failed to join group %(vgid)s." @@ -4438,10 +4436,10 @@ #, python-format msgid "GPFS is not running, state: %s." -msgstr "GPFS não está em execução, estado: %s." +msgstr "O GPFS não está em execução, estado: %s." msgid "Gateway VIP is not set" -msgstr "Gateway VIP não está configurado" +msgstr "O VIP do gateway não está configurado" msgid "Get FC ports by port group error." msgstr "Erro ao obter portas FC por grupo de portas." @@ -4498,8 +4496,8 @@ "Get iSCSI port info error, please check the target IP configured in huawei " "conf file." msgstr "" -"Erro ao obter informações da porta iSCSI; verifique o IP de destino " -"configurada no arquivo conf huawei." +"Erro ao obter informações da porta iSCSI; verifique o IP de destino definido " +"no arquivo de configuração huawei." msgid "Get iSCSI port information error." msgstr "Erro ao obter informações da porta iSCSI." @@ -4508,7 +4506,7 @@ msgstr "Erro ao obter porta de destino iSCSI." msgid "Get lun id by name error." -msgstr "Erro ao obter ID de LUN pelo nome." +msgstr "Erro ao obter ID de LUN por nome." msgid "Get lun migration task error." msgstr "Erro ao obter tarefa de migração de LUN." @@ -4578,14 +4576,14 @@ "Glance metadata cannot be updated, key %(key)s exists for volume id " "%(volume_id)s" msgstr "" -"A visão de metadados não pode ser atualizada; existe a chave %(key)s para o " -"ID do volume %(volume_id)s" +"Os metadados do Glance não podem ser atualizados; a chave %(key)s existe " +"para o ID do volume %(volume_id)s" #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." msgstr "" -"Metadados do Glance para o volume/captura instantânea %(id)s não pôde ser " -"encontrado." +"Os metadados do Glance para o volume/captura instantânea %(id)s não podem " +"ser encontrados." #, python-format msgid "Gluster config file at %(config)s doesn't exist" @@ -4593,7 +4591,7 @@ #, python-format msgid "Google Cloud Storage api failure: %(reason)s" -msgstr "Falha da API Google Cloud Storage: %(reason)s" +msgstr "Falha da API do Google Cloud Storage: %(reason)s" #, python-format msgid "Google Cloud Storage connection failure: %(reason)s" @@ -4605,10 +4603,10 @@ #, python-format msgid "Got bad path information from DRBDmanage! (%s)" -msgstr "Informações de caminho inválido obtido do DRBDmanage! (%s)" +msgstr "Informações de caminho inválido obtidas do DRBDmanage! (%s)" msgid "HBSD error occurs." -msgstr "Erro HBSD ocorreu." +msgstr "Ocorreu um erro HBSD." msgid "HNAS has disconnected SSC" msgstr "O HNAS possui SSC desconectado" @@ -4631,13 +4629,13 @@ "Hash block size has changed since the last backup. New hash block size: " "%(new)s. Old hash block size: %(old)s. Do a full backup." msgstr "" -"O tamanho de bloco hash foi alterado desde o último backup. O novo tamanho " -"de bloco hash: %(new)s. Antigo tamanho de bloco hash: %(old)s. Execute um " +"O tamanho de bloco hash foi alterado desde o último backup. Novo tamanho de " +"bloco hash: %(new)s. Tamanho de bloco hash antigo: %(old)s. Execute um " "backup completo." #, python-format msgid "Have not created %(tier_levels)s tier(s)." -msgstr "Não tem camada(s) %(tier_levels)s criada(s)." +msgstr "As camadas %(tier_levels)s não foram criadas." #, python-format msgid "Hint \"%s\" not supported." @@ -4660,11 +4658,11 @@ #, python-format msgid "Host %s has no FC initiators" -msgstr "Host %s não possui inicializadores do FC" +msgstr "O host %s não possui inicializadores do FC" #, python-format msgid "Host %s has no iSCSI initiator" -msgstr "Host %s não possui inicializador do iSCSI" +msgstr "O host %s não possui inicializador do iSCSI" #, python-format msgid "Host '%s' could not be found." @@ -4722,7 +4720,7 @@ "If compression is set to True, rsize must also be set (not equal to -1)." msgstr "" "Se a compactação estiver configurada como True, rsize também deverá ser " -"configurado (não igual a -1)." +"configurado (diferente de -1)." msgid "If nofmtdisk is set to True, rsize must also be set to -1." msgstr "" @@ -4735,7 +4733,7 @@ "valid value(s) are %(enabled)s." msgstr "" "Valor ilegal '%(prot)s' especificado para flashsystem_connection_protocol: " -"valor(es) válido(s) são %(enabled)s." +"os valores válidos são %(enabled)s." msgid "Illegal value specified for IOTYPE: 0, 1, or 2." msgstr "Valor ilegal especificado para IOTYPE: 0, 1 ou 2." @@ -4795,17 +4793,17 @@ "Import record failed, cannot find backup service to perform the import. " "Request service %(service)s" msgstr "" -"Importação de registro falhou, não é possível localizar o serviço de backup " -"para executar a importação. Solicitar serviço %(service)s" +"A importação de registro falhou, não é possível localizar o serviço de " +"backup para executar a importação. Solicite o serviço %(service)s" msgid "Incorrect request body format" -msgstr "Formato do corpo da solicitação incorreta" +msgstr "Formato do corpo da solicitação incorreto" msgid "Incorrect request body format." msgstr "Formato do corpo da solicitação incorreto." msgid "Incremental backups exist for this backup." -msgstr "Os backups incrementais existem para esse backup." +msgstr "Backups incrementais existem para esse backup." #, python-format msgid "" @@ -4849,13 +4847,13 @@ #, python-format msgid "Invalid 3PAR Domain: %(err)s" -msgstr "Inválido Domínio 3PAR: %(err)s" +msgstr "Domínio 3PAR Inválido: %(err)s" msgid "Invalid ALUA value. ALUA value must be 1 or 0." msgstr "Valor ALUA inválido. O valor ALUA deve ser 1 ou 0." msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "Argumentos fornecidos de Ceph inválidos para a operação rbd de backup" +msgstr "Argumentos de Ceph fornecidos inválidos para a operação rbd de backup" #, python-format msgid "Invalid CgSnapshot: %(reason)s" @@ -4869,8 +4867,8 @@ "Invalid ConsistencyGroup: Consistency group status must be available or " "error, but current status is: in-use" msgstr "" -"ConsistencyGroup inválido: O status do grupo de consistências deve estar " -"disponível ou com erro, porém, o status atual é: em uso" +"ConsistencyGroup inválido: O status do grupo de consistências deve ser " +"disponível ou erro, porém, o status atual é: em uso" #, python-format msgid "" @@ -4890,7 +4888,8 @@ "greater required for manage/unmanage support." msgstr "" "Versão HPELeftHand da API inválida localizada: %(found)s. A versão " -"%(minimum)s ou maior são necessárias para gerenciar/não gerenciar o suporte." +"%(minimum)s ou maior é necessária para suporte de gerenciamento/não " +"gerenciamento." #, python-format msgid "Invalid IP address format: '%s'" @@ -4916,8 +4915,8 @@ "Invalid Virtuozzo Storage share specification: %r. Must be: [MDS1[," "MDS2],...:/][:PASSWORD]." msgstr "" -"Especificação de compartilhamento de armazenamento Virtuozzo inválido: %r. " -"Deve ser: [MDS1[,MDS2],...:/][:PASSWORD]." +"Especificação de compartilhamento de Virtuozzo Storage inválido: %r. Deve " +"ser: [MDS1[,MDS2],...:/][:PASSWORD]." #, python-format msgid "Invalid XtremIO version %(cur)s, version %(min)s or up is required" @@ -4945,7 +4944,7 @@ #, python-format msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." -msgstr "Modo de anexamento inválido '%(mode)s' para o volume %(volume_id)s." +msgstr "Modo de anexação inválido '%(mode)s' para o volume %(volume_id)s." #, python-format msgid "Invalid auth key: %(reason)s" @@ -4997,7 +4996,7 @@ #, python-format msgid "Invalid disk backing: %s." -msgstr "Disco inválido auxiliar: %s." +msgstr "Disco auxiliar inválido: %s." #, python-format msgid "Invalid disk type: %(disk_type)s." @@ -5033,11 +5032,11 @@ #, python-format msgid "Invalid image href %(image_href)s." -msgstr "Imagem inválida href %(image_href)s." +msgstr "Imagem href %(image_href)s inválida." msgid "Invalid image identifier or unable to access requested image." msgstr "" -"O identificador da imagem inválido ou incapaz de acessar a imagem solicitada." +"Identificador da imagem inválido ou incapaz de acessar a imagem solicitada." msgid "Invalid imageRef provided." msgstr "imageRef inválida fornecida." @@ -5078,7 +5077,7 @@ #, python-format msgid "Invalid new snapCPG name for retype. new_snap_cpg='%s'." -msgstr "Novo nome do snapCPG inválido para nova digitação. new_snap_cpg='%s'." +msgstr "Novo nome do snapCPG inválido para redefinição. new_snap_cpg='%s'." #, python-format msgid "Invalid port number %(config)s for Coho rpc port" @@ -5093,7 +5092,7 @@ #, python-format msgid "Invalid qos specs: %(reason)s" -msgstr "Inválidas qos specs: %(reason)s" +msgstr "Especificações de qos inválidas: %(reason)s" msgid "Invalid request to attach volume to an invalid target" msgstr "Solicitação inválida para anexar volume a um destino inválido" @@ -5102,7 +5101,7 @@ "Invalid request to attach volume with an invalid mode. Attaching mode should " "be 'rw' or 'ro'" msgstr "" -"Solicitação inválida para anexar o volume a um modo inválido. O modo de " +"Solicitação inválida para anexar o volume com um modo inválido. O modo de " "anexação deve ser 'rw' ou 'ro'" #, python-format @@ -5129,7 +5128,7 @@ #, python-format msgid "Invalid snapshot: %(reason)s" -msgstr "Snapshot inválido: %(reason)s" +msgstr "Captura instantânea inválida: %(reason)s" #, python-format msgid "Invalid status: '%s'" @@ -5138,8 +5137,7 @@ #, python-format msgid "Invalid storage pool %s requested. Retype failed." msgstr "" -"Conjunto de armazenamentos inválido %s solicitado. Digitar novamente com " -"falha." +"Conjunto de armazenamentos inválido %s solicitado. A redefinição falhou." #, python-format msgid "Invalid storage pool %s specificed." @@ -5177,8 +5175,7 @@ #, python-format msgid "Invalid value '%s' for is_public. Accepted values: True or False." -msgstr "" -"Valor inválido '%s' para valores is_public. Valores aceitos: True ou False." +msgstr "Valor inválido '%s' para is_public. Valores aceitos: True ou False." #, python-format msgid "Invalid value '%s' for skip_validation." @@ -5186,7 +5183,7 @@ #, python-format msgid "Invalid value for 'bootable': '%s'" -msgstr "Valor inválido para 'inicializável': '%s'" +msgstr "Valor inválido para 'bootable': '%s'" #, python-format msgid "Invalid value for 'force': '%s'" @@ -5194,7 +5191,7 @@ #, python-format msgid "Invalid value for 'readonly': '%s'" -msgstr "Valor inválido para 'somente leitura': '%s'" +msgstr "Valor inválido para 'readonly': '%s'" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" msgstr "Valor inválido para 'scheduler_max_attempts'; deve ser >= 1" @@ -5221,7 +5218,7 @@ "an integer (or string representation of an integer) and greater than zero)." msgstr "" "Tamanho de volume inválido fornecido para a solicitação de criação: %s (o " -"tamanho do argumento deve ser um número inteiro (ou representação em " +"argumento de tamanho deve ser um número inteiro (ou uma representação em " "sequência de um número inteiro) e maior que zero)." #, python-format @@ -5250,7 +5247,7 @@ msgstr "" "Volume inválido: Não é possível incluir o volume %(volume_id)s no grupo de " "consistências %(group_id)s porque o tipo de volume %(volume_type)s não é " -"suportado pelo grupo de consistências." +"suportado pelo grupo." #, python-format msgid "" @@ -5286,7 +5283,7 @@ "recommend omitting the type argument)." msgstr "" "volume_type inválido fornecido: %s (o tipo solicitado não é compatível; " -"recomendar omitir o argumento de tipo)." +"recomendado omitir o argumento de tipo)." #, python-format msgid "" @@ -5304,10 +5301,10 @@ msgstr "A chamada do serviço da web falhou." msgid "Issue encountered waiting for job." -msgstr "Emita espera encontrada para a tarefa." +msgstr "Problema encontrado ao aguardar a tarefa." msgid "Issue encountered waiting for synchronization." -msgstr "Emita encontrado aguardando a sincronização." +msgstr "Problema encontrado ao aguardar a sincronização." msgid "" "Issuing a fail-over failed because replication is not properly configured." @@ -5334,7 +5331,7 @@ "Key names can only contain alphanumeric characters, underscores, periods, " "colons and hyphens." msgstr "" -"Nomes de chaves só podem conter caracteres alfanuméricos, sublinhados, " +"Os nomes de chaves só podem conter caracteres alfanuméricos, sublinhados, " "pontos, vírgulas e hifens." #, python-format @@ -5361,7 +5358,7 @@ #, python-format msgid "LUN not found with given ref %s." -msgstr "LUN não localizado com ref %s dada." +msgstr "LUN não localizado com a referência %s fornecida." msgid "LUN number ({}) is not an integer." msgstr "O número de LUN ({}) não é um número inteiro." @@ -5375,8 +5372,9 @@ "LUN with given ref %(ref)s does not satisfy volume type. Ensure LUN volume " "with ssc features is present on vserver %(vs)s." msgstr "" -"O LUN com ref %(ref)s dada não satisfaz o tipo de volume. Certifique-se que " -"o volume LUN com recurso ssc está presente no vserver %(vs)s." +"O LUN com a referência %(ref)s fornecida não satisfaz o tipo de volume. " +"Certifique-se que o volume LUN com recurso ssc esteja presente no vserver " +"%(vs)s." #, python-format msgid "Last %s cinder syslog entries:-" @@ -5397,7 +5395,7 @@ #, python-format msgid "Linked clone of source volume not supported in state: %s." -msgstr "Clonar vinculado do volume de origem não suportado no estado: %s." +msgstr "Clone vinculado do volume de origem não suportado no estado: %s." msgid "Lock acquisition failed." msgstr "A aquisição de bloqueio falhou." @@ -5409,8 +5407,8 @@ "Lookup service not configured. Config option for fc_san_lookup_service needs " "to specify a concrete implementation of the lookup service." msgstr "" -"Serviço de consulta não configurado. Opção de configuração para " -"fc_san_lookup_service é necessária especificar uma implementação concreta do " +"Serviço de consulta não configurado. A opção de configuração para " +"fc_san_lookup_service precisa especificar uma implementação concreta do " "serviço de consulta." msgid "Lun migration error." @@ -5485,8 +5483,7 @@ msgstr "Gerenciar o tamanho da obtenção existente requer 'id'." msgid "Manage existing snapshot not implemented." -msgstr "" -"O gerenciamento de captura instantânea existente não está implementado." +msgstr "Captura instantânea existente gerenciada não implementada." #, python-format msgid "" @@ -5494,16 +5491,16 @@ "%(existing_ref)s: %(reason)s" msgstr "" "Falha ao gerenciar volume existente devido a uma referência de backend " -"inválido %(existing_ref)s: %(reason)s" +"inválida %(existing_ref)s: %(reason)s" #, python-format msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" msgstr "" -"Falha ao gerenciar volume existente devido a incompatibilidade de tipo de " +"Falha ao gerenciar volume existente devido à incompatibilidade de tipo de " "volume: %(reason)s" msgid "Manage existing volume not implemented." -msgstr "Gerenciar volume existente não implementado." +msgstr "Volume gerenciado existente não implementado." msgid "Manage existing volume requires 'source-id'." msgstr "Gerenciar volume existente requer 'source-id'." @@ -5531,8 +5528,8 @@ "Mapping %(id)s prepare failed to complete within theallotted %(to)d seconds " "timeout. Terminating." msgstr "" -"Preparar mapeamento de %(id)s falhou ao concluir dentro de theallotted " -"%(to)d segundos atribuído. Finalizando." +"A preparação do mapeamento de %(id)s falhou ao concluir dentro do tempo " +"limite de %(to)d segundos alocado. Finalizando." #, python-format msgid "Masking view %(maskingViewName)s was not deleted successfully" @@ -5547,14 +5544,14 @@ #, python-format msgid "Maximum number of snapshots allowed (%(allowed)d) exceeded" msgstr "" -"Número máximo de capturas instantâneas permitido (%(allowed)d) excedido" +"Número máximo de capturas instantâneas permitidas (%(allowed)d) excedido" #, python-format msgid "" "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." msgstr "" -"Número máximo de volumes permitido (%(allowed)d) excedido para a cota " +"Número máximo de volumes permitidos (%(allowed)d) excedido para a cota " "'%(name)s'." #, python-format @@ -5562,17 +5559,17 @@ msgstr "Só é possível especificar um de %s" msgid "Metadata backup already exists for this volume" -msgstr "Backup de metadados já existe para esse volume" +msgstr "O backup de metadados já existe para esse volume" #, python-format msgid "Metadata backup object '%s' already exists" -msgstr "Objeto de backup de metadados '%s' já existe" +msgstr "O objeto de backup de metadados '%s' já existe" msgid "Metadata item was not found" msgstr "O item de metadados não foi localizado" msgid "Metadata item was not found." -msgstr "Item de metadados não foi localizado." +msgstr "O item de metadados não foi localizado." #, python-format msgid "Metadata property key %s greater than 255 characters" @@ -5595,7 +5592,7 @@ msgstr "O valor da propriedade de metadados tem mais de 255 caracteres." msgid "Metadata restore failed due to incompatible version" -msgstr "Restauração de metadados falhou devido à versão incompatível" +msgstr "A restauração de metadados falhou devido à versão incompatível" msgid "Metadata restore failed due to incompatible version." msgstr "A restauração de metadados falhou devido à versão incompatível." @@ -5636,24 +5633,25 @@ #, python-format msgid "Missing required element '%s' in request body" -msgstr "Elemento obrigatório '%s' ausente no corpo da solicitação" +msgstr "Elemento necessário '%s' ausente no corpo da solicitação" #, python-format msgid "Missing required element '%s' in request body." -msgstr "Elemento obrigatório '%s' ausente no corpo da solicitação." +msgstr "Elemento ncessário '%s' ausente no corpo da solicitação." msgid "Missing required element 'consistencygroup' in request body." -msgstr "Elemento requerido ausente 'consistencygroup' no corpo da solicitação." +msgstr "" +"Elemento necessário 'consistencygroup' ausente no corpo da solicitação." msgid "Missing required element 'host' in request body." -msgstr "Elemento necessário ausente 'host' no corpo da solicitação." +msgstr "Elemento necessário 'host' ausente no corpo da solicitação." msgid "Missing required element quota_class_set in request body." -msgstr "Faltando elemento obrigatório quota_class_set no corpo da requisição." +msgstr "Faltando elemento necessário quota_class_set no corpo da solicitação." msgid "Missing required element snapshot in request body." msgstr "" -"Captura instantânea de elemento requerido ausente no corpo da solicitação." +"Captura instantânea de elemento necessária ausente no corpo da solicitação." msgid "" "Multiple SerialNumbers found, when only one was expected for this operation. " @@ -5676,25 +5674,25 @@ msgstr "Vários perfis localizados." msgid "Must implement a fallback schedule" -msgstr "Deve implementar um planejamento de fallback" +msgstr "Deve-se implementar um planejamento de fallback" msgid "Must implement find_retype_host" -msgstr "Deve implementar find_retype_host" +msgstr "Deve-se implementar find_retype_host" msgid "Must implement host_passes_filters" -msgstr "Deve implementar host_passes_filters" +msgstr "Deve-se implementar host_passes_filters" msgid "Must implement schedule_create_consistencygroup" -msgstr "Deve implementar schedule_create_consistencygroup" +msgstr "Deve-se implementar schedule_create_consistencygroup" msgid "Must implement schedule_create_volume" -msgstr "Deve implementar schedule_create_volume" +msgstr "Deve-se implementar schedule_create_volume" msgid "Must implement schedule_get_pools" -msgstr "Deve implementar schedule_get_pools" +msgstr "Deve-se implementar schedule_get_pools" msgid "Must pass wwpn or host to lsfabric." -msgstr "É necessário passar wwpn ou host para lsfabric." +msgstr "É necessário transmitir wwpn ou host para lsfabric." msgid "" "Must run this command as cloud admin using a Keystone policy.json which " @@ -5705,36 +5703,36 @@ "qualquer projeto. " msgid "Must specify 'connector'" -msgstr "Deve especificar 'conector'" +msgstr "Deve-se especificar 'conector'" msgid "Must specify 'connector'." -msgstr "Deve especificar 'connector'." +msgstr "Deve-se especificar 'connector'." msgid "Must specify 'host'." -msgstr "Deve especificar 'host'." +msgstr "Deve-se especificar 'host'." msgid "Must specify 'new_volume'" -msgstr "Deve especificar 'new_volume'" +msgstr "Deve-se especificar 'new_volume'" msgid "Must specify 'status'" -msgstr "Deve especificar 'status'" +msgstr "Deve-se especificar 'status'" msgid "" "Must specify 'status', 'attach_status' or 'migration_status' for update." msgstr "" -"Deve especificar 'status', ' attach_status' ou 'migration_status' para " +"Deve-se especificar 'status', ' attach_status' ou 'migration_status' para " "atualização." msgid "Must specify a valid attach status" -msgstr "Deve especificar um status de anexo válido" +msgstr "Deve-se especificar um status de anexo válido" msgid "Must specify a valid migration status" -msgstr "Deve especificar um status de migração válido" +msgstr "Deve-se especificar um status de migração válido" #, python-format msgid "Must specify a valid persona %(valid)s,value '%(persona)s' is invalid." msgstr "" -"Deve especificar uma pessoa válida %(valid)s, o valor '%(persona)s' é " +"Deve-se especificar uma pessoa válida %(valid)s; o valor '%(persona)s' é " "inválido." #, python-format @@ -5742,23 +5740,23 @@ "Must specify a valid provisioning type %(valid)s, value '%(prov)s' is " "invalid." msgstr "" -"Deve especificar um tipo de fornecimento válido %(valid)s, o valor " +"Deve-se especificar um tipo de fornecimento válido %(valid)s, o valor " "'%(prov)s' é inválido." msgid "Must specify a valid status" -msgstr "Deve especificar um status válido" +msgstr "Deve-se especificar um status válido" msgid "Must specify an ExtensionManager class" -msgstr "Deve especificar uma classe ExtensionManager" +msgstr "Deve-se especificar uma classe ExtensionManager" msgid "Must specify bootable in request." -msgstr "Deve especificar inicializável na solicitação." +msgstr "Deve-se especificar inicializável na solicitação." msgid "Must specify protection domain name or protection domain id." -msgstr "Deve especificar o nome ou o ID do domínio de proteção." +msgstr "Deve-se especificar o nome ou o ID do domínio de proteção." msgid "Must specify readonly in request." -msgstr "Deve especificar somente leitura na solicitação." +msgstr "Deve-se especificar somente leitura na solicitação." msgid "Must specify snapshot source-name or source-id." msgstr "" @@ -5768,17 +5766,17 @@ msgstr "Deve-se especificar o elemento source-name ou source-id." msgid "Must specify storage pool name or id." -msgstr "Deve especificar um nome ou ID do conjunto de armazenamentos." +msgstr "Deve-se especificar um nome ou ID do conjunto de armazenamentos." msgid "Must specify storage pools. Option: sio_storage_pools." msgstr "" -"Deve-se especificar conjuntos de armazenamentos. Opções: sio_storage_pools." +"Deve-se especificar conjuntos de armazenamentos. Opção: sio_storage_pools." msgid "Must supply a positive value for age" -msgstr "Deve fornecer um valor positivo para a idade" +msgstr "Deve-se fornecer um valor positivo para a idade" msgid "Must supply a positive, non-zero value for age" -msgstr "Deve fornecer um número positivo, diferente de zero para a idade" +msgstr "Deve-se fornecer um número positivo, diferente de zero para a idade" #, python-format msgid "" @@ -5819,14 +5817,14 @@ msgstr "Nem MSG_DENIED nem MSG_ACCEPTED: %r" msgid "NetApp Cinder Driver exception." -msgstr "Exceção no driver NetApp Cinder." +msgstr "Exceção no Driver NetApp Cinder." #, python-format msgid "" "New size for extend must be greater than current size. (current: %(size)s, " "extended: %(new_size)s)." msgstr "" -"Novo tamanho a ser estendido deve ser maior que o tamanho atual. (atual: " +"O novo tamanho a ser estendido deve ser maior que o tamanho atual. (atual: " "%(size)s, estendido: %(new_size)s)." #, python-format @@ -5838,20 +5836,20 @@ "de backend. realsize: %(oldsize)s, newsize: %(newsize)s." msgid "New volume size must be specified as an integer." -msgstr "Novo tamanho do volume deve ser especificado como um número inteiro." +msgstr "O novo tamanho do volume deve ser especificado como um número inteiro." msgid "New volume type must be specified." -msgstr "Novo tipo de volume deve ser especificado." +msgstr "O novo tipo de volume deve ser especificado." msgid "New volume type not specified in request_spec." -msgstr "Tipo de volume novo não especificado em request_spec." +msgstr "Novo tipo de volume não especificado em request_spec." #, python-format msgid "New volume_type same as original: %s." msgstr "Novo volume_type igual ao original: %s." msgid "Nimble Cinder Driver exception" -msgstr "Exceção Nimble Cinder Driver" +msgstr "Exceção do Nimble Cinder Driver" msgid "No FC initiator can be added to host." msgstr "Nenhum iniciador de FC pode ser incluído no host. " @@ -5884,7 +5882,7 @@ msgstr "Não há backups disponíveis para fazer um backup incremental." msgid "No big enough free disk" -msgstr "Disco livre não é grande o suficiente" +msgstr "Nenhum disco livre grande o suficiente" #, python-format msgid "No cgsnapshot with id %s" @@ -5920,8 +5918,8 @@ "No free LUN IDs left. Maximum number of volumes that can be attached to host " "(%s) has been exceeded." msgstr "" -"Não resta nenhum ID de LUN. O número máximo de volumes que pode ser anexado " -"ao host (%s) foi excedido." +"Não restou nenhum ID de LUN livre. O número máximo de volumes que podem ser " +"anexados ao host (%s) foi excedido." msgid "No free disk" msgstr "Nenhum disco livre" @@ -5949,7 +5947,7 @@ #, python-format msgid "No initiator group found for initiator %s" -msgstr "Nenhum grupo de inicializador localizado para o inicializador %s" +msgstr "Nenhum grupo de inicializadores localizado para o inicializador %s" msgid "No initiators found, cannot proceed" msgstr "Nenhum inicializador localizado, não é possível continuar" @@ -5977,8 +5975,8 @@ #, python-format msgid "No key file specified and unable to load key from %(cert)s %(e)s." msgstr "" -"Nenhum arquivo-chave especificado e incapaz de carregar a chave a partir de " -"%(cert)s %(e)s." +"Nenhum arquivo-chave especificado e não é possível carregar a chave a partir " +"de %(cert)s %(e)s." msgid "No mounted Gluster shares found" msgstr "Nenhum compartilhamento de Gluster montado foi localizado" @@ -5990,8 +5988,7 @@ msgstr "Nenhum compartilhamento SMBFS montado foi localizado." msgid "No mounted Virtuozzo Storage shares found" -msgstr "" -"Nenhum compartilhamento de armazenamento Virtuozzo montado foi localizado" +msgstr "Nenhum compartilhamento de Virtuozzo Storage montado foi localizado" msgid "No mounted shares found" msgstr "Nenhum compartilhamento montado foi localizado" @@ -6013,8 +6010,8 @@ "No response was received from CloudByte storage list iSCSI auth user API " "call." msgstr "" -"Nenhuma resposta foi recebida da API do usuário de autenticação iSCSI da " -"lista de armazenamento do CloudByte chamada." +"Nenhuma resposta foi recebida da chamada da API do usuário de autenticação " +"iSCSI da lista de armazenamento do CloudByte." msgid "No response was received from CloudByte storage list tsm API call." msgstr "" @@ -6023,15 +6020,15 @@ msgid "No response was received from CloudByte's list filesystem api call." msgstr "" -"Nenhuma resposta foi recebida da chamada api do sistema de arquivos da lista " -"do CloudByte." +"Nenhuma resposta foi recebida da chamada da API do sistema de arquivos da " +"lista do CloudByte." msgid "No service VIP configured and no nexenta_client_address" msgstr "Nenhum VIP de serviço configurado e nenhum nexenta_client_address" #, python-format msgid "No snap found with %s as backing file." -msgstr "Nenhum snap localizado com %s como arquivo auxiliar." +msgstr "Nenhuma captura instantânea localizada com %s como arquivo auxiliar." #, python-format msgid "No snapshot image found in snapshot group %s." @@ -6056,7 +6053,7 @@ #, python-format msgid "No such QoS spec %(specs_id)s." -msgstr "Sem spec QoS %(specs_id)s." +msgstr "Sem especificação de QoS %(specs_id)s." msgid "No suitable discovery ip found" msgstr "Nenhum IP de descoberta adequado foi localizado" @@ -6120,14 +6117,14 @@ msgstr "Não é uma sequência válida: %s" msgid "Not a valid value for NaElement." -msgstr "Nenhum valor válido para NaElement." +msgstr "Não é um valor válido para NaElement." #, python-format msgid "Not able to find a suitable datastore for the volume: %s." msgstr "Não foi possível encontrar um datastore adequado para o volume: %s." msgid "Not an rbd snapshot" -msgstr "Não uma captura instantânea de rbd" +msgstr "Não é uma captura instantânea de rbd" #, python-format msgid "Not authorized for image %(image_id)s." @@ -6149,7 +6146,7 @@ msgstr "Não armazenado em rbd" msgid "Nova returned \"error\" status while creating snapshot." -msgstr "Nova retornou o status \"erro\" ao criar a captura instantânea." +msgstr "O Nova retornou o status \"erro\" ao criar a captura instantânea." msgid "Null response received from CloudByte's list filesystem." msgstr "Resposta nula recebida do sistema de arquivos da lista de CloudByte." @@ -6170,7 +6167,7 @@ #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." msgstr "" -"Resposta nula recebida ao criar volume [%s] no armazenamento CloudByte." +"Resposta nula recebida ao criar o volume [%s] no armazenamento CloudByte." #, python-format msgid "Null response received while deleting volume [%s] at CloudByte storage." @@ -6183,8 +6180,8 @@ "Null response received while querying for [%(operation)s] based job " "[%(job)s] at CloudByte storage." msgstr "" -"Resposta nula recebida ao consultar a tarefa baseada em [%(operation)s] " -"[%(job)s] no armazenamento CloudByte." +"Resposta nula recebida ao consultar a tarefa [%(job)s] baseada em " +"[%(operation)s] no armazenamento CloudByte." msgid "Number of retries if connection to ceph cluster failed." msgstr "Número de novas tentativas se a conexão com o cluster ceph falhou." @@ -6203,15 +6200,15 @@ "On an Extend Operation, error adding volume to composite volume: " "%(volumename)s." msgstr "" -"Em uma operação Estender, o erro ao incluir o volume para compor o volume " -"%(volumename)s." +"Em uma operação Estender, ocorreu um erro ao incluir o volume no volume " +"composto %(volumename)s." msgid "" "One of cinder-volume services is too old to accept such request. Are you " "running mixed Liberty-Mitaka cinder-volumes?" msgstr "" "Um dos serviços de volume cinder é muito antigo para aceitar tal " -"solicitação. Você está executando volumes cincer Liberty-Mitaka combinados?" +"solicitação. Você está executando volumes cinder Liberty-Mitaka combinados?" msgid "One of the required inputs from host, port or scheme was not found." msgstr "" @@ -6278,7 +6275,7 @@ "Password or SSH private key is required for authentication: set either " "san_password or san_private_key option." msgstr "" -"A senha ou a chave privada SSH é requerida para autenticação: configure " +"A senha ou a chave privada SSH é necessária para autenticação: configure " "opção san_password ou san_private_key." msgid "Path to REST server's certificate must be specified." @@ -6293,14 +6290,14 @@ msgstr "Crie antecipadamente a camada %(tier_levels)s no conjunto %(pool)s!" msgid "Please re-run cinder-manage as root." -msgstr "Reexecute o gerenciamento do cinder como raiz." +msgstr "Execute novamente o gerenciamento do cinder como raiz." msgid "Please specify a name for QoS specs." -msgstr "Por favor, especifique o nome para as especificações QoS." +msgstr "Por favor, especifique o nome para as especificações do QoS." #, python-format msgid "Policy doesn't allow %(action)s to be performed." -msgstr "A política não permite que %(action)s sejam executadas." +msgstr "A política não permite que %(action)s seja executada." #, python-format msgid "Pool %(poolNameInStr)s is not found." @@ -6326,7 +6323,8 @@ #, python-format msgid "Pool with name %(pool)s wasn't found in domain %(domain)s." -msgstr "Conjunto com o nome %(pool)s não foi localizado no domínio %(domain)s." +msgstr "" +"O conjunto com o nome %(pool)s não foi localizado no domínio %(domain)s." #, python-format msgid "Pool with name %(pool_name)s wasn't found in domain %(domain_id)s." @@ -6339,12 +6337,12 @@ "Pool: %(poolName)s. is not associated to storage tier for fast policy " "%(fastPolicy)s." msgstr "" -"Conjunto: %(poolName)s. não está associado à camada de armazenamento para a " -"política fast %(fastPolicy)s." +"O conjunto: %(poolName)s. não está associado à camada de armazenamento para " +"a política fast %(fastPolicy)s." #, python-format msgid "PoolName must be in the file %(fileName)s." -msgstr "PoolName deve estar no arquivo %(fileName)s." +msgstr "O PoolName deve estar no arquivo %(fileName)s." #, python-format msgid "Pools %s does not exist" @@ -6374,11 +6372,11 @@ "Protocol %(storage_protocol)s is not supported for storage family " "%(storage_family)s." msgstr "" -"Protocolo %(storage_protocol)s não é suportado para a família de " +"O protocolo %(storage_protocol)s não é suportado para a família de " "armazenamento %(storage_family)s." msgid "Provided backup record is missing an id" -msgstr "Registro de backup fornecido tem um ID ausente" +msgstr "O registro de backup fornecido tem um ID ausente" #, python-format msgid "" @@ -6393,7 +6391,7 @@ "Provider information w.r.t CloudByte storage was not found for OpenStack " "volume [%s]." msgstr "" -"Informações do provedor no armazenamento w.r.t CloudByte não foram " +"Informações do provedor referentes ao armazenamento CloudByte não foram " "localizadas para o volume [%s] do OpenStack." #, python-format @@ -6402,11 +6400,12 @@ #, python-format msgid "QoS Specs %(specs_id)s already exists." -msgstr "Especificações QoS %(specs_id)s já existem." +msgstr "Especificações de QoS %(specs_id)s já existem." #, python-format msgid "QoS Specs %(specs_id)s is still associated with entities." -msgstr "Especificações QoS %(specs_id)s ainda estão associadas com entidades." +msgstr "" +"Especificações de QoS %(specs_id)s ainda estão associadas com entidades." #, python-format msgid "QoS config is wrong. %s must > 0." @@ -6436,7 +6435,9 @@ #, python-format msgid "QoS spec %(specs_id)s has no spec with key %(specs_key)s." -msgstr "Especificação QoS %(specs_id)s não tem spec com chave %(specs_key)s." +msgstr "" +"A especificação QoS %(specs_id)s não tem especificação com a chave " +"%(specs_key)s." msgid "QoS specs are not supported on this storage family and ONTAP version." msgstr "" @@ -6444,14 +6445,14 @@ "versão de ONTAP." msgid "Qos specs still in use." -msgstr "Qos specs ainda em uso." +msgstr "Especificações do Qos ainda estão em uso." msgid "" "Query by service parameter is deprecated. Please use binary parameter " "instead." msgstr "" -"Parâmetro de consulta por serviço está depreciado. Por favor, use um " -"parâmetro binário no lugar." +"O parâmetro de consulta por serviço está descontinuado. Por favor, use um " +"parâmetro binário." msgid "Query resource pool error." msgstr "Erro ao consultar conjunto de recursos." @@ -6474,7 +6475,7 @@ #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "Quota excedida: codigo=%(code)s" +msgstr "Cota excedida: code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." @@ -6528,7 +6529,7 @@ "Operation to add %(vol)s into Storage Group %(sg)s is rejected." msgstr "" "Atinja a limitação definida pela opção de configuração " -"max_luns_per_storage_group. Operação para incluir %(vol)s no Grupo de " +"max_luns_per_storage_group. A operação para incluir %(vol)s no Grupo de " "Armazenamento %(sg)s será rejeitada." #, python-format @@ -6588,7 +6589,7 @@ "because source and destination are the same Volume Group: %(name)s." msgstr "" "Recusando migrar o ID do volume: %(id)s. Verifique sua configuração porque a " -"origem e o destino são o mesmo Grupo de Volume: %(name)s." +"origem e o destino são o mesmo Grupo de Volumes: %(name)s." msgid "Remote pool cannot be found." msgstr "O conjunto remoto não pode ser localizado." @@ -6636,11 +6637,11 @@ #, python-format msgid "Replication Service Capability not found on %(storageSystemName)s." msgstr "" -"Recurso de serviço de replicação não localizado em %(storageSystemName)s." +"Recurso de Serviço de Replicação não localizado em %(storageSystemName)s." #, python-format msgid "Replication Service not found on %(storageSystemName)s." -msgstr "O Serviço de replicação não foi localizado em %(storageSystemName)s." +msgstr "O Serviço de Replicação não foi localizado em %(storageSystemName)s." msgid "Replication is not enabled" msgstr "A replicação não está ativada" @@ -6656,7 +6657,7 @@ "Replication status for volume must be active or active-stopped, but current " "status is: %s" msgstr "" -"O status de replicação para o volume deve estar ativo ou ativo-parado, mas o " +"O status de replicação para o volume deve ser ativo ou ativo-parado, mas o " "status atual é: %s" #, python-format @@ -6671,10 +6672,10 @@ msgstr "Corpo da solicitação e incompatibilidade de URI" msgid "Request body contains too many items" -msgstr "O corpo da solicitação contém excesso de itens" +msgstr "O corpo da solicitação contém itens em excesso" msgid "Request body contains too many items." -msgstr "Corpo da requisição contém itens demais." +msgstr "O corpo da solicitação contém itens em excesso." msgid "Request body empty" msgstr "Corpo da solicitação vazio" @@ -6699,7 +6700,7 @@ "Requested volume or snapshot exceeds allowed %(name)s quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"O volume solicitado ou a captura instantânea excede a cota %(name)s " +"O volume ou a captura instantânea solicitada excede a cota %(name)s " "permitida. Solicitados %(requested)sG, a cota é %(quota)sG e %(consumed)sG " "foi consumido." @@ -6764,7 +6765,7 @@ "%(actual_status)s." msgstr "" "Restauração de backup interrompida, esperava-se o status de volume " -"%(expected_status)s, mas obteve %(actual_status)s." +"%(expected_status)s, mas foi obtido %(actual_status)s." #, python-format msgid "" @@ -6782,7 +6783,7 @@ "%(actual_status)s." msgstr "" "Restauração de backup interrompida: esperava-se o status de backup " -"%(expected_status)s mas obteve %(actual_status)s." +"%(expected_status)s, mas foi obtido %(actual_status)s." #, python-format msgid "" @@ -6808,16 +6809,16 @@ msgstr "Exceção do Retryable SolidFire encontrada" msgid "Retype cannot change encryption requirements." -msgstr "Digitar novamente não pode alterar os requisitos de criptografia." +msgstr "A redefinição não pode alterar os requisitos de criptografia." #, python-format msgid "Retype cannot change front-end qos specs for in-use volume: %s." msgstr "" -"Digitar novamente não pode alterar as especificações da qualidade de serviço " -"para o volume em uso: %s." +"A redefinição não pode alterar as especificações de qos front-end para o " +"volume em uso: %s." msgid "Retype requires migration but is not allowed." -msgstr "Digitar novamente requer migração mas não é permitido." +msgstr "A redefinição requer migração mas não é permitido." #, python-format msgid "" @@ -6825,13 +6826,13 @@ "administrator to manually return your volume to the default storage group " "for fast policy %(fastPolicyName)s failed." msgstr "" -"Retrocesso para Volume: %(volumeName)s falhou. Entre em contato com o " -"administrador do sistema para retornar manualmente o volume para o grupo o " -"grupo de armazenamentos para a política fast %(fastPolicyName)s falhou." +"O retrocesso para o Volume: %(volumeName)s falhou. Entre em contato com o " +"administrador do sistema para retornar manualmente o volume para o grupo de " +"armazenamentos padrão para a política fast %(fastPolicyName)s com falha." #, python-format msgid "Rolling back %(volumeName)s by deleting it." -msgstr "Retroceder %(volumeName)s excluindo-o." +msgstr "Retrocedendo o %(volumeName)s ao excluí-lo." #, python-format msgid "" @@ -6864,11 +6865,8 @@ #, python-format msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'" -msgstr "Comando SSH falhou após '%(total_attempts)r' tentativas: '%(command)s'" - -#, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "Comando SSH falhou com o erro: '%(err)s', Comando: '%(command)s'" +msgstr "" +"O comando SSH falhou após '%(total_attempts)r' tentativas: '%(command)s'" #, python-format msgid "SSH command injection detected: %(command)s" @@ -6876,7 +6874,7 @@ #, python-format msgid "SSH connection failed for %(fabric)s with error: %(err)s" -msgstr "Conexão SSH falhou para %(fabric)s com erro: %(err)s" +msgstr "A conexão SSH falhou para %(fabric)s com o erro: %(err)s" #, python-format msgid "SSL Certificate expired on %s." @@ -6894,7 +6892,7 @@ #, python-format msgid "Scheduler Host Weigher %(weigher_name)s could not be found." msgstr "" -"O Ponderador %(weigher_name)s do Host do Planejador não pôde ser localizado." +"O Ponderador do Host do Planejador %(weigher_name)s não pôde ser localizado." #, python-format msgid "" @@ -6914,11 +6912,11 @@ #, python-format msgid "SerialNumber must be in the file %(fileName)s." -msgstr "SerialNumber deve estar no arquivo %(fileName)s." +msgstr "O SerialNumber deve estar no arquivo %(fileName)s." #, python-format msgid "Service %(service)s on host %(host)s removed." -msgstr "Serviço %(service)s no host %(host)s removido." +msgstr "Removido o serviço %(service)s no host %(host)s." #, python-format msgid "Service %(service_id)s could not be found on host %(host)s." @@ -6938,9 +6936,6 @@ msgid "Service is unavailable at this time." msgstr "O serviço está indisponível neste momento." -msgid "Service not found." -msgstr "Serviço não localizado." - msgid "Set pair secondary access error." msgstr "Erro de configuração de acesso secundário do par." @@ -6959,15 +6954,15 @@ "ontap version." msgstr "" "Configurar o grupo de política de arquivo qos não é suportado nesta família " -"de armazenamento e versão de ONTAP." +"de armazenamento e na versão de ONTAP." #, python-format msgid "" "Share %s ignored due to invalid format. Must be of form address:/export. " "Please check the nas_ip and nas_share_path settings." msgstr "" -"Compartilhamento %s ignorado devido a um formato inválido. Deve ter o " -"endereço com formato:/export. Verifique as configurações de nas_ip e " +"Compartilhamento %s ignorado devido a um formato inválido. Deve estar no " +"formato de endereço:/export. Verifique as configurações de nas_ip e " "nas_share_path." #, python-format @@ -6980,7 +6975,7 @@ #, python-format msgid "Sheepdog I/O Error, command was: \"%s\"." -msgstr "Erro de E/S de sheepdog, o comando foi: \"%s\"." +msgstr "Erro de E/S de Sheepdog, o comando foi: \"%s\"." msgid "" "Show operations can only be made to projects in the same hierarchy of the " @@ -7001,7 +6996,7 @@ "Size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." msgstr "" -"O tamanho é de %(image_size)dGB e não se ajusta em um volume de tamanho de " +"O tamanho é de %(image_size)dGB e não cabe em um volume com tamanho de " "%(volume_size)dGB." #, python-format @@ -7009,7 +7004,7 @@ "Size of specified image %(image_size)sGB is larger than volume size " "%(volume_size)sGB." msgstr "" -"Tamanho de imagem especificada %(image_size)sGB é maior que o tamanho do " +"O tamanho de imagem especificada %(image_size)sGB é maior que o tamanho do " "volume %(volume_size)sGB." #, python-format @@ -7027,7 +7022,7 @@ "cascade delete." msgstr "" "A captura instantânea %(id)s foi localizada no estado %(state)s em vez de " -"'excluída' durante exclusão em cascata." +"'excluindo' durante exclusão em cascata." #, python-format msgid "Snapshot %(snapshot_id)s could not be found." @@ -7058,7 +7053,7 @@ msgid "Snapshot cannot be created while volume is migrating." msgstr "" -"A captura instantânea não pode ser criada enquanto o volume está migrando." +"A captura instantânea não pode ser criada enquanto o volume estiver migrando." msgid "Snapshot of secondary replica is not allowed." msgstr "A captura instantânea da réplica secundária não é permitida." @@ -7069,8 +7064,7 @@ #, python-format msgid "Snapshot res \"%s\" that is not deployed anywhere?" -msgstr "" -"Captura instantânea res \"%s\" que não é implementada em qualquer lugar." +msgstr "Captura instantânea res \"%s\" que não é implementada em nenhum lugar." msgid "Snapshot size must be multiple of 1 GB." msgstr "O tamanho da captura instantânea deve ser múltiplo de 1 GB." @@ -7100,13 +7094,13 @@ "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting " "incremental backup" msgstr "" -"Captura instantânea='%(snap)s' não existe na imagem base='%(base)s' - " +"A captura instantânea='%(snap)s' não existe na imagem base='%(base)s' - " "interrompendo backup incremental" #, python-format msgid "Snapshots are not supported for this volume format: %s" msgstr "" -"As capturas instantâneas não são suportadas para este formato de volume: %s" +"Capturas instantâneas não são suportadas para este formato de volume: %s" #, python-format msgid "Socket error: %(arg)s." @@ -7121,7 +7115,7 @@ "de chave de classificação." msgid "Source CG is empty. No consistency group will be created." -msgstr "CG de origem está vazio. Nenhum grupo de consistências será criado." +msgstr "O CG de origem está vazio. Nenhum grupo de consistências será criado." msgid "Source host details not found." msgstr "Detalhes do host de origem não localizados." @@ -7141,7 +7135,7 @@ "migração de volume ativada por backend; continuando com a migração padrão." msgid "SpaceInfo returned byarray is invalid" -msgstr "SpaceInfo retornou byarray é inválido" +msgstr "O byarray retornado pelo SpaceInfo é inválido" #, python-format msgid "" @@ -7149,7 +7143,7 @@ "%(group)s." msgstr "" "O host especificado a ser mapeado para o volume %(vol)s está no grupo de " -"hosts não suportado com %(group)s." +"hosts não suportados com %(group)s." msgid "Specified logical volume does not exist." msgstr "O volume lógico especificado não existe." @@ -7157,7 +7151,7 @@ #, python-format msgid "Specified snapshot group with id %s could not be found." msgstr "" -"O grupo de capturas instantâneas especificado com o IDo %s não pôde ser " +"O grupo de capturas instantâneas especificado com o ID %s não pôde ser " "localizado." msgid "Specify a password or private_key" @@ -7197,14 +7191,14 @@ #, python-format msgid "Storage Configuration Service not found on %(storageSystemName)s." msgstr "" -"O Serviço de configuração de armazenamento não foi localizado em " +"O Serviço de Configuração de Armazenamento não foi localizado em " "%(storageSystemName)s." #, python-format msgid "Storage HardwareId mgmt Service not found on %(storageSystemName)s." msgstr "" -"O Serviço mgmt de HardwareId de armazenamento não foi localizado em " -"%(storageSystemName)s." +"O Serviço de Gerenciamento de Hardware de Armazenamento não foi localizado " +"em %(storageSystemName)s." #, python-format msgid "Storage Profile %s not found." @@ -7213,12 +7207,12 @@ #, python-format msgid "Storage Relocation Service not found on %(storageSystemName)s." msgstr "" -"O Serviço de realocação de armazenamento não foi localizado em " +"O Serviço de Realocação de Armazenamento não foi localizado em " "%(storageSystemName)s." #, python-format msgid "Storage family %s is not supported." -msgstr "Família de armazenamento %s não é suportada." +msgstr "A família de armazenamento %s não é suportada." #, python-format msgid "Storage group %(storageGroupName)s was not deleted successfully" @@ -7244,7 +7238,7 @@ #, python-format msgid "Storage system not found for pool %(poolNameInStr)s." -msgstr "Sistema de armazenamento não encontrado para pool %(poolNameInStr)s." +msgstr "Sistema de armazenamento não encontrado para o pool %(poolNameInStr)s." msgid "Storage-assisted migration failed during manage volume." msgstr "" @@ -7252,7 +7246,7 @@ #, python-format msgid "StorageSystem %(array)s is not found." -msgstr "StorageSystem %(array)s não foi encontrado." +msgstr "O StorageSystem %(array)s não foi encontrado." #, python-format msgid "String with params: %s" @@ -7300,7 +7294,7 @@ "[%(account)s]." msgid "Target volume type is still in use." -msgstr "Tipo de volume de destino ainda está em uso." +msgstr "O tipo de volume de destino ainda está em uso." #, python-format msgid "" @@ -7311,13 +7305,13 @@ #, python-format msgid "Tenant ID: %s does not exist." -msgstr "ID do locatário: %s não existe." +msgstr "O ID do locatário: %s não existe." msgid "Terminate connection failed" -msgstr "Finalização da conexão com falha" +msgstr "A conexão de finalização falhou" msgid "Terminate connection unable to connect to backend." -msgstr "A finalização da conexão não pode conectar-se ao backend." +msgstr "A conexão de finalização não pode conectar-se ao backend." #, python-format msgid "Terminate volume connection failed: %(err)s" @@ -7346,7 +7340,7 @@ "O nível atual é %(cur)s, deve ser pelo menos %(min)s." msgid "The IP Address was not found." -msgstr "o Endereço IP não foi localizado." +msgstr "O Endereço IP não foi localizado." #, python-format msgid "" @@ -7372,8 +7366,8 @@ "workload %(workload)s. Please check the array for valid SLOs and workloads." msgstr "" "A matriz não suporta a configuração do conjunto de armazenamentos para o SLO " -"%(slo)s e carga de trabalho %(workload)s. Verifique se se há SLOs e cargas " -"de trabalho válidos na matriz." +"%(slo)s e carga de trabalho %(workload)s. Verifique se há SLOs e cargas de " +"trabalho válidos na matriz." msgid "" "The back-end where the volume is created does not have replication enabled." @@ -7532,7 +7526,7 @@ #, python-format msgid "The replication sync period must be at least %s seconds." msgstr "" -"O período de sincronização de replicação deve ser pelo menos %s segundos." +"O período de sincronização de replicação deve ser de pelo menos %s segundos." #, python-format msgid "" @@ -7555,7 +7549,7 @@ msgid "The snapshot cannot be created when the volume is in maintenance mode." msgstr "" -"A captura instantânea não pode ser criada quando o volume está no modo de " +"A captura instantânea não pode ser criada quando o volume estiver no modo de " "manutenção." #, python-format @@ -7703,13 +7697,13 @@ msgstr "O volume %(volume_id)s a ser mapeado não foi localizado." msgid "The volume cannot accept transfer in maintenance mode." -msgstr "O volume não pode aceitar a transferência no modo de manutenção." +msgstr "O volume não pode aceitar transferência no modo de manutenção." msgid "The volume cannot be attached in maintenance mode." msgstr "O volume não pode ser conectado no modo de manutenção." msgid "The volume cannot be detached in maintenance mode." -msgstr "O volume não pode ser removido no modo de manutenção." +msgstr "O volume não pode ser separado no modo de manutenção." msgid "The volume cannot be updated during maintenance." msgstr "O volume não pode ser atualizado durante a manutenção." @@ -7733,13 +7727,13 @@ msgid "" "The volume metadata cannot be deleted when the volume is in maintenance mode." msgstr "" -"Os metadados de volume não podem ser excluídos quando o volume está no modo " -"de manutenção." +"Os metadados de volume não podem ser excluídos quando o volume estiver no " +"modo de manutenção." msgid "" "The volume metadata cannot be updated when the volume is in maintenance mode." msgstr "" -"Os metadados de volume não podem ser atualizados quando o volume está no " +"Os metadados de volume não podem ser atualizados quando o volume estiver no " "modo de manutenção." #, python-format @@ -7780,7 +7774,7 @@ #, python-format msgid "There is no share which can host %(volume_size)sG." -msgstr "Não há nenhum compartilhamento que possa armazenar %(volume_size)sG." +msgstr "Não há nenhum compartilhamento que possa hospedarr %(volume_size)sG." #, python-format msgid "There is no such action: %s" @@ -7830,26 +7824,26 @@ #, python-format msgid "There's no Gluster config file configured (%s)" -msgstr "Não há nenhum arquivo de configuração do Gluster configurado (%s)" +msgstr "Não há nenhum arquivo de configuração do Gluster definido (%s)" #, python-format msgid "There's no NFS config file configured (%s)" -msgstr "Não há nenhum arquivo de configuração do NFS configurado (%s)" +msgstr "Não há nenhum arquivo de configuração do NFS definido (%s)" #, python-format msgid "" "There's no Quobyte volume configured (%s). Example: quobyte:///" "" msgstr "" -"Não há volume Quobyte configurado (%s). Exemplo: quobyte: ///" +"Não há volume Quobyte configurado (%s). Exemplo: quobyte:///" +"" msgid "Thin provisioning not supported on this version of LVM." msgstr "Thin provisioning não suportado nesta versão do LVM." msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" msgstr "" -"Ativador Thin Provisioning não está instalado. Não é possível criar um " +"O ThinProvisioning Enabler não está instalado. Não é possível criar um " "volume thin" msgid "This driver does not support deleting in-use snapshots." @@ -7861,7 +7855,7 @@ "Este driver não oferece suporte a capturas instantâneas de volumes em uso." msgid "This request was rate-limited." -msgstr "Essa solicitação estava limitada a taxa." +msgstr "Essa solicitação possui limitação de taxa." #, python-format msgid "" @@ -7874,7 +7868,7 @@ #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." msgstr "" -"O Serviço da política de camada não foi localizado para " +"O Serviço da Política de Camada não foi localizado para " "%(storageSystemName)s." #, python-format @@ -7896,7 +7890,7 @@ msgstr "" "Valor de tempo limite (em segundos) usado ao conectar-se ao cluster ceph. Se " "o valor < 0, nenhum tempo limite foi configurado e o valor librados padrão " -"foi usado." +"será usado." #, python-format msgid "Timeout while calling %s " @@ -7904,15 +7898,15 @@ #, python-format msgid "Timeout while requesting %(service)s API." -msgstr "Tempo limite ao solicitar %(service)s da API." +msgstr "Tempo limite ao solicitar a API do %(service)s." #, python-format msgid "Timeout while requesting capabilities from backend %(service)s." -msgstr "Tempo limite ao solicitar do backend %(service)s." +msgstr "Tempo limite ao solicitar capacidades do backend %(service)s." #, python-format msgid "Transfer %(transfer_id)s could not be found." -msgstr "Transferência %(transfer_id)s não pôde ser encontrada." +msgstr "A transferência %(transfer_id)s não pôde ser encontrada." #, python-format msgid "" @@ -7933,7 +7927,7 @@ "Tune volume task stopped before it was done: volume_name=%(volume_name)s, " "task-status=%(status)s." msgstr "" -"O ajuste da tarefa do volume parou antes de ele ter sido feito: volume_name=" +"A tarefa de ajuste do volume parou antes de ter sido concluída: volume_name=" "%(volume_name)s, task-status=%(status)s." #, python-format @@ -7941,7 +7935,8 @@ "Type %(type_id)s is already associated with another qos specs: " "%(qos_specs_id)s" msgstr "" -"O tipo %(type_id)s já está associado a um outro qos specs: %(qos_specs_id)s" +"O tipo %(type_id)s já está associado outras especificações de qos: " +"%(qos_specs_id)s" msgid "Type access modification is not applicable to public volume type." msgstr "" @@ -7956,7 +7951,7 @@ #, python-format msgid "UUIDs %s are in both add and remove volume list." -msgstr "UUIDs %s estão na lista de inclusão e remoção de volume." +msgstr "UUIDs %s estão nas listas de inclusão e de remoção de volume." #, python-format msgid "Unable to access the Storwize back-end for volume %s." @@ -7990,7 +7985,7 @@ #, python-format msgid "Unable to create consistency group %s" -msgstr "Não foi possível criar o grupo de consistências %s" +msgstr "Não é possível criar o grupo de consistências %s" msgid "Unable to create lock. Coordination backend not started." msgstr "Não é possível criar bloqueio. Backend de coordenação não iniciado." @@ -8029,7 +8024,7 @@ #, python-format msgid "Unable to delete Consistency Group snapshot %s" msgstr "" -"Não é possível excluir a captura instantânea %s do Grupo de consistências" +"Não é possível excluir a captura instantânea %s do Grupo de Consistências" #, python-format msgid "Unable to delete snapshot %(id)s, status: %(status)s." @@ -8064,7 +8059,7 @@ #, python-format msgid "Unable to determine snapshot name in Purity for snapshot %(id)s." msgstr "" -"Não é possível determinar o nome da captura instantânea na Pureza para " +"Não é possível determinar o nome da captura instantânea no Purity para " "captura instantânea %(id)s." msgid "Unable to determine system id." @@ -8113,7 +8108,7 @@ "Unable to failback to \"default\", this can only be done after a failover " "has completed." msgstr "" -"Não é possível executar failover para \"padrão', isso pode ser feito somente " +"Não é possível executar failback para \"padrão', isso pode ser feito somente " "após um failover ter sido concluído." #, python-format @@ -8122,7 +8117,7 @@ "Não é possível executar failover para o destino de replicação:%(reason)s." msgid "Unable to fetch connection information from backend." -msgstr "Não foi possível buscar informações de conexão do backend." +msgstr "Não é possível buscar informações de conexão a partir do backend." #, python-format msgid "Unable to fetch connection information from backend: %(err)s" @@ -8130,7 +8125,7 @@ #, python-format msgid "Unable to find Purity ref with name=%s" -msgstr "Não é possível localizar ref Pureza com name=%s" +msgstr "Não é possível localizar referência Purity com o name=%s" #, python-format msgid "Unable to find Volume Group: %(vg_name)s" @@ -8146,7 +8141,7 @@ #, python-format msgid "Unable to find ssh_hosts_key_file: %s" -msgstr "Não foi possível encontrar ssh_hosts_key_file: %s" +msgstr "Não é possível encontrar ssh_hosts_key_file: %s" msgid "Unable to find system log file!" msgstr "Não é possível encontrar o arquivo de log do sistema!" @@ -8172,7 +8167,7 @@ #, python-format msgid "Unable to get a block device for file '%s'" -msgstr "Não foi possível obter um dispositivo de bloco para o arquivo '%s'" +msgstr "Não é possível obter um dispositivo de bloco para o arquivo '%s'" #, python-format msgid "" @@ -8190,14 +8185,14 @@ "Unable to get information on space %(space)s, please verify that the cluster " "is running and connected." msgstr "" -"Não é possível obter informações sobre %(space)s; verifique se o cluster " -"está em execução e conectado." +"Não é possível obter informações sobre o espaço %(space)s; verifique se o " +"cluster está em execução e conectado." msgid "" "Unable to get list of IP addresses on this host, check permissions and " "networking." msgstr "" -"Não é possível obter lista de endereços IP neste host; verifique as " +"Não é possível obter a lista de endereços IP neste host; verifique as " "permissões e a rede." msgid "" @@ -8210,8 +8205,8 @@ "Unable to get list of spaces to make new name. Please verify the cluster is " "running." msgstr "" -"Não é possível obter lista de espaços para fazer novo nome. Verifique se o " -"cluster está em execução." +"Não é possível obter lista de espaços para criar um novo nome. Verifique se " +"o cluster está em execução." #, python-format msgid "Unable to get stats for backend_name: %s" @@ -8305,7 +8300,7 @@ msgid "Unable to parse XML request. Please provide XML in correct format." msgstr "" -"Não foi possível avaliar a requisição XML. Por favor, fornece o XML no " +"Não é possível analisar a solicitação XML. Por favor, forneça o XML no " "formato correto." msgid "Unable to parse attributes." @@ -8316,14 +8311,14 @@ "Unable to promote replica to primary for volume %s. No secondary copy " "available." msgstr "" -"Não é possível promover réplica primária para o volume %s. Nenhuma cópia " -"secundária disponível." +"Não é possível promover réplica para primário para o volume %s. Nenhuma " +"cópia secundária disponível." msgid "" "Unable to re-use a host that is not managed by Cinder with " "use_chap_auth=True," msgstr "" -"Não é possível reutilizar um host que não é gerenciado pelo Cinder com " +"Não é possível reutilizar um host que não seja gerenciado pelo Cinder com " "use_chap_auth=True," msgid "Unable to re-use host with unknown CHAP credentials configured." @@ -8353,16 +8348,16 @@ "Unable to retype: A copy of volume %s exists. Retyping would exceed the " "limit of 2 copies." msgstr "" -"Não é possível digitar novamente: Uma cópia do volume %s existe. Digitar " -"novamente excederia o limite de 2 cópias." +"Não é possível redefinir: Uma cópia do volume %s existe. A redefinição " +"excederia o limite de 2 cópias." #, python-format msgid "" "Unable to retype: Current action needs volume-copy, it is not allowed when " "new type is replication. Volume = %s" msgstr "" -"Não é possível digitar novamente: A ação atual precisa de cópia de volume, " -"isso não é permitido quando a nova digitação for a replicação. Volume = %s" +"Não é possível redefinir: A ação atual precisa de cópia de volume, e isso " +"não é permitido quando a nova digitação for a replicação. Volume = %s" #, python-format msgid "" @@ -8373,10 +8368,10 @@ #, python-format msgid "Unable to snap Consistency Group %s" -msgstr "Não é possível capturar o Grupo de consistências %s" +msgstr "Não é possível capturar o Grupo de Consistências %s" msgid "Unable to terminate volume connection from backend." -msgstr "Não foi possível finalizar conexão do volume do backend." +msgstr "Não é possível finalizar conexão do volume do backend." #, python-format msgid "Unable to terminate volume connection: %(err)s" @@ -8384,7 +8379,7 @@ #, python-format msgid "Unable to update consistency group %s" -msgstr "Não é possível atualizar o grupo de consistência %s" +msgstr "Não é possível atualizar o grupo de consistências %s" #, python-format msgid "" @@ -8462,7 +8457,7 @@ msgstr "Exceção SMBFS desconhecida." msgid "Unknown Virtuozzo Storage exception" -msgstr "Exceção de armazenamento Virtuozzo desconhecido" +msgstr "Exceção de Virtuozzo Storage desconhecido" msgid "Unknown action" msgstr "Ação desconhecida" @@ -8529,7 +8524,7 @@ msgid "Unmanaging of snapshots from 'failed-over' volumes is not allowed." msgstr "" -"Não é permitido remover gerenciamento de capturas instantâneas para volumes " +"Não é permitido remover gerenciamento de capturas instantâneas de volumes " "'com failover executado'. " msgid "Unmanaging of snapshots from failed-over volumes is not allowed." @@ -8575,10 +8570,10 @@ msgstr "Versão de metadados de backup não suportada (%s)" msgid "Unsupported backup metadata version requested" -msgstr "Requisitada versão de metadados de backups não-suportados" +msgstr "Solicitada versão de metadados de backups não suportada" msgid "Unsupported backup verify driver" -msgstr "Backup não suportado, verificar driver" +msgstr "Backup não suportado, verifique o driver" #, python-format msgid "" @@ -8668,7 +8663,7 @@ #, python-format msgid "Valid consumer of QoS specs are: %s" -msgstr "Os consumidores válidos de QoS specs são: %s" +msgstr "Os consumidores válidos de especificações de QoS são: %s" #, python-format msgid "Valid control location are: %s" @@ -8761,7 +8756,7 @@ "Volume %(vol_id)s status must be available to extend, but current status is: " "%(vol_status)s." msgstr "" -"O status do volume %(vol_id)s deve estar disponível para estender, mas o " +"O status do volume %(vol_id)s deve ser disponível para estender, mas o " "status atual é: %(vol_status)s." #, python-format @@ -8789,7 +8784,7 @@ "Volume %(volume_id)s has no administration metadata with key " "%(metadata_key)s." msgstr "" -"O volume %(volume_id)s não possui metadados de administração com chave " +"O volume %(volume_id)s não possui metadados de administração com a chave " "%(metadata_key)s." #, python-format @@ -8802,7 +8797,7 @@ "Volume %(volume_id)s is currently mapped to unsupported host group %(group)s" msgstr "" "O volume %(volume_id)s está mapeado atualmente para o grupo de hosts não " -"suportado %(group)s" +"suportados %(group)s" #, python-format msgid "Volume %(volume_id)s is not currently mapped to host %(host)s" @@ -8872,15 +8867,15 @@ "replication actions." msgstr "" "O volume %s não é do tipo replicado. Esse volume precisa ser de um tipo de " -"volume com replication_enabled de especificação extra configurado para ' " -"True'para suportar ações de replicação." +"volume com a especificação extra replication_enabled configurada para " +"' True' para suportar ações de replicação." #, python-format msgid "" "Volume %s is online. Set volume to offline for managing using OpenStack." msgstr "" -"O volume %s está on-line. Configure o volume para off-line gerenciar o uso " -"do OpenStack." +"O volume %s está on-line. Configure o volume para off-line para gerenciar o " +"uso do OpenStack." #, python-format msgid "" @@ -8892,7 +8887,7 @@ #, python-format msgid "Volume %s must not be part of a consistency group." -msgstr "O volume %s não deve ser parte de um grupo de consistências." +msgstr "O volume %s não deve fazer parte de um grupo de consistências." #, python-format msgid "Volume %s must not be replicated." @@ -8916,7 +8911,7 @@ #, python-format msgid "Volume (%s) already exists on array." -msgstr "Volume (%s) já existe na matriz." +msgstr "O volume (%s) já existe na matriz." #, python-format msgid "Volume Group %s does not exist" @@ -8929,7 +8924,8 @@ #, python-format msgid "Volume Type %(type_id)s has no extra spec with key %(id)s." msgstr "" -"Tipo de volume %(type_id)s não possui especificação extra com a chave %(id)s." +"O tipo de volume %(type_id)s não possui especificação extra com a chave " +"%(id)s." #, python-format msgid "" @@ -8944,11 +8940,11 @@ "Volume Type %(volume_type_id)s has no extra specs with key " "%(extra_specs_key)s." msgstr "" -"O Tipo de Volume %(volume_type_id)s não tem specs extras com a chave " -"%(extra_specs_key)s." +"O Tipo de Volume %(volume_type_id)s não tem especificações extras com a " +"chave %(extra_specs_key)s." msgid "Volume Type id must not be None." -msgstr "Identificador do tipo de volume não pode ser None." +msgstr "O ID do Tipo de Volume não pode ser None." #, python-format msgid "" @@ -8975,15 +8971,14 @@ msgid "Volume cannot be restored since it contains snapshots." msgstr "" -"O volume não pode ser restaurado, uma vez que ele contém capturas " -"instantâneas." +"O volume não pode ser restaurado porque ele contém capturas instantâneas." msgid "Volume create failed while extracting volume ref." msgstr "A criação do volume falhou ao extrair a referência do volume." #, python-format msgid "Volume device file path %s does not exist." -msgstr "Caminho do arquivo de dispositivo de volume %s não existe." +msgstr "O caminho do arquivo de dispositivo de volume %s não existe." #, python-format msgid "Volume device not found at %(device)s." @@ -9011,7 +9006,7 @@ #, python-format msgid "Volume in consistency group %s is attached. Need to detach first." msgstr "" -"O volume no grupo de consistências %s está anexado. É necessário desanexá-lo " +"O volume no grupo de consistências %s está anexado. É necessário separá-lo " "primeiro." msgid "Volume in consistency group still has dependent snapshots." @@ -9027,7 +9022,7 @@ msgstr "O volume está em uso." msgid "Volume is not available." -msgstr "Volume não está disponível." +msgstr "O volume não está disponível." msgid "Volume is not local to this node" msgstr "O volume não é local para este nó" @@ -9044,10 +9039,10 @@ #, python-format msgid "Volume migration failed: %(reason)s" -msgstr "Migração de volume falhou: %(reason)s" +msgstr "A migração de volume falhou: %(reason)s" msgid "Volume must be available" -msgstr "Volume deve estar disponível" +msgstr "O volume deve estar disponível" msgid "Volume must be in the same availability zone as the snapshot" msgstr "" @@ -9062,7 +9057,7 @@ msgstr "O volume deve ter um tipo de volume" msgid "Volume must not be part of a consistency group." -msgstr "O volume não deve ser parte de um grupo de consistências." +msgstr "O volume não deve fazer parte de um grupo de consistências." msgid "Volume must not be replicated." msgstr "O volume não deve ser replicado." @@ -9102,7 +9097,7 @@ #, python-format msgid "Volume replication for %(volume_id)s could not be found." -msgstr "Replicação de volume %(volume_id)s não pôde ser encontrada." +msgstr "A replicação de volume %(volume_id)s não pôde ser encontrada." #, python-format msgid "Volume service %s failed to start." @@ -9116,7 +9111,7 @@ "Volume size %(volume_size)sGB cannot be smaller than the image minDisk size " "%(min_disk)sGB." msgstr "" -"Tamanho do volume %(volume_size)sGB não pode ser menor do que o tamanho da " +"O tamanho do volume %(volume_size)sGB não pode ser menor do que o tamanho da " "imagem de minDisk %(min_disk)sGB." #, python-format @@ -9130,7 +9125,8 @@ "%(source_size)sGB. They must be >= original volume size." msgstr "" "O tamanho do volume ‘%(size)s‘ GB não pode ser menor que o tamanho do volume " -"original %(source_size)sGB. Deve ser >= ao tamanho do volume original." +"original %(source_size)sGB. Ele deve ser maior ou igual ao tamanho do " +"volume original." #, python-format msgid "" @@ -9138,8 +9134,8 @@ "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" "O tamanho do volume ‘%(size)s' GB não pode ser menor que o tamanho da " -"captura instantânea %(snap_size)sGB. Deve ser >= tamanho da captura " -"instantânea original." +"captura instantânea %(snap_size)sGB. Ele deve ser maior ou igual ao tamanho " +"da captura instantânea original." msgid "Volume size increased since the last backup. Do a full backup." msgstr "" @@ -9175,13 +9171,13 @@ #, python-format msgid "Volume status must be %s to reserve." -msgstr "O status do volume deve ser %s ara reservar." +msgstr "O status do volume deve ser %s para reservar." msgid "Volume status must be 'available'." msgstr "O status do volume deve ser 'disponível'." msgid "Volume to Initiator Group mapping already exists" -msgstr "Já existe um mapeamento de grupos de volume para inicializador" +msgstr "Já existe um mapeamento de Volume para Grupo de Iniciadores" #, python-format msgid "" @@ -9200,14 +9196,14 @@ #, python-format msgid "Volume type ID '%s' is invalid." -msgstr "O ID do tipo '%s' é inválido." +msgstr "O ID do tipo de volume '%s' é inválido." #, python-format msgid "" "Volume type access for %(volume_type_id)s / %(project_id)s combination " "already exists." msgstr "" -"O acesso do tipo de volume para combinações de %(volume_type_id)s / " +"O acesso do tipo de volume para a combinação de %(volume_type_id)s / " "%(project_id)s já existe." #, python-format @@ -9224,14 +9220,14 @@ #, python-format msgid "Volume type encryption for type %(type_id)s already exists." -msgstr "Encriptação do tipo de volume para o tipo %(type_id)s já existe." +msgstr "Criptografia do tipo de volume para o tipo %(type_id)s já existe." #, python-format msgid "Volume type encryption for type %(type_id)s does not exist." -msgstr "Encriptação do tipo de volume para o tipo %(type_id)s não existe." +msgstr "Criptografia do tipo de volume para o tipo %(type_id)s não existe." msgid "Volume type name can not be empty." -msgstr "Nome de tipo de volume não pode ser vazio." +msgstr "O nome do tipo de volume não pode ficar vazio." #, python-format msgid "Volume type with name %(volume_type_name)s could not be found." @@ -9247,8 +9243,8 @@ "Volume: %(volumeName)s is not a concatenated volume. You can only perform " "extend on concatenated volume. Exiting..." msgstr "" -"Volume: %(volumeName)s não é um volume concatenado. É possível apenas " -"desempenhar a extensão no volume concatenado. Saindo..." +"O volume: %(volumeName)s não é um volume concatenado. É possível desempenhar " +"a extensão somente no volume concatenado. Saindo..." #, python-format msgid "Volume: %(volumeName)s was not added to storage group %(sgGroupName)s." @@ -9258,7 +9254,7 @@ #, python-format msgid "Volume: %s could not be found." -msgstr "Volume: %s não pôde ser localizado." +msgstr "O volume: %s não pôde ser localizado." #, python-format msgid "Volume: %s is already being managed by Cinder." @@ -9281,7 +9277,7 @@ #, python-format msgid "VzStorage config file at %(config)s doesn't exist." -msgstr "Arquivo de configuração VzStorage em %(config)s não existe." +msgstr "O arquivo de configuração VzStorage em %(config)s não existe." msgid "Wait replica complete timeout." msgstr "Tempo limite de espera da conclusão da réplica." @@ -9344,7 +9340,7 @@ #, python-format msgid "Zoning Policy: %s, not recognized" -msgstr "Política de Zoneamento: %s, não reconhecido" +msgstr "Política de Zoneamento: %s, não reconhecida" #, python-format msgid "_create_and_copy_vdisk_data: Failed to get attributes for vdisk %s." @@ -9665,7 +9661,7 @@ msgstr "" "_unmap_lun, vol_instance.path: %(volume)s, volumename: %(volumename)s, " "volume_uid: %(uid)s, aglist: %(aglist)s, Serviço de Configuração do " -"Controlador não lcoalizado." +"Controlador não localizado." #, python-format msgid "" @@ -9686,7 +9682,7 @@ msgid "_update_volume_stats: Could not get storage pool data." msgstr "" "_update_volume_stats: Não foi possível obter dados do conjunto de " -"armazenamento." +"armazenamentos." #, python-format msgid "" @@ -9780,13 +9776,13 @@ "regular files supported, actual file mode is %(vol_mode)s." msgstr "" "backup: %(vol_id)s falhou. %(path)s é tipo de arquivo inesperado. Bloco ou " -"arquivos regulares suportados, modo de arquivo real é %(vol_mode)s." +"arquivos regulares suportados, o modo de arquivo real é %(vol_mode)s." #, python-format msgid "" "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." msgstr "" -"backup: %(vol_id)s falhou. Não é possível obter caminho real para o volume " +"backup: %(vol_id)s falhou. Não é possível obter o caminho real para o volume " "em %(path)s." msgid "being attached by different mode" @@ -9845,7 +9841,7 @@ "check_for_setup_error: Password or SSH private key is required for " "authentication: set either san_password or san_private_key option." msgstr "" -"check_for_setup_error: A senha ou a chave privada SSH é requerida para " +"check_for_setup_error: A senha ou a chave privada SSH é necessária para " "autenticação: configure a opção san_password ou san_private_key." msgid "check_for_setup_error: Unable to determine system id." @@ -9898,7 +9894,7 @@ "source CG." msgstr "" "create_consistencygroup_from_src deve estar criando a partir de uma captura " -"instantânea CG, ou de uma origem CG." +"instantânea CG, ou de uma CG de origem." msgid "" "create_consistencygroup_from_src only supports a cgsnapshot source or a " @@ -9920,10 +9916,10 @@ #, python-format msgid "create_copy: Source vdisk %(src)s does not exist." -msgstr "create_copy: Vdisk de origem %(src)s não existe." +msgstr "create_copy: O Vdisk de origem %(src)s não existe." msgid "create_host: Host name is not unicode or string." -msgstr "create_host: Nome do host não é unicode ou sequência." +msgstr "create_host: O nome do host não é unicode ou sequência." msgid "create_host: No initiators or wwpns supplied." msgstr "create_host: Nenhum inicializador ou wwpns fornecido." @@ -10019,7 +10015,7 @@ "creating volume. The invalid status is: %s." msgstr "" "create_volume_from_snapshot: O status da captura instantânea deve ser " -"\"disponível\" para volume de criação. O status inválido é: %s." +"\"disponível\" para criação de volume. O status inválido é: %s." msgid "create_volume_from_snapshot: Source and destination size differ." msgstr "create_volume_from_snapshot: Os tamanhos de origem e destino diferem." @@ -10032,7 +10028,9 @@ "baseado em captura instantânea." msgid "deduplicated and auto tiering can't be both enabled." -msgstr "não é possível ativar ambas as camadas, a deduplicada e a automática." +msgstr "" +"Não é possível ativar as definições de camadas deduplicada e automática ao " +"mesmo tempo." #, python-format msgid "" @@ -10040,8 +10038,8 @@ "%(out)s\n" " stderr: %(err)s" msgstr "" -"exclusão: %(vol_id)s falhou ao executar o dsmc devido a argumentos inválidos " -"com stdout: %(out)s\n" +"A exclusão: %(vol_id)s falhou ao executar o dsmc devido a argumentos " +"inválidos com stdout: %(out)s\n" " stderr: %(err)s" #, python-format @@ -10049,7 +10047,7 @@ "delete: %(vol_id)s failed to run dsmc with stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"exclusão: %(vol_id)s falhou ao executar o dsmc com stdout: %(out)s\n" +"A exclusão: %(vol_id)s falhou ao executar o dsmc com stdout: %(out)s\n" " stderr: %(err)s" msgid "delete_hypermetro error." @@ -10073,7 +10071,7 @@ msgstr "excluindo o volume %(volume_name)s que possui captura instantânea" msgid "detach snapshot from remote node" -msgstr "remover captura instantânea do nó remoto" +msgstr "separar captura instantânea do nó remoto" msgid "do_setup: No configured nodes." msgstr "do_setup: Nenhum nó configurado." @@ -10151,11 +10149,11 @@ #, python-format msgid "fmt=%(fmt)s backed by: %(backing_file)s" -msgstr "fmt=%(fmt)s retornado por: %(backing_file)s" +msgstr "fmt=%(fmt)s suportado por: %(backing_file)s" #, python-format msgid "fmt=%(fmt)s backed by:%(backing_file)s" -msgstr "fmt=%(fmt)s retornado por: %(backing_file)s" +msgstr "fmt=%(fmt)s suportado por: %(backing_file)s" msgid "force delete" msgstr "forçar exclusão" @@ -10186,16 +10184,16 @@ "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s " "belong to different file systems." msgstr "" -"gpfs_images_share_mode está configurada para copy_on_write, mas %(vol)s e " -"%(img)s pertencem a sistemas de arquivos diferentes." +"gpfs_images_share_mode está configurado para copy_on_write, mas %(vol)s e " +"%(img)s pertencem a diferentes sistemas de arquivos." #, python-format msgid "" "gpfs_images_share_mode is set to copy_on_write, but %(vol)s and %(img)s " "belong to different filesets." msgstr "" -"gpfs_images_share_mode está configurada para copy_on_write, mas %(vol)s e " -"%(img)s pertencem a diferentes conjuntos." +"gpfs_images_share_mode está configurado para copy_on_write, mas %(vol)s e " +"%(img)s pertencem a diferentes conjuntos de arquivos." #, python-format msgid "" @@ -10232,7 +10230,7 @@ "estado de manutenção no meio dessa operação." msgid "id cannot be None" -msgstr "id não pode ser Nenhum" +msgstr "O ID não pode ser Nenhum" #, python-format msgid "image %s not found" @@ -10272,7 +10270,7 @@ msgid "" "iscsi_ip_address must be set in config file when using protocol 'iSCSI'." msgstr "" -"iscsi_ip_address deve ser definido no arquivo de configuração ao usar " +"iscsi_ip_address deve ser definido no arquivo de configuração ao usar o " "protocolo 'iSCSI'." msgid "iscsiadm execution failed. " @@ -10286,10 +10284,10 @@ msgstr "keymgr.fixed_key não definido" msgid "limit param must be an integer" -msgstr "o parâmetro limit deve ser um número inteiro" +msgstr "O parâmetro de limite deve ser um número inteiro" msgid "limit param must be positive" -msgstr "o parâmetro limit deve ser positivo" +msgstr "O parâmetro de limite deve ser positivo" msgid "" "manage_existing cannot manage a volume connected to hosts. Please disconnect " @@ -10321,7 +10319,7 @@ #, python-format msgid "migration_policy must be 'on-demand' or 'never', passed: %s" -msgstr "migration_policy deve ser 'on-demand' ou 'never', transmitido: %s" +msgstr "migration_policy deve ser 'on-demand' ou 'nunca', transmitido: %s" #, python-format msgid "mkfs failed on volume %(vol)s, error message was: %(err)s." @@ -10335,11 +10333,11 @@ #, python-format msgid "multiple resources with name %s found by drbdmanage" -msgstr "vários recursos com o nome %s localizado como drbdmanage" +msgstr "vários recursos com o nome %s localizados como drbdmanage" #, python-format msgid "multiple resources with snapshot ID %s found" -msgstr "vários recursos com ID de captura instantânea %s localizado" +msgstr "vários recursos com ID de captura instantânea %s localizados" msgid "name cannot be None" msgstr "o nome não pode ser Nenhum" @@ -10351,7 +10349,7 @@ #, python-format msgid "no REPLY but %r" -msgstr "Nenhuma REPLY, mas %r" +msgstr "Nenhuma REPLY, exceto %r" #, python-format msgid "no snapshot with id %s found in drbdmanage" @@ -10359,11 +10357,11 @@ #, python-format msgid "not exactly one snapshot with id %s" -msgstr "não exatamente uma captura instantânea com ID %s" +msgstr "não é exatamente uma captura instantânea com ID %s" #, python-format msgid "not exactly one volume with id %s" -msgstr "não exatamente um volume com o ID %s" +msgstr "não é exatamente um volume com o ID %s" #, python-format msgid "obj missing quotes %s" @@ -10376,18 +10374,18 @@ msgstr "progresso deve ser uma porcentagem de número inteiro" msgid "promote_replica not implemented." -msgstr "promote_replica não implementado." +msgstr "promote_replica não implementada." msgid "provider must be defined" -msgstr "provider deve ser definido" +msgstr "provedor deve ser definido" #, python-format msgid "" "qemu-img %(minimum_version)s or later is required by this volume driver. " "Current qemu-img version: %(current_version)s" msgstr "" -"qemu-img %(minimum_version)s ou posterior é necessário para este driver de " -"volume. Qemu-img versão atual: %(current_version)s" +"qemu-img %(minimum_version)s ou posterior é necessária para este driver de " +"volume. Versão atual do Qemu-img: %(current_version)s" #, python-format msgid "" @@ -10395,17 +10393,17 @@ "used if qemu-img is not installed." msgstr "" "qemu-img não está instalado e a imagem é do tipo %s. Apenas imagens RAW " -"podem ser usadas se qemu-img não estiver instalado." +"poderão ser usadas se qemu-img não estiver instalado." msgid "" "qemu-img is not installed and the disk format is not specified. Only RAW " "images can be used if qemu-img is not installed." msgstr "" -"qemu-img não está instalado e o formato do disco não está especificado. " -"Apenas imagens RAW podem ser usadas se qemu-img não estiver instalado." +"O qemu-img não está instalado e o formato do disco não está especificado. " +"Apenas imagens RAW poderão ser usadas se qemu-img não estiver instalado." msgid "rados and rbd python libraries not found" -msgstr "bibliotecas Python rados e rbd não localizadas" +msgstr "Bibliotecas Python rados e rbd não localizadas" #, python-format msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" @@ -10433,7 +10431,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"restauração: %(vol_id)s falhou ao executar o dsmc devido a argumentos " +"A restauração: %(vol_id)s falhou ao executar o dsmc devido a argumentos " "inválidos em %(bpath)s.\n" "stdout: %(out)s\n" " stderr: %(err)s" @@ -10520,7 +10518,7 @@ #, python-format msgid "source volume id:%s is not replicated" -msgstr "ID do volume de origem:%s não é replicado" +msgstr "O ID do volume de origem:%s não é replicado" msgid "source-name cannot be empty." msgstr "O source-name não pode estar vazio." @@ -10533,7 +10531,7 @@ msgstr "status deve ser %s e" msgid "status must be available" -msgstr "o status deve estar disponível" +msgstr "o status deve ser disponível" msgid "stop_hypermetro error." msgstr "Erro de stop_hypermetro." @@ -10542,13 +10540,13 @@ msgstr "as subclasses devem implementar a construção()!" msgid "sudo failed, continuing as if nothing happened" -msgstr "sudo falhou, continuando como se nada tivesse acontecido" +msgstr "O sudo falhou, continuando como se nada tivesse acontecido" msgid "sync_hypermetro error." msgstr "Erro de sync_hypermetro." msgid "sync_replica not implemented." -msgstr "sync_replica não implementado." +msgstr "sync_replica não implementada." #, python-format msgid "" @@ -10559,7 +10557,8 @@ "(%(default_path)s): %(exc)s" msgid "terminate_connection: Failed to get host name from connector." -msgstr "terminate_connection: Falha ao obter o nome do host do conector." +msgstr "" +"terminate_connection: Falha ao obter o nome do host a partir do conector." msgid "timeout creating new_volume on destination host" msgstr "tempo limite ao criar new_volume no host de destino" @@ -10597,14 +10596,14 @@ #, python-format msgid "unsupported compression algorithm: %s" -msgstr "algoritmo de compressão não suportado: %s" +msgstr "algoritmo de compactação não suportado: %s" msgid "valid iqn needed for show_target" msgstr "iqn válido necessário para show_target" #, python-format msgid "vdisk %s is not defined." -msgstr "o vdisk %s não está definido." +msgstr "O vdisk %s não está definido." msgid "vmemclient python library not found" msgstr "biblioteca python vmemclient não localizada" @@ -10654,12 +10653,12 @@ #, python-format msgid "volume_types must be provided to create consistency group %(name)s." msgstr "" -"volume_types deve ser fornecido para criar o grupo de consistência %(name)s." +"volume_types deve ser fornecido para criar o grupo de consistências %(name)s." #, python-format msgid "volume_types must be provided to create consistency group %s." msgstr "" -"volume_types deve ser fornecido para criar o grupo de consistências %s." +"Devem ser fornecidos volume_types para criar o grupo de consistências %s." msgid "volumes assigned" msgstr "volumes designados" diff -Nru cinder-8.0.0/cinder/locale/ru/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/ru/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/ru/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/ru/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -11,9 +11,9 @@ # Lucas Palm , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-22 19:34+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -882,10 +882,6 @@ msgstr "Не найдено имя кэша в массиве. Имя кэша: %(name)s." #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "Не удалось найти ИД lun в базе данных, том: %(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "" "Не удалось найти информацию о lun в массиве. Том: %(id)s, имя lun: %(name)s." @@ -6789,10 +6785,6 @@ "После '%(total_attempts)r' попыток не выполнена команда SSH: '%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "Сбой команды SSH. Ошибка: '%(err)s'. Команда: '%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "Обнаружено внедрение команды SSH: %(command)s" @@ -6860,9 +6852,6 @@ msgid "Service is unavailable at this time." msgstr "В данный момент служба недоступна." -msgid "Service not found." -msgstr "Служба не найдена." - msgid "Set pair secondary access error." msgstr "Ошибка настройки вспомогательного доступа к паре." diff -Nru cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po --- cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-error.po 2016-08-09 15:32:57.000000000 +0000 @@ -8,9 +8,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:15+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -844,12 +844,6 @@ msgid "Failed collecting name server info from fabric %s" msgstr "Fabric %s'den ad sunucu bilgisi toplanamadı" -msgid "Failed collecting nscamshow" -msgstr "nscamshow toplanamadı" - -msgid "Failed collecting nsshow info for fabric" -msgstr "Fabric için nsshow bilgisi toplanamadı" - #, python-format msgid "Failed collecting nsshow info for fabric %s" msgstr "Fabric %s için nsshow bilgisi toplanamadı" diff -Nru cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-info.po cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-info.po --- cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-info.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-info.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev10\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-17 18:05+0000\n" +"Project-Id-Version: cinder 8.0.1.dev24\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-04-21 16:43+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff -Nru cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-warning.po cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-warning.po --- cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-warning.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder-log-warning.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0b4.dev61\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-05 05:24+0000\n" +"Project-Id-Version: cinder 8.0.1.dev24\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-04-21 16:43+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" diff -Nru cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/tr_TR/LC_MESSAGES/cinder.po 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/locale/tr_TR/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -7,9 +7,9 @@ # OpenStack Infra , 2015. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0b4.dev196\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-12 14:33+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -4592,9 +4592,6 @@ msgid "Service is unavailable at this time." msgstr "Şu anda servis kullanılamıyor." -msgid "Service not found." -msgstr "Servis bulunamadı." - msgid "" "Setting LUN QoS policy group is not supported on this storage family and " "ONTAP version." diff -Nru cinder-8.0.0/cinder/locale/zh_CN/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/zh_CN/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/zh_CN/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/zh_CN/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -12,20 +12,18 @@ # 颜海峰 , 2014 # Yu Zhang, 2014 # 颜海峰 , 2014 -# Lucas Palm , 2015. #zanata -# OpenStack Infra , 2015. #zanata +# Huiyuan , 2016. #zanata # Linda , 2016. #zanata -# Lucas Palm , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-22 19:34+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-22 10:28+0000\n" -"Last-Translator: Linda \n" +"PO-Revision-Date: 2016-07-06 01:43+0000\n" +"Last-Translator: Huiyuan \n" "Language: zh-CN\n" "Plural-Forms: nplurals=1; plural=0;\n" "Generated-By: Babel 2.0\n" @@ -64,8 +62,8 @@ "%(driver)s manage_existing cannot manage a volume connected to hosts. Please " "disconnect this volume from existing hosts before importing" msgstr "" -"%(driver)s manage_existing 无法管理已连接至主机的卷。在进行导入之前,请从现有" -"主机断开与此卷的连接" +"%(driver)s manage_existing 无法管理已连接至主机的卷。在进行导入之前,请断开此" +"卷与现有主机的连接" #, python-format msgid "%(err)s" @@ -85,7 +83,7 @@ #, python-format msgid "%(exception)s: %(explanation)s" -msgstr "发生异常 %(exception)s:原因 %(explanation)s" +msgstr "发生异常 %(exception)s:%(explanation)s" #, python-format msgid "%(file)s: Permission denied." @@ -122,8 +120,8 @@ "Body: %(_body)s" msgstr "" "%(message)s\n" -"状态码: %(_status)s\n" -"主体: %(_body)s" +"状态码:%(_status)s\n" +"主体:%(_body)s" #, python-format msgid "%(message)s, subjectAltName: %(sanList)s." @@ -134,16 +132,16 @@ "%(msg_type)s: creating NetworkPortal: ensure port %(port)d on ip %(ip)s is " "not in use by another service." msgstr "" -"%(msg_type)s:创建 NetworkPortal:请确保 IP %(ip)s 上的端口 %(port)d未被另一" -"项服务使用。" +"%(msg_type)s:正在创建 NetworkPortal:请确保 IP %(ip)s 上的端口 %(port)d 未被" +"另一服务使用。" #, python-format msgid "%(name)s has a minimum character requirement of %(min_length)s." -msgstr "%(name)s 必须至少具有的字符数为 %(min_length)s。" +msgstr "%(name)s 必须至少具有 %(min_length)s 个字符。" #, python-format msgid "%(name)s has more than %(max_length)s characters." -msgstr "%(name)s 包含的字符超过 %(max_length)s 个。" +msgstr "%(name)s 包含超过 %(max_length)s 个字符。" #, python-format msgid "" @@ -192,7 +190,7 @@ msgid "" "%s cannot be resized using clone operation as it is hosted on compressed " "volume" -msgstr "%s 无法使用克隆操作来调整大小,因为它托管于压缩卷上" +msgstr "%s 无法使用克隆操作来调整大小,因为它位于压缩卷上" #, python-format msgid "%s configuration option is not set." @@ -204,7 +202,7 @@ #, python-format msgid "%s is not a directory." -msgstr "%s 不是一个目录。" +msgstr "%s 并非目录。" #, python-format msgid "%s is not a string or unicode" @@ -232,7 +230,7 @@ #, python-format msgid "%s must be a valid raw or qcow2 image." -msgstr "%s 必须为有效的 raw 映像或 qcow2 映像。" +msgstr "%s 必须为有效的原始映像或 qcow2 映像。" #, python-format msgid "%s must be an absolute path." @@ -265,7 +263,7 @@ msgstr "必须指定“consistencygroup_id”" msgid "'qemu-img info' parsing failed." -msgstr "'qemu-img info'解析失败" +msgstr "“qemu-img info”解析失败" msgid "'status' must be specified." msgstr "必须指定“status”。" @@ -338,10 +336,10 @@ msgstr "快照状态无效。(状态:%(status)s)" msgid "A valid secondary target MUST be specified in order to failover." -msgstr "必须指定有效辅助以进行故障转移。" +msgstr "必须指定有效辅助目标以进行故障转移。" msgid "A volume ID or share was not specified." -msgstr "未指定卷标识或者共享。" +msgstr "未指定卷标识或者共享项。" #, python-format msgid "A volume status is invalid. (status: %(status)s)" @@ -412,7 +410,7 @@ msgstr "添加新主机时发生错误。" msgid "Add port to port group error." -msgstr "向端口组添加端口时出错。" +msgstr "向端口组添加端口时发生错误。" #, python-format msgid "" @@ -428,7 +426,7 @@ msgstr "SheepdogDriver 中发生了错误。(原因:%(reason)s)" msgid "An error has occurred during backup operation" -msgstr "在备份过程中出现一个错误" +msgstr "执行备份操作期间发生错误" #, python-format msgid "An error occured while attempting to modifySnapshot '%s'." @@ -486,7 +484,7 @@ msgstr "不允许令牌作用域仅限于子项目的用户查看其父代的配额。" msgid "Append port group description error." -msgstr "附加端口组描述时出错。" +msgstr "附加端口组描述时发生错误。" #, python-format msgid "" @@ -526,7 +524,7 @@ #, python-format msgid "Attempt to transfer %s with invalid auth key." -msgstr "请尝试使用有效的认证密钥传输 %s。" +msgstr "尝试使用无效认证密钥传输 %s。" #, python-format msgid "Auth group [%s] details not found in CloudByte storage." @@ -579,20 +577,20 @@ #, python-format msgid "Backend service retry timeout hit: %(timeout)s sec" -msgstr "后端服务重试超时匹配项:%(timeout)s 秒" +msgstr "发生后端服务重试超时:%(timeout)s 秒" msgid "Backend storage did not configure fiber channel target." msgstr "后端存储器未配置光纤通道目标。" msgid "Backing up an in-use volume must use the force flag." -msgstr "备份一个正在使用的卷时必须使用强制标志。" +msgstr "备份正在使用的卷时必须使用 force 标志。" #, python-format msgid "Backup %(backup_id)s could not be found." msgstr "找不到备份 %(backup_id)s。" msgid "Backup RBD operation failed" -msgstr "备份RBD操作失败" +msgstr "备份 RBD 操作失败" msgid "Backup already exists in database." msgstr "数据库中已存在备份。" @@ -617,7 +615,7 @@ msgstr "仅原始格式的 SOFS 卷支持备份。" msgid "Backup operation of an encrypted volume failed." -msgstr "已加密卷的备份操作失败。" +msgstr "加密卷的备份操作失败。" #, python-format msgid "" @@ -638,14 +636,14 @@ msgstr "备份应该仅具有一个快照,但是具有 %s 个快照" msgid "Backup status must be available" -msgstr "备份状态必须为“可用”" +msgstr "备份状态必须为“available”" #, python-format msgid "Backup status must be available and not %s." -msgstr "备份状态必须为“可用”,不能是 %s。" +msgstr "备份状态必须为“available”,不能是 %s。" msgid "Backup status must be available or error" -msgstr "备份状态必须为“可用”或“错误”" +msgstr "备份状态必须为“available”或“error”" msgid "Backup to be restored has invalid size" msgstr "要复原的备份具有无效大小" @@ -656,12 +654,12 @@ #, python-format msgid "Bad key(s) in quota set: %s" -msgstr "配额集中的键不正确:%s" +msgstr "配额集中的键无效:%s" #, python-format msgid "" "Bad or unexpected response from the storage volume backend API: %(data)s" -msgstr "从存储卷后端 API 返回了不正确或意外的响应:%(data)s" +msgstr "从存储卷后端 API 返回了无效或意外的响应:%(data)s" #, python-format msgid "Bad project format: project is not in proper format (%s)" @@ -669,13 +667,13 @@ #, python-format msgid "Bad request sent to Datera cluster:Invalid args: %(args)s | %(message)s" -msgstr "已将错误请求发送至 Datera 集群:无效参数:%(args)s | %(message)s" +msgstr "发送至 Datera 集群的请求无效:无效参数:%(args)s | %(message)s" msgid "Bad response from Datera API" -msgstr "来自 Datera API 的响应不正确" +msgstr "来自 Datera API 的响应无效" msgid "Bad response from SolidFire API" -msgstr "来自SolidFire API的错误响应" +msgstr "来自SolidFire API 的响应无效" #, python-format msgid "Bad response from XMS, %s" @@ -685,7 +683,7 @@ msgstr "二进制" msgid "Blank components" -msgstr "空组件" +msgstr "空白组件" msgid "Blockbridge API authentication scheme (token or password)" msgstr "Blockbridge API 认证方案(令牌或密码)" @@ -770,7 +768,7 @@ #, python-format msgid "CPG (%s) doesn't exist on array" -msgstr "数组中不存在 CPG (%s)" +msgstr "阵列上不存在 CPG (%s)" msgid "Cache name is None, please set smartcache:cachename in key." msgstr "高速缓存名称为 None,请在键中设置 smartcache:cachename。" @@ -810,10 +808,10 @@ msgstr "无法访问“scality_sofs_config”:%s" msgid "Can't attach snapshot." -msgstr "无法附加快照。" +msgstr "无法连接快照。" msgid "Can't decode backup record." -msgstr "无法将备份记录解码。" +msgstr "无法对备份记录进行解码。" #, python-format msgid "Can't extend replication volume, volume: %(id)s" @@ -827,10 +825,6 @@ msgstr "在阵列上找不到高速缓存名称,高速缓存名称为 %(name)s。" #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "在数据库中找不到 LUN 标识,卷:%(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "在阵列上找不到 LUN 信息。卷:%(id)s。LUN 名称:%(name)s。" @@ -1009,7 +1003,7 @@ #, python-format msgid "" "Cannot create image of disk format: %s. Only vmdk disk format is accepted." -msgstr "无法创建磁盘格式为 %s 映像。仅接受 vmdk 磁盘格式。" +msgstr "无法创建磁盘格式为 %s 的映像。仅接受 vmdk 磁盘格式。" #, python-format msgid "Cannot create masking view: %(maskingViewName)s. " @@ -1038,7 +1032,7 @@ #, python-format msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s" -msgstr "无法创建名称为 %(name)s 规格为 %(extra_specs)s 的卷类型。" +msgstr "无法创建名称为 %(name)s 且规格为 %(extra_specs)s 的卷类型。" #, python-format msgid "Cannot delete LUN %s while snapshots exist." @@ -1050,7 +1044,7 @@ "%(updated_at)s and currently has %(numclones)d volume instances." msgstr "" "无法删除高速缓存卷:%(cachevol_name)s。在 %(updated_at)s 对其进行了更新,它当" -"前具有 %(numclones)d 卷实例。" +"前具有 %(numclones)d 个卷实例。" #, python-format msgid "" @@ -1058,7 +1052,7 @@ "%(updated_at)s and currently has %(numclones)s volume instances." msgstr "" "无法删除高速缓存卷:%(cachevol_name)s。在 %(updated_at)s 对其进行了更新,它当" -"前具有 %(numclones)s 卷实例。" +"前具有 %(numclones)s 个卷实例。" msgid "Cannot delete encryption specs. Volume type in use." msgstr "无法删除加密规范。卷类型在使用中。" @@ -1152,7 +1146,7 @@ #, python-format msgid "" "Cannot get the default storage group for FAST policy: %(fastPolicyName)s." -msgstr "无法获取对应快速策略 %(fastPolicyName)s 的缺省存储器组。" +msgstr "无法获取对应 FAST 策略 %(fastPolicyName)s 的缺省存储器组。" msgid "Cannot get the portgroup from the masking view." msgstr "无法通过掩码视图获取端口组。" @@ -1172,19 +1166,19 @@ "Cannot provide both 'cgsnapshot_id' and 'source_cgid' to create consistency " "group %(name)s from source." msgstr "" -"无法同时提供“cgsnapshot_id”和“source_cgid”以从源创建一致性组 %(name)s。" +"无法同时提供“cgsnapshot_id”和“source_cgid”以通过源创建一致性组 %(name)s。" msgid "Cannot register resource" msgstr "无法注册资源" msgid "Cannot register resources" -msgstr "无法注册多个资源" +msgstr "无法注册资源" #, python-format msgid "" "Cannot remove volume %(volume_id)s from consistency group %(group_id)s " "because it is not in the group." -msgstr "无法从一致性组 %(group_id)s 移除卷 %(volume_id)s因为它没有在该组中。" +msgstr "无法从一致性组 %(group_id)s 移除卷 %(volume_id)s,因为它不在该组中。" #, python-format msgid "" @@ -1192,7 +1186,7 @@ "because volume is in an invalid state: %(status)s. Valid states are: " "%(valid)s." msgstr "" -"无法从一致性组 %(group_id)s 移除卷 %(volume_id)s因为该卷处于无效状态:" +"无法从一致性组 %(group_id)s 移除卷 %(volume_id)s,因为该卷处于无效状态:" "%(status)s。以下是有效状态:%(valid)s。" #, python-format @@ -1200,13 +1194,13 @@ msgstr "无法将 HPE3PARDriver 转型为 %s。" msgid "Cannot retype from one 3PAR array to another." -msgstr "一个 3PAR 阵列无法通过 retype 操作变为另一个阵列。" +msgstr "无法从一个 3PAR 阵列转型为另一个阵列。" msgid "Cannot retype to a CPG in a different domain." -msgstr "无法执行 retype 操作,以变为另一个域中的 CPG。" +msgstr "无法转型为另一个域中的 CPG。" msgid "Cannot retype to a snap CPG in a different domain." -msgstr "无法执行 retype 操作,以变为另一个域中的 SNAP CPG。" +msgstr "无法转型为另一个域中的 SNAP CPG。" msgid "" "Cannot run vgc-cluster command, please ensure software is installed and " @@ -1239,23 +1233,23 @@ #, python-format msgid "Cannot verify the existence of object:%(instanceName)s." -msgstr "无法验证对象 %(instanceName)s 的存在。" +msgstr "无法验证对象 %(instanceName)s 是否存在。" msgid "Cascade option is not supported." msgstr "不支持级联选项。" #, python-format msgid "CgSnapshot %(cgsnapshot_id)s could not be found." -msgstr "找不到 Cg 快照 %(cgsnapshot_id)s。" +msgstr "找不到 cgsnapshot %(cgsnapshot_id)s。" msgid "Cgsnahost is empty. No consistency group will be created." -msgstr "Cg 快照为空。将不创建任何一致性组。" +msgstr "cgsnapshot 为空。将不创建任何一致性组。" msgid "Cgsnapshot status must be available or error" -msgstr "Cg 快照状态必须为“可用”或“错误”" +msgstr "cgsnapshot 状态必须为“available”或“error”" msgid "Change hostlun id error." -msgstr "更改 hostlun 标识时出错。" +msgstr "更改 hostlun 标识时发生错误。" msgid "Change lun priority error." msgstr "更改 LUN 优先级时发生错误。" @@ -1372,11 +1366,11 @@ "in the volume type extra specs." msgstr "" "卷类型 %s 中存在冲突的 QoS 规范:当 QoS 规范与卷类型相关联时,不允许卷类型额" -"外规范中存在旧的“netapp:qos_policy_group”。" +"外说明中存在旧的“netapp:qos_policy_group”。" #, python-format msgid "Connection to glance failed: %(reason)s" -msgstr "连接glance失败: %(reason)s" +msgstr "连接 glance 失败:%(reason)s" #, python-format msgid "Connection to swift failed: %(reason)s" @@ -1398,20 +1392,20 @@ #, python-format msgid "Consistency group %s still has dependent cgsnapshots." -msgstr "一致性组 %s 仍然具有从属 cg 快照。" +msgstr "一致性组 %s 仍然具有从属 cgsnapshot。" msgid "Consistency group is empty. No cgsnapshot will be created." -msgstr "一致性组为空组。将不创建任何 cg 快照。" +msgstr "一致性组为空组。将不创建任何 cgsnapshot。" #, python-format msgid "" "Consistency group status must be available or error, but current status is: " "%s" -msgstr "一致性组状态必须为“可用”或“错误”,但当前状态为:%s" +msgstr "一致性组状态必须为“available”或“error”,但当前状态为:%s" #, python-format msgid "Consistency group status must be available, but current status is: %s." -msgstr "一致性组状态必须为“可用”,但当前状态为:%s。" +msgstr "一致性组状态必须为“available”,但当前状态为:%s。" #, python-format msgid "ConsistencyGroup %(consistencygroup_id)s could not be found." @@ -1450,7 +1444,7 @@ #, python-format msgid "Converted to raw, but format is now %s" -msgstr "转化为裸格式,但目前格式是 %s" +msgstr "已转换为原始格式,但现在格式为 %s" #, python-format msgid "Converted to raw, but format is now %s." @@ -1507,7 +1501,7 @@ #, python-format msgid "Could not find config at %(path)s" -msgstr "在 %(path)s 找不到配置文件。" +msgstr "在 %(path)s 中找不到配置文件。" #, python-format msgid "Could not find iSCSI export for volume %(volumeName)s." @@ -1546,7 +1540,7 @@ #, python-format msgid "Could not load paste app '%(name)s' from %(path)s" -msgstr "无法从路径 %(path)s 中加载应用 '%(name)s'" +msgstr "无法从路径 %(path)s 中加载粘帖应用“%(name)s”" #, python-format msgid "Could not read %s. Re-running with sudo" @@ -1600,7 +1594,7 @@ msgid "" "Create encrypted volumes with type %(type)s from image %(image)s is not " "supported." -msgstr "不支持从映像 %(image)s 创建类型为 %(type)s的加密卷。" +msgstr "不支持通过映像 %(image)s 创建类型为 %(type)s 的加密卷。" msgid "Create export for volume failed." msgstr "为卷创建导出失败。" @@ -1610,7 +1604,7 @@ #, python-format msgid "Create hypermetro error. %s." -msgstr "创建 hypermetro 错误。%s。" +msgstr "创建 hypermetro 时出错。%s。" msgid "Create lun error." msgstr "创建 LUN 时出错。" @@ -1628,10 +1622,10 @@ msgstr "创建管理器卷流失败。" msgid "Create port group error." -msgstr "创建端口组时出错。" +msgstr "创建端口组时发生错误。" msgid "Create replication error." -msgstr "创建复制错误。" +msgstr "创建复制时发生错误。" #, python-format msgid "Create replication pair failed. Error: %s." @@ -1664,10 +1658,10 @@ #, python-format msgid "Creating usages for %(begin_period)s until %(end_period)s" -msgstr "正在为 %(begin_period)s 直到 %(end_period)s 创建使用情况" +msgstr "正在创建从 %(begin_period)s 到 %(end_period)s 的使用情况" msgid "Current host isn't part of HGST domain." -msgstr "当前主机不存在于 HGST 域中。" +msgstr "当前主机不在 HGST 域中。" #, python-format msgid "" @@ -1682,7 +1676,7 @@ msgstr "卷 %(vol)s 的当前已映射的主机位于具有 %(group)s 的不受支持的主机组中。" msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "建议不要使用:请部署 Cinder API V1。" +msgstr "已不推荐使用:Cinder API 的 Deploy v1。" msgid "DEPRECATED: Deploy v2 of the Cinder API." msgstr "已不推荐使用:Cinder API 的 Deploy v2。" @@ -1733,7 +1727,7 @@ msgstr "未能确定数据 ONTAP API 版本。" msgid "Data ONTAP operating in 7-Mode does not support QoS policy groups." -msgstr "以 7 方式运行的 Data ONTAP 不支持 QoS 策略组。" +msgstr "以方式 7 运行的 Data ONTAP 不支持 QoS 策略组。" msgid "Database schema downgrade is not allowed." msgstr "不允许对数据库模式进行降级。" @@ -1751,7 +1745,7 @@ "Dedup is a valid provisioning type, but requires WSAPI version " "'%(dedup_version)s' version '%(version)s' is installed." msgstr "" -"去重是有效的供应类型,但是要求安装了 WSAPI 版本“%(dedup_version)s”版" +"去重是有效的供应类型,但是要求安装了 WSAPI 版本“%(dedup_version)s”的版" "本“%(version)s”。" msgid "Dedup luns cannot be extended" @@ -1795,8 +1789,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"备份删除已异常中止,当前配置的备份服务 [%(configured_service)s] 不是已用来创" -"建此备份的备份服务 [%(backup_service)s]。" +"备份删除已异常中止,当前配置的备份服务 [%(configured_service)s] 不是用来创建" +"此备份的备份服务 [%(backup_service)s]。" msgid "Delete consistency group failed." msgstr "删除一致性组失败。" @@ -1823,7 +1817,7 @@ msgstr "删除映射视图时发生错误。" msgid "Delete port group error." -msgstr "删除端口组时出错。" +msgstr "删除端口组时发生错误。" msgid "Delete portgroup from mapping view error." msgstr "从映射视图删除端口组时发生错误。" @@ -1856,17 +1850,17 @@ msgid "" "Dell Cinder driver configuration error replication not supported with direct " "connect." -msgstr "直接连接不支持 Dell Cinder 驱动程序配置错误复制。" +msgstr "Dell Cinder 驱动程序配置错误:直接连接不支持复制。" #, python-format msgid "Dell Cinder driver configuration error replication_device %s not found" -msgstr "找不到 Dell Cinder 驱动程序配置错误 replication_device %s" +msgstr "Dell Cinder 驱动程序配置错误:找不到 replication_device %s" msgid "Deploy v3 of the Cinder API." msgstr "Cinder API 的 Deploy v3。" msgid "Describe-resource is admin only functionality" -msgstr "Describe-resource是只有管理员才能执行的功能。" +msgstr "Describe-resource 是只有管理员才能执行的功能。" #, python-format msgid "Destination has migration_status %(stat)s, expected %(exp)s." @@ -1884,7 +1878,7 @@ msgstr "拆离卷失败:存在多个连接,但是未提供 attachment_id。" msgid "Detach volume from instance and then try again." -msgstr "请断开卷与实例的连接,然后再次进行尝试。" +msgstr "请将卷与实例拆离,然后重试。" #, python-format msgid "Detected more than one volume with name %(vol_name)s" @@ -1899,7 +1893,7 @@ msgstr "在 %(fun)s 中找不到期望的键 %(key)s:%(raw)s。" msgid "Disabled reason contains invalid characters or is too long" -msgstr "禁用的原因包含无效字符或太长" +msgstr "禁用的原因包含无效字符或字符太多" #, python-format msgid "Domain with name %s wasn't found." @@ -1910,7 +1904,7 @@ "Downlevel GPFS Cluster Detected. GPFS Clone feature not enabled in cluster " "daemon level %(cur)s - must be at least at level %(min)s." msgstr "" -"检测到下层 GPFS 集群。在集群守护程序级别 %(cur)s 中未启用“GPFS 克隆”功能 - 必" +"检测到下级 GPFS 集群。在集群守护程序级别 %(cur)s 中未启用“GPFS 克隆”功能 - 必" "须至少处于级别 %(min)s。" #, python-format @@ -1936,7 +1930,7 @@ "E-series proxy API version %(current_version)s does not support full set of " "SSC extra specs. The proxy version must be at at least %(min_version)s." msgstr "" -"E-series 代理 API 版本 %(current_version)s 不支持完整的一组 SSC 额外规范。代" +"E-series 代理 API 版本 %(current_version)s 不支持一组完整的 SSC 额外说明。代" "理版本必须至少为 %(min_version)s。" #, python-format @@ -1947,6 +1941,14 @@ "发生 EMC VNX Cinder 驱动程序 CLI 异常:%(cmd)s(返回码为 %(rc)s)(输出为 " "%(out)s)。" +#, python-format +msgid "" +"EMC VNX Cinder Driver SPUnavailableException: %(cmd)s (Return Code: %(rc)s) " +"(Output: %(out)s)." +msgstr "" +"EMC VNX Cinder 驱动程序 SPUnavailableException:%(cmd)s(返回码:%(rc)s)(输" +"出:%(out)s)。" + msgid "" "EcomServerIp, EcomServerPort, EcomUserName, EcomPassword must have valid " "values." @@ -1958,7 +1960,7 @@ "Either 'cgsnapshot_id' or 'source_cgid' must be provided to create " "consistency group %(name)s from source." msgstr "" -"必须提供“cgsnapshot_id”或者“source_cgid”,以从源创建一致性组 %(name)s。" +"必须提供“cgsnapshot_id”或者“source_cgid”,才能通过源创建一致性组 %(name)s。" #, python-format msgid "" @@ -1984,7 +1986,7 @@ msgstr "启用复制。" msgid "Ensure that configfs is mounted at /sys/kernel/config." -msgstr "请确保 configfs 安装在 /sys/kernel/config 处。" +msgstr "请确保 configfs 安装在 /sys/kernel/config 中。" #, python-format msgid "" @@ -2012,8 +2014,9 @@ "Project: %(project)s Clone project: %(clone_proj)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"在池 %(pool)s 的卷 %(lun)s 上克隆快照 %(snapshot)s 时出错。项目:%(project)s " -"克隆项目:%(clone_proj)s返回码:%(ret.status)d 消息:%(ret.data)s。" +"在池 %(pool)s 的卷 %(lun)s 上克隆快照 %(snapshot)s 时出错。项目:" +"%(project)s,克隆项目:%(clone_proj)s,返回码:%(ret.status)d ,消息:" +"%(ret.data)s。" #, python-format msgid "" @@ -2026,7 +2029,7 @@ "Error Create Cloned Volume: Volume: %(cloneName)s Source Volume:" "%(sourceName)s. Return code: %(rc)lu. Error: %(error)s." msgstr "" -"创建克隆卷时出错:卷:%(cloneName)s 源卷为 %(sourceName)s。返回码为 " +"创建克隆卷时出错:卷为 %(cloneName)s 源卷为 %(sourceName)s。返回码为 " "%(rc)lu。错误为 %(error)s。" #, python-format @@ -2080,22 +2083,22 @@ "%(description)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "创建属性 %(property)s、类型 %(type)s 和描述 %(description)s 时出错。返回码:" -"%(ret.status)d 消息:%(ret.data)s。" +"%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Creating Share: %(name)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"创建共享项 %(name)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +"创建共享项 %(name)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Creating Snapshot: %(snapshot)s onVolume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在卷 %(lun)s 上对池 %(pool)s 创建快照 %(snapshot)s 时出错。项目:%(project)s " -"返回码:%(ret.status)d 消息:%(ret.data)s。" +"在卷 %(lun)s 上对池 %(pool)s 创建快照 %(snapshot)s 时出错。项目:" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2103,13 +2106,14 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "在共享项 %(share)s 上对池 %(pool)s 创建快照 %(snapshot)s 时出错。项目:" -"%(project)s 返回码:%(ret.status)d 消息:%(ret.data)s。" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Creating Target: %(alias)sReturn code: %(ret.status)d Message: " "%(ret.data)s ." -msgstr "创建目标 %(alias)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +msgstr "" +"创建目标 %(alias)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2124,7 +2128,7 @@ "Error Creating Volume: %(lun)s Size: %(size)s Return code: %(ret.status)d " "Message: %(ret.data)s." msgstr "" -"创建大小为 %(size)s 的卷 %(lun)s 时出错。返回码:%(ret.status)d消息:" +"创建大小为 %(size)s 的卷 %(lun)s 时出错。返回码:%(ret.status)d,消息:" "%(ret.data)s。" #, python-format @@ -2142,7 +2146,7 @@ "%(vol)s 上创建复制操作时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" msgid "Error Creating unbound volume on an Extend operation." -msgstr "对扩展操作创建未绑定卷时出错。" +msgstr "执行扩展操作期间,创建未绑定卷时出错。" msgid "Error Creating unbound volume." msgstr "创建未绑定卷时出错。" @@ -2172,15 +2176,15 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "在共享项 %(share)s 上对池 %(pool)s 删除快照 %(snapshot)s 时出错。项目:" -"%(project)s 返回码:%(ret.status)d 消息:%(ret.data)s。" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Deleting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在卷 %(lun)s 上对池 %(pool)s 删除快照 %(snapshot)s 时出错。项目:%(project)s " -"返回码:%(ret.status)d 消息:%(ret.data)s。" +"在卷 %(lun)s 上对池 %(pool)s 删除快照 %(snapshot)s 时出错。项目:" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2215,7 +2219,7 @@ "Error Getting Initiators: InitiatorGroup: %(initiatorgroup)s Return code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"获取发起方时出错:发起方组为 %(initiatorgroup)s,返回码为 %(ret.status)d 消" +"获取发起方时出错:发起方组为 %(initiatorgroup)s,返回码为 %(ret.status)d,消" "息:%(ret.data)s。" #, python-format @@ -2237,22 +2241,23 @@ "Error Getting Share: %(share)s on Pool: %(pool)s Project: %(project)s Return " "code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在池 %(pool)s 上获取共享项 %(share)s 时出错。项目:%(project)s 返回码:" -"%(ret.status)d 消息:%(ret.data)s。" +"在池 %(pool)s 上获取共享项 %(share)s 时出错。项目:%(project)s,返回码:" +"%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在卷 %(lun)s 上对池 %(pool)s 创建快照 %(snapshot)s 时出错。项目:%(project)s " -"返回码:%(ret.status)d 消息:%(ret.data)s。" +"在卷 %(lun)s 上对池 %(pool)s 创建快照 %(snapshot)s 时出错。项目:" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Getting Target: %(alias)sReturn code: %(ret.status)d Message: " "%(ret.data)s ." -msgstr "获取目标 %(alias)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +msgstr "" +"获取目标 %(alias)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2260,7 +2265,7 @@ "code: %(ret.status)d Message: %(ret.data)s." msgstr "" "在池 %(pool)s 上获取卷 %(lun)s 时出错。项目:%(project)s 返回码:" -"%(ret.status)d 消息:%(ret.data)s。" +"%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2272,7 +2277,7 @@ msgid "" "Error Modifying masking view : %(groupName)s. Return code: %(rc)lu. Error: " "%(error)s." -msgstr "修改掩码视图 %(groupName)s 时出错。返回码:%(rc)lu。错误为 %(error)s。" +msgstr "修改掩码视图 %(groupName)s 时出错。返回码:%(rc)lu。错误:%(error)s。" #, python-format msgid "Error Pool ownership: Pool %(pool)s is not owned by %(host)s." @@ -2284,7 +2289,7 @@ "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" "在池 %(pool)s 的卷 %(lun)s 上设置属性 Props %(props)s 时出错。项目:" -"%(project)s 返回码:%(ret.status)d 消息:%(ret.data)s。" +"%(project)s,返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2296,13 +2301,13 @@ "Error Verifying Initiator: %(iqn)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"验证启动程序 %(iqn)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +"验证启动程序 %(iqn)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Verifying Pool: %(pool)s Return code: %(ret.status)d Message: " "%(ret.data)s." -msgstr "验证池 %(pool)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +msgstr "验证池 %(pool)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2323,15 +2328,16 @@ msgid "" "Error Verifying Target: %(alias)s Return code: %(ret.status)d Message: " "%(ret.data)s." -msgstr "验证目标 %(alias)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +msgstr "" +"验证目标 %(alias)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" "Error Verifying share: %(share)s on Project: %(project)s and Pool: %(pool)s " "Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在项目 %(project)s 和池 %(pool)s 上验证共享项 %(share)s 时出错。返回码为 " -"%(ret.status)d,消息为 %(ret.data)s。" +"在项目 %(project)s 和池 %(pool)s 上验证共享项 %(share)s 时出错。返回码:" +"%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2344,7 +2350,7 @@ "Error adding initiator to group : %(groupName)s. Return code: %(rc)lu. " "Error: %(error)s." msgstr "" -"向组 %(groupName)s 添加启动程序时出错。返回码:%(rc)lu。错误为 %(error)s。" +"向组 %(groupName)s 添加启动程序时出错。返回码:%(rc)lu。错误:%(error)s。" #, python-format msgid "Error adding volume to composite volume. Error is: %(error)s." @@ -2359,8 +2365,8 @@ "Error associating storage group : %(storageGroupName)s. To fast Policy: " "%(fastPolicyName)s with error description: %(errordesc)s." msgstr "" -"将存储器组 %(storageGroupName)s 关联至快速策略 %(fastPolicyName)s 时出错,错" -"误描述:%(errordesc)s。" +"将存储器组 %(storageGroupName)s 关联至 FAST 策略 %(fastPolicyName)s 时出错," +"错误描述:%(errordesc)s。" #, python-format msgid "Error attaching volume %s. Target limit might be reached!" @@ -2398,7 +2404,7 @@ #, python-format msgid "Error during evaluator parsing: %(reason)s" -msgstr "在评估程序解析期间,发生错误:%(reason)s" +msgstr "评估程序解析期间发生错误:%(reason)s" #, python-format msgid "" @@ -2413,7 +2419,7 @@ "Error enabling iSER for NetworkPortal: please ensure that RDMA is supported " "on your iSCSI port %(port)d on ip %(ip)s." msgstr "" -"为 NetworkPortal 启用 iSER 时出错:请确保 RDMA 在 IP %(ip)s 上的 iSCSI 端口 " +"对 NetworkPortal 启用 iSER 时出错:请确保 RDMA 在 IP %(ip)s 上的 iSCSI 端口 " "%(port)d 中受支持。" #, python-format @@ -2467,7 +2473,7 @@ msgstr "从名称 %(name)s 中获取域标识 %(id)s 时出错。" msgid "Error getting initiator groups." -msgstr "获取发起方组时,发生错误。" +msgstr "获取启动程序组时出错。" #, python-format msgid "Error getting pool id from name %(pool)s: %(err)s." @@ -2512,7 +2518,7 @@ #, python-format msgid "Error in SolidFire API response: data=%(data)s" -msgstr "SolidFire API响应里发生错误:data=%(data)s" +msgstr "SolidFire API 响应出错:data=%(data)s" #, python-format msgid "Error in space-create for %(space)s of size %(size)d GB" @@ -2520,7 +2526,7 @@ #, python-format msgid "Error in space-extend for volume %(space)s with %(size)d additional GB" -msgstr "对卷 %(space)s 进行空间扩充,额外扩充 %(size)d GB 时出错" +msgstr "对卷 %(space)s 额外扩充 %(size)d GB 空间时出错" #, python-format msgid "Error managing volume: %s." @@ -2543,7 +2549,7 @@ "Error modifying Service: %(service)s Return code: %(ret.status)d Message: " "%(ret.data)s." msgstr "" -"修改服务 %(service)s 时出错。返回码:%(ret.status)d 消息:%(ret.data)s。" +"修改服务 %(service)s 时出错。返回码:%(ret.status)d,消息:%(ret.data)s。" #, python-format msgid "" @@ -2561,11 +2567,11 @@ #, python-format msgid "Error occurred when creating cgsnapshot %s." -msgstr "创建 cg 快照 %s 时发生了错误。" +msgstr "创建 cgsnapshot %s 时发生了错误。" #, python-format msgid "Error occurred when deleting cgsnapshot %s." -msgstr "删除 cg 快照 %s 时发生了错误。" +msgstr "删除 cgsnapshot %s 时发生了错误。" #, python-format msgid "Error occurred when updating consistency group %s." @@ -2667,23 +2673,23 @@ #, python-format msgid "Error while creating snapshot [status] %(stat)s - [result] %(res)s." -msgstr "创建快照 [status] %(stat)s - [result] %(res)s 时出错。" +msgstr "创建快照时发生错误:[status] %(stat)s - [result] %(res)s。" #, python-format msgid "Error while creating volume [status] %(stat)s - [result] %(res)s." -msgstr "创建卷 [status] %(stat)s - [result] %(res)s 时出错。" +msgstr "创建卷时发生错误:[status] %(stat)s - [result] %(res)s。" #, python-format msgid "Error while deleting snapshot [status] %(stat)s - [result] %(res)s" -msgstr "删除快照 [status] %(stat)s - [result] %(res)s 时出错。" +msgstr "删除快照时发生错误:[status] %(stat)s - [result] %(res)s。" #, python-format msgid "Error while deleting volume [status] %(stat)s - [result] %(res)s." -msgstr "删除卷 [status] %(stat)s - [result] %(res)s 时出错。" +msgstr "删除卷时发生错误:[status] %(stat)s - [result] %(res)s。" #, python-format msgid "Error while extending volume [status] %(stat)s - [result] %(res)s." -msgstr "扩展卷 [status] %(stat)s - [result] %(res)s 时出错。" +msgstr "扩展卷时发生错误:[status] %(stat)s - [result] %(res)s。" #, python-format msgid "Error while getting %(op)s details, returned code: %(status)s." @@ -2769,7 +2775,7 @@ "name: %(sourceName)s Extra specs: %(extraSpecs)s " msgstr "" "创建元素副本时发生异常。克隆名称:%(cloneName)s,源名称:%(sourceName)s,额外" -"规范:%(extraSpecs)s " +"说明:%(extraSpecs)s " #, python-format msgid "Exception in _select_ds_for_volume: %s." @@ -2793,18 +2799,18 @@ #, python-format msgid "Expected integer for node_count, svcinfo lsiogrp returned: %(node)s." -msgstr "期望 node_count 的值为整数,已返回 svcinfo lsiogrp:%(node)s。" +msgstr "node_count 的值应该为整数,但 svcinfo lsiogrp 返回:%(node)s。" #, python-format msgid "Expected no output from CLI command %(cmd)s, got %(out)s." -msgstr "期望 CLI 命令 %(cmd)s 没有任何输出,但是获得了 %(out)s。" +msgstr "CLI 命令 %(cmd)s 不应有任何输出,但收到 %(out)s。" #, python-format msgid "" "Expected single vdisk returned from lsvdisk when filtering on vdisk_UID. " "%(count)s were returned." msgstr "" -"在 vdisk_UID 上进行过滤时,从 lsvdisk 返回了所需的单个 vdisk。返回了 " +"在 vdisk_UID 上进行过滤时,从 lsvdisk 返回了预期的单个 vdisk。返回了 " "%(count)s。" #, python-format @@ -2825,8 +2831,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"记录导出已异常中止,当前配置的备份服务 [%(configured_service)s] 不是已用来创" -"建此备份的备份服务 [%(backup_service)s]。" +"记录导出已异常中止,当前配置的备份服务 [%(configured_service)s] 不是用来创建" +"此备份的备份服务 [%(backup_service)s]。" msgid "Extend volume error." msgstr "扩展卷时发生错误。" @@ -2843,7 +2849,7 @@ msgstr "未安装 FAST VP 启用程序。无法对该卷设置分层策略" msgid "FAST is not supported on this array." -msgstr "快速策略在此阵列上不受支持。" +msgstr "FAST 策略在此阵列上不受支持。" msgid "FC is the protocol but wwpns are not supplied by OpenStack." msgstr "FC 为协议,但 OpenStack 未提供 wwpns。" @@ -2861,7 +2867,7 @@ msgstr "对于光纤网 %(fabric)s,未能添加连接:发生错误:%(err)s" msgid "Failed cgsnapshot" -msgstr "已使 cg 快照失效" +msgstr "失效 cgsnapshot" #, python-format msgid "Failed creating snapshot for group: %(response)s." @@ -2889,7 +2895,7 @@ #, python-format msgid "Failed to Login to 3PAR (%(url)s) because %(err)s" -msgstr "未能登录到 3PAR (%(url)s),因为存在 %(err)s" +msgstr "无法登录 3PAR (%(url)s),因为 %(err)s" msgid "Failed to access active zoning configuration." msgstr "未能访问活动分区配置。" @@ -2903,8 +2909,8 @@ "Failed to acquire a resource lock. (serial: %(serial)s, inst: %(inst)s, ret: " "%(ret)s, stderr: %(err)s)" msgstr "" -"未能获取资源锁定。(序列为 %(serial)s,实例为 %(inst)s,返回为 %(ret)s,标准" -"错误为 %(err)s)" +"未能获取资源锁定。(序列号为 %(serial)s,实例为 %(inst)s,返回码为 %(ret)s," +"标准错误为 %(err)s)" #, python-format msgid "Failed to add %(vol)s into %(sg)s after %(retries)s tries." @@ -2972,7 +2978,7 @@ #, python-format msgid "Failed to copy metadata to volume: %(reason)s" -msgstr "未能复制元数据到卷:%(reason)s" +msgstr "未能将元数据复制到卷:%(reason)s" msgid "Failed to copy volume, destination device unavailable." msgstr "未能复制卷,目标设备不可用。" @@ -2993,12 +2999,13 @@ #, python-format msgid "Failed to create Volume Group: %(vg_name)s" -msgstr "未能创建卷组: %(vg_name)s" +msgstr "未能创建卷组:%(vg_name)s" #, python-format msgid "" "Failed to create a file. (file: %(file)s, ret: %(ret)s, stderr: %(err)s)" -msgstr "未能创建文件。(文件为 %(file)s,返回为 %(ret)s,标准错误为 %(err)s)" +msgstr "" +"未能创建文件。(文件为 %(file)s,返回码为 %(ret)s,标准错误为 %(err)s)" #, python-format msgid "Failed to create a temporary snapshot for volume %s." @@ -3132,7 +3139,7 @@ #, python-format msgid "Failed to create thin pool, error message was: %s" -msgstr "未能创建瘦池,错误消息如下:%s" +msgstr "未能创建自动精简池,错误消息如下:%s" #, python-format msgid "Failed to create volume %s" @@ -3148,7 +3155,7 @@ #, python-format msgid "Failed to delete cgsnapshot %(id)s due to %(reason)s." -msgstr "由于 %(reason)s,未能删除 cg 快照 %(id)s。" +msgstr "由于 %(reason)s,未能删除 cgsnapshot %(id)s。" #, python-format msgid "Failed to delete consistency group %(id)s due to %(reason)s." @@ -3212,13 +3219,13 @@ #, python-format msgid "Failed to detach iSCSI target for volume %(volume_id)s." -msgstr "未能针对卷 %(volume_id)s 与 iSCSI 目标断开连接。" +msgstr "未能针对卷 %(volume_id)s 拆离 iSCSI 目标。" msgid "Failed to determine blockbridge API configuration" msgstr "未能确定 Blockbridge API 配置" msgid "Failed to disassociate qos specs." -msgstr "未能取消关联 Qos 规范。" +msgstr "未能对 Qos 规范取消关联。" #, python-format msgid "Failed to disassociate qos_specs: %(specs_id)s with type %(type_id)s." @@ -3232,6 +3239,9 @@ msgid "Failed to establish SSC connection." msgstr "未能建立 SSC 连接。" +msgid "Failed to establish a stable connection" +msgstr "未能建立稳定的链接" + msgid "Failed to establish connection with Coho cluster" msgstr "无法建立与 Coho 集群的连接。" @@ -3247,7 +3257,7 @@ #, python-format msgid "Failed to export for volume: %(reason)s" -msgstr "输出卷失败:%(reason)s" +msgstr "对卷执行导出失败:%(reason)s" #, python-format msgid "Failed to extend volume %(name)s, Error msg: %(msg)s." @@ -3260,10 +3270,10 @@ msgstr "找不到存储中心" msgid "Failed to find a vdisk copy in the expected pool." -msgstr "在所需池中找不到 vdisk 副本。" +msgstr "在预期池中找不到 vdisk 副本。" msgid "Failed to find account for volume." -msgstr "未能查找卷的帐户。" +msgstr "找不到卷的帐户。" #, python-format msgid "Failed to find fileset for path %(path)s, command output: %(cmdout)s." @@ -3345,7 +3355,7 @@ #, python-format msgid "Failed to get ip on Channel %(channel_id)s with volume: %(volume_id)s." -msgstr "未能获取具有卷 %(volume_id)s 的通道 %(channel_id)s 上的 IP。" +msgstr "未能在具有卷 %(volume_id)s 的通道 %(channel_id)s 上获取 IP。" msgid "Failed to get iqn info." msgstr "未能获取 IQN 信息。" @@ -3384,7 +3394,7 @@ #, python-format msgid "Failed to get remote copy information for %(volume)s due to %(err)s." -msgstr "无法获取 %(volume)s 的远程复制信息,因为发生了 %(err)s。" +msgstr "无法获取 %(volume)s 的远程复制信息,因为 %(err)s。" #, python-format msgid "" @@ -3445,7 +3455,7 @@ #, python-format msgid "Failed to log on %s Array (invalid login?)." -msgstr "未能登录到 %s 阵列(无效登录?)。" +msgstr "未能登录 %s 阵列(无效登录?)。" #, python-format msgid "Failed to login for user %s." @@ -3458,7 +3468,7 @@ msgid "" "Failed to make a request to Datera cluster endpoint due to the following " "reason: %s" -msgstr "由于以下原因,未能对 Datera 集群端点进行请求:%s" +msgstr "未能对 Datera 集群端点发出请求,原因如下:%s" msgid "Failed to manage api volume flow." msgstr "未能管理 API 卷流。" @@ -3467,19 +3477,19 @@ msgid "" "Failed to manage existing %(type)s %(name)s, because reported size %(size)s " "was not a floating-point number." -msgstr "未能管理现有 %(type)s %(name)s,因为所报告的大小 %(size)s不是浮点数。" +msgstr "未能管理现有 %(type)s %(name)s,因为所报告的大小 %(size)s 不是浮点数。" #, python-format msgid "" "Failed to manage existing volume %(name)s, because of error in getting " "volume size." -msgstr "未能管理现有卷 %(name)s,因为获取卷大小时出错。" +msgstr "无法管理现有卷 %(name)s,因为获取卷大小时出错。" #, python-format msgid "" "Failed to manage existing volume %(name)s, because rename operation failed: " "Error msg: %(msg)s." -msgstr "未能管理现有卷 %(name)s,因为重命名操作失败:错误消息为 %(msg)s。" +msgstr "无法管理现有卷 %(name)s,因为重命名操作失败:错误消息为 %(msg)s。" #, python-format msgid "" @@ -3490,12 +3500,12 @@ msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the NFS share passed in the volume reference." -msgstr "未能管理现有卷,因为所选卷类型的池与传入卷引用的 NFS 共享不匹配。" +msgstr "无法管理现有卷,因为所选卷类型的池与卷引用中传递的 NFS 共享不匹配。" msgid "" "Failed to manage existing volume because the pool of the volume type chosen " "does not match the file system passed in the volume reference." -msgstr "未能管理现有卷,因为所选卷类型的池与传入卷引用的文件系统不匹配。" +msgstr "未能管理现有卷,因为所选卷类型的池与卷引用中传递的文件系统不匹配。" msgid "" "Failed to manage existing volume because the pool of the volume type chosen " @@ -3613,7 +3623,7 @@ #, python-format msgid "Failed to remove iscsi target for volume %(volume_id)s." -msgstr "未能针对卷 %(volume_id)s 除去 iscsi 目标。" +msgstr "未能针对卷 %(volume_id)s 移除 iscsi 目标。" #, python-format msgid "" @@ -3629,14 +3639,14 @@ #, python-format msgid "Failed to remove volume %(volumeName)s from default SG: %(volumeName)s." -msgstr "无法移除卷 %(volumeName)s(从缺省 SG %(volumeName)s)。" +msgstr "无法从缺省 SG %(volumeName)s 移除卷 %(volumeName)s。" #, python-format msgid "" "Failed to remove: %(volumename)s. from the default storage group for FAST " "policy %(fastPolicyName)s." msgstr "" -"无法从快速策略 %(fastPolicyName)s 的缺省存储器组中移除 %(volumename)s。 " +"无法从 FAST 策略 %(fastPolicyName)s 的缺省存储器组中移除 %(volumename)s。 " #, python-format msgid "" @@ -3685,7 +3695,7 @@ #, python-format msgid "Failed to unbind volume %(volume)s" -msgstr "未能解除绑定卷 %(volume)s" +msgstr "未能对卷 %(volume)s 解除绑定" #, python-format msgid "" @@ -3736,7 +3746,7 @@ #, python-format msgid "Failure getting LUN info for %s." -msgstr "针对 %s 获取 LUN 信息时发生故障。" +msgstr "获取 %s 的 LUN 信息时发生故障。" #, python-format msgid "Failure in update_volume_key_value_pair:%s" @@ -3748,7 +3758,7 @@ #, python-format msgid "Failure staging LUN %s to tmp." -msgstr "将 LUN %s 登台至临时文件夹时发生故障。" +msgstr "将 LUN %s 暂存至临时位置时发生故障。" msgid "Fatal error: User not permitted to query NetApp volumes." msgstr "发生致命错误:不允许用户查询 NetApp 卷。" @@ -3761,13 +3771,13 @@ msgid "" "Fexvisor failed to join the volume %(vol)s in the group %(group)s due to " "%(ret)s." -msgstr "由于 %(ret)s,Fexvisor 未能将卷 %(vol)s加入组 %(group)s。" +msgstr "由于 %(ret)s,Fexvisor 未能使卷 %(vol)s 加入组 %(group)s。" #, python-format msgid "" "Fexvisor failed to remove the volume %(vol)s in the group %(group)s due to " "%(ret)s." -msgstr "由于 %(ret)s,Fexvisor 未能移除组 %(group)s中的卷 %(vol)s。" +msgstr "由于 %(ret)s,Fexvisor 未能移除组 %(group)s 中的卷 %(vol)s。" #, python-format msgid "Fexvisor failed to remove volume %(id)s due to %(reason)s." @@ -3827,7 +3837,8 @@ "Flash Cache Policy requires WSAPI version '%(fcache_version)s' version " "'%(version)s' is installed." msgstr "" -"闪存高速缓存策略要求安装了 WSAPI 版本“%(fcache_version)s”版本“%(version)s”。" +"闪存高速缓存策略要求安装了 WSAPI 版本“%(fcache_version)s”的版" +"本“%(version)s”。" #, python-format msgid "Flexvisor assign volume failed.:%(id)s:%(status)s." @@ -3900,16 +3911,16 @@ #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s: %(status)s." -msgstr "Flexvisor 未能从快照 %(id)s 创建卷:%(status)s。" +msgstr "Flexvisor 无法通过快照 %(id)s 创建卷:%(status)s。" #, python-format msgid "Flexvisor failed to create volume from snapshot %(id)s:%(status)s." -msgstr "Flexvisor 无法从快照 %(id)s 创建卷:%(status)s。" +msgstr "Flexvisor 无法通过快照 %(id)s 创建卷:%(status)s。" #, python-format msgid "" "Flexvisor failed to create volume from snapshot (failed to get event) %(id)s." -msgstr "Flexvisor 无法从快照创建卷(无法获取事件)%(id)s。 " +msgstr "Flexvisor 无法通过快照创建卷(无法获取事件)%(id)s。 " #, python-format msgid "Flexvisor failed to delete snapshot %(id)s: %(status)s." @@ -3950,12 +3961,12 @@ #, python-format msgid "Flexvisor failed to spawn volume from snapshot %(id)s:%(status)s." -msgstr "Flexvisor 无法从快照 %(id)s 衍生卷:%(status)s。" +msgstr "Flexvisor 无法通过快照 %(id)s 衍生卷:%(status)s。" #, python-format msgid "" "Flexvisor failed to spawn volume from snapshot (failed to get event) %(id)s." -msgstr "Flexvisor 无法从快照衍生卷(无法获取事件)%(id)s。 " +msgstr "Flexvisor 无法通过快照衍生卷(无法获取事件)%(id)s。 " #, python-format msgid "Flexvisor failed to unassign volume %(id)s: %(status)s." @@ -3993,7 +4004,7 @@ msgstr "未设置网关 VIP" msgid "Get FC ports by port group error." -msgstr "按端口组获取 FC 端口时出错。" +msgstr "按端口组获取 FC 端口时发生错误。" msgid "Get FC ports from array error." msgstr "从阵列中获取 FC 端口时发生错误。" @@ -4002,10 +4013,10 @@ msgstr "获取 FC 目标 WWPN 时发生错误。" msgid "Get HyperMetroPair error." -msgstr "获取 HyperMetroPair 时出错。" +msgstr "获取 HyperMetroPair 时发生错误。" msgid "Get LUN group by view error." -msgstr "按视图获取 LUN 组时出错。" +msgstr "按视图获取 LUN 组时发生错误。" msgid "Get LUNcopy information error." msgstr "获取 LUNcopy 信息时发生错误。" @@ -4020,13 +4031,13 @@ msgstr "获取 QoS 策略时发生错误。" msgid "Get SplitMirror error." -msgstr "获取 SplitMirror 时出错。" +msgstr "获取 SplitMirror 时发生错误。" msgid "Get active client failed." msgstr "获取活动客户机失败。" msgid "Get array info error." -msgstr "获取阵列信息时出错。" +msgstr "获取阵列信息时发生错误。" msgid "Get cache by name error." msgstr "按名称获取高速缓存时发生错误。" @@ -4035,7 +4046,7 @@ msgstr "获取已连接的空闲 FC wwn 时发生错误。" msgid "Get engines error." -msgstr "获取引擎时出错。" +msgstr "获取引擎时发生错误。" msgid "Get host initiators info failed." msgstr "获取主机启动程序信息失败。" @@ -4068,7 +4079,7 @@ msgstr "获取 LUN 组信息时发生错误。" msgid "Get migration task error." -msgstr "获取迁移任务时出错。" +msgstr "获取迁移任务时发生错误。" msgid "Get pair failed." msgstr "获取对失败。" @@ -4080,28 +4091,28 @@ msgstr "按分区标识获取分区时发生错误。" msgid "Get port group by view error." -msgstr "按视图获取端口组时出错。" +msgstr "按视图获取端口组时发生错误。" msgid "Get port group error." -msgstr "获取端口组时出错。" +msgstr "获取端口组时发生错误。" msgid "Get port groups by port error." -msgstr "按端口获取端口组时出错。" +msgstr "按端口获取端口组时发生错误。" msgid "Get ports by port group error." -msgstr "按端口组获取端口时出错。" +msgstr "按端口组获取端口时发生错误。" msgid "Get remote device info failed." msgstr "获取远程设备信息失败。" msgid "Get remote devices error." -msgstr "获取远程设备时出错。" +msgstr "获取远程设备时发生错误。" msgid "Get smartcache by cache id error." msgstr "按高速缓存标识获取 smartcache 时发生错误。" msgid "Get snapshot error." -msgstr "获取快照时出错。" +msgstr "获取快照时发生错误。" msgid "Get snapshot id error." msgstr "获取快照标识时发生错误。" @@ -4110,10 +4121,10 @@ msgstr "获取目标 IP 时发生错误。" msgid "Get target LUN of SplitMirror error." -msgstr "获取 SplitMirror 的目标 LUN 时出错。" +msgstr "获取 SplitMirror 的目标 LUN 时发生错误。" msgid "Get views by port group error." -msgstr "按端口组获取视图时出错。" +msgstr "按端口组获取视图时发生错误。" msgid "Get volume by name error." msgstr "按名称获取卷时发生错误。" @@ -4125,15 +4136,15 @@ msgid "" "Glance metadata cannot be updated, key %(key)s exists for volume id " "%(volume_id)s" -msgstr "无法更新 Glance 元数据,对于卷标识 %(volume_id)s,键 %(key)s 存在" +msgstr "无法更新 Glance 元数据,对于卷标识 %(volume_id)s,存在键 %(key)s" #, python-format msgid "Glance metadata for volume/snapshot %(id)s cannot be found." -msgstr "Glance中无法找到卷/镜像 %(id)s 的元数据" +msgstr "找不到卷/镜像 %(id)s 的 Glance 元数据" #, python-format msgid "Gluster config file at %(config)s doesn't exist" -msgstr "%(config)s 处不存在 Gluster 配置文件" +msgstr "%(config)s 中的 Gluster 配置文件不存在" #, python-format msgid "Google Cloud Storage api failure: %(reason)s" @@ -4149,7 +4160,7 @@ #, python-format msgid "Got bad path information from DRBDmanage! (%s)" -msgstr "从 DRBDmanage 中获得了错误路径信息!(%s)" +msgstr "从 DRBDmanage 中获得了无效路径信息!(%s)" msgid "HBSD error occurs." msgstr "发生 HBSD 错误。" @@ -4190,7 +4201,7 @@ #, python-format msgid "Host %(host)s could not be found." -msgstr "主机 %(host)s 没有找到。" +msgstr "找不到主机 %(host)s。" #, python-format msgid "" @@ -4225,7 +4236,7 @@ msgstr "主机已冻结。" msgid "Host not found" -msgstr "没有找到主机" +msgstr "找不到主机" #, python-format msgid "Host not found. Failed to remove %(service)s on %(host)s." @@ -4251,7 +4262,7 @@ msgstr "I/O 组 %(iogrp)d 无效;可用的 I/O 组为 %(avail)s。" msgid "ID" -msgstr "ID" +msgstr "标识" msgid "IP address/hostname of Blockbridge API." msgstr "Blockbridge API 的 IP 地址/主机名。" @@ -4298,7 +4309,7 @@ #, python-format msgid "Image %(image_id)s is unacceptable: %(reason)s" -msgstr "映像 %(image_id)s 无法接受,原因是: %(reason)s" +msgstr "映像 %(image_id)s 不可接受:%(reason)s" msgid "Image location not present." msgstr "映像位置不存在。" @@ -4308,8 +4319,7 @@ "Image virtual size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." msgstr "" -"映像虚拟大小为 %(image_size)dGB,在大小为 %(volume_size)dGB 的卷中将无法容" -"纳。" +"映像虚拟大小为 %(image_size)dGB,无法拟合大小为 %(volume_size)dGB 的卷。" msgid "" "ImageBusy error raised while deleting rbd volume. This may have been caused " @@ -4326,7 +4336,7 @@ msgstr "记录导入失败,找不到要执行导入的备份服务。请求服务 %(service)s" msgid "Incorrect request body format" -msgstr "不正确的请求主体格式" +msgstr "请求主体格式不正确" msgid "Incorrect request body format." msgstr "请求主体格式不正确。" @@ -4365,7 +4375,7 @@ msgstr "特权不足" msgid "Interval value (in seconds) between connection retries to ceph cluster." -msgstr "连接至 ceph 集群的连接重试之间的时间间隔值(秒)。" +msgstr "连接至 ceph 集群的连接重试的时间间隔值(秒)。" #, python-format msgid "Invalid %(protocol)s ports %(port)s specified for io_port_list." @@ -4379,11 +4389,11 @@ msgstr "ALUA 值无效。ALUA 值必须为 1 或 0。" msgid "Invalid Ceph args provided for backup rbd operation" -msgstr "为备份rbd操作提供的Ceph参数无效" +msgstr "为备份 rbd 操作提供的 Ceph 参数无效" #, python-format msgid "Invalid CgSnapshot: %(reason)s" -msgstr "Cg 快照无效:%(reason)s" +msgstr "cgsnapshot 无效:%(reason)s" #, python-format msgid "Invalid ConsistencyGroup: %(reason)s" @@ -4400,7 +4410,7 @@ msgid "" "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." -msgstr "一致性组无效:一致性组状态必须为“可用”,但当前状态为:%s。" +msgstr "一致性组无效:一致性组状态必须为“available”,但当前状态为:%s。" msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "一致性组无效:没有任何主机用于创建一致性组" @@ -4462,7 +4472,7 @@ #, python-format msgid "Invalid attaching mode '%(mode)s' for volume %(volume_id)s." -msgstr "加载模式 '%(mode)s' 对于卷 %(volume_id)s 无效。" +msgstr "连接模式“%(mode)s”对卷 %(volume_id)s 无效。" #, python-format msgid "Invalid auth key: %(reason)s" @@ -4481,7 +4491,7 @@ "”,指定的 URL 为:%s" msgid "Invalid cgsnapshot" -msgstr "cg 快照无效" +msgstr "无效 cgsnapshot" msgid "Invalid chap user details found in CloudByte storage." msgstr "在 CloudByte 存储器中找到了无效 chap 用户详细信息。" @@ -4553,7 +4563,7 @@ msgstr "映像标识无效,或无法访问所请求映像。" msgid "Invalid imageRef provided." -msgstr "提供了无效的imageRef。" +msgstr "提供了无效 imageRef。" msgid "Invalid initiator value received" msgstr "接收到无效启动程序值。" @@ -4563,7 +4573,7 @@ #, python-format msgid "Invalid input received: %(reason)s" -msgstr "输入无效: %(reason)s" +msgstr "接收到的输入无效:%(reason)s" #, python-format msgid "Invalid is_public filter [%s]" @@ -4575,11 +4585,11 @@ #, python-format msgid "Invalid metadata size: %(reason)s" -msgstr "元数据大小无效: %(reason)s" +msgstr "元数据大小无效:%(reason)s" #, python-format msgid "Invalid metadata: %(reason)s" -msgstr "元数据无效: %(reason)s" +msgstr "元数据无效: %(reason)s" #, python-format msgid "Invalid mount point base: %s" @@ -4591,11 +4601,11 @@ #, python-format msgid "Invalid new snapCPG name for retype. new_snap_cpg='%s'." -msgstr "新 snapCPG 名称对执行 retype 操作无效。new_snap_cpg='%s'。" +msgstr "新 snapCPG 名称对转型无效。new_snap_cpg='%s'。" #, python-format msgid "Invalid port number %(config)s for Coho rpc port" -msgstr "Coho rpc 端口的端口号 %(config)s 无效" +msgstr "端口号 %(config)s 对于 Coho rpc 端口无效" #, python-format msgid "" @@ -4607,12 +4617,12 @@ msgstr "qos 规范无效:%(reason)s" msgid "Invalid request to attach volume to an invalid target" -msgstr "关于将卷连接至无效目标的请求无效" +msgstr "无效请求,此请求要求将卷连接至无效目标" msgid "" "Invalid request to attach volume with an invalid mode. Attaching mode should " "be 'rw' or 'ro'" -msgstr "以无效方式连接卷的请求无效。连接方式应该为“rw”或“ro”" +msgstr "无效请求,此请求要求以无效方式连接卷。连接方式应该为“rw”或“ro”" #, python-format msgid "Invalid reservation expiration %(expire)s." @@ -4637,11 +4647,11 @@ #, python-format msgid "Invalid snapshot: %(reason)s" -msgstr "快照无效: %(reason)s" +msgstr "快照无效:%(reason)s" #, python-format msgid "Invalid status: '%s'" -msgstr "无效的状态:'%s'" +msgstr "无效的状态:“%s”" #, python-format msgid "Invalid storage pool %s requested. Retype failed." @@ -4663,7 +4673,7 @@ #, python-format msgid "Invalid update setting: '%s'" -msgstr "无效的更新设置:'%s'" +msgstr "无效的更新设置:“%s”" #, python-format msgid "" @@ -4702,7 +4712,7 @@ msgstr "“readonly”的值无效:“%s”" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" -msgstr "值对于“scheduler_max_attempts”无效,必须 >= 1" +msgstr "对于“scheduler_max_attempts”为无效值,必须大于或等于 1" msgid "Invalid value for NetApp configuration option netapp_host_type." msgstr "NetApp 配置选项 netapp_host_type 的值无效。" @@ -4732,7 +4742,7 @@ #, python-format msgid "Invalid volume: %(reason)s" -msgstr "卷无效: %(reason)s" +msgstr "卷无效:%(reason)s" #, python-format msgid "" @@ -4741,7 +4751,7 @@ "are: ('available', 'in-use')." msgstr "" "卷无效:无法将卷 %(volume_id)s 添加至一致性组 %(group_id)s,因为该卷处于无效" -"状态:%(status)s。以下是有效状态:(“可用”、“正在使用”)。" +"状态:%(status)s。以下是有效状态:(“available”和“in-use”)。" #, python-format msgid "" @@ -4765,8 +4775,8 @@ "Invalid volume: Cannot remove volume fake-volume-uuid from consistency group " "%(group_id)s because it is not in the group." msgstr "" -"卷无效:无法将卷 fake-volume-uuid 从一致性组 %(group_id)s 移除,因为它没有在" -"该组中。" +"卷无效:无法将卷 fake-volume-uuid 从一致性组 %(group_id)s 移除,因为它不在该" +"组中。" #, python-format msgid "Invalid volume_type passed: %s." @@ -4810,7 +4820,7 @@ msgstr "发出故障转移失败,因为未正确配置复制。" msgid "Item not found" -msgstr "条目没有找到" +msgstr "找不到项" #, python-format msgid "Job id not found in CloudByte's create volume [%s] response." @@ -4866,7 +4876,7 @@ #, python-format msgid "Last %s cinder syslog entries:-" -msgstr "以下是最后 %s 个 cinder 系统日志条目:-" +msgstr "最后 %s 个 cinder 系统日志条目:-" msgid "LeftHand cluster not found" msgstr "找不到 LeftHand 集群" @@ -4937,7 +4947,7 @@ msgstr "请求主体的格式不正确。" msgid "Malformed request url" -msgstr "错误格式的请求url" +msgstr "错误格式的请求 url" #, python-format msgid "Malformed response to command %(cmd)s: %(reason)s" @@ -4989,13 +4999,13 @@ msgid "" "Manage volume is not supported if FAST is enable. FAST policy: " "%(fastPolicyName)s." -msgstr "如果启用了 FAST,那么不支持管理卷。快速策略:%(fastPolicyName)s。" +msgstr "如果启用了 FAST,那么不支持管理卷。FAST 策略:%(fastPolicyName)s。" msgid "Managing of snapshots to failed-over volumes is not allowed." msgstr "不允许管理到达已故障转移的卷的快照。" msgid "Map info is None due to array version not supporting hypermetro." -msgstr "无映射信息,因为阵列版本不支持 hypermetro。" +msgstr "映射信息为 None,因为阵列版本不支持 hypermetro。" #, python-format msgid "" @@ -5019,21 +5029,21 @@ msgid "" "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." -msgstr "对于定额“%(name)s”,超过了允许的最大卷数 (%(allowed)d)。" +msgstr "对于配额“%(name)s”,超过了允许的最大卷数 (%(allowed)d)。" #, python-format msgid "May specify only one of %s" msgstr "只能指定 %s 中的一个" msgid "Metadata backup already exists for this volume" -msgstr "对于此卷,已存在元数据备份" +msgstr "此卷已存在元数据备份" #, python-format msgid "Metadata backup object '%s' already exists" msgstr "元数据备份对象“%s”已存在" msgid "Metadata item was not found" -msgstr "元数据项目未找到" +msgstr "找不到元数据项" msgid "Metadata item was not found." msgstr "找不到元数据项。" @@ -5050,10 +5060,10 @@ msgstr "元数据属性关键字为空白" msgid "Metadata property key blank." -msgstr "元数据属性关键字为空白。" +msgstr "元数据属性键为空白。" msgid "Metadata property key greater than 255 characters." -msgstr "元数据属性关键字超过 255 个字符。" +msgstr "元数据属性键超过 255 个字符。" msgid "Metadata property value greater than 255 characters." msgstr "元数据属性值超过 255 个字符。" @@ -5095,7 +5105,7 @@ #, python-format msgid "Missing required element '%s' in request body" -msgstr "在请求主体中缺少必需元素“%s”" +msgstr "请求主体中缺少必需元素“%s”" #, python-format msgid "Missing required element '%s' in request body." @@ -5108,7 +5118,7 @@ msgstr "请求主体中缺少必需元素“host”。" msgid "Missing required element quota_class_set in request body." -msgstr "在请求主体中缺少必需元素 quota_class_set。" +msgstr "请求主体中缺少必需元素 quota_class_set。" msgid "Missing required element snapshot in request body." msgstr "请求主体中缺少必需元素 snapshot。" @@ -5116,22 +5126,21 @@ msgid "" "Multiple SerialNumbers found, when only one was expected for this operation. " "Please change your EMC config file." -msgstr "" -"在期望此操作只有一个序列号时,却找到了多个序列号。请更改 EMC 配置文件。" +msgstr "此操作只应有一个序列号时,发现多个序列号。请更改 EMC 配置文件。" #, python-format msgid "Multiple copies of volume %s found." -msgstr "找到了卷 %s 的多个副本。" +msgstr "发现卷 %s 的多个副本。" #, python-format msgid "Multiple matches found for '%s', use an ID to be more specific." msgstr "对于“%s”,找到多个匹配项,请使用标识以更具体地进行查找。" msgid "Multiple profiles found." -msgstr "找到了多个概要文件。" +msgstr "发现多个概要文件。" msgid "Must implement a fallback schedule" -msgstr "必须实现一个回滚 schedule" +msgstr "必须实现回滚计划" msgid "Must implement find_retype_host" msgstr "必须实现 find_retype_host" @@ -5197,7 +5206,7 @@ msgstr "必须指定有效状态" msgid "Must specify an ExtensionManager class" -msgstr "必须明确一个ExtensionManager类" +msgstr "必须指定 ExtensionManager 类" msgid "Must specify bootable in request." msgstr "必须在请求中指定 bootable。" @@ -5233,7 +5242,7 @@ #, python-format msgid "NFS config file at %(config)s doesn't exist" -msgstr " %(config)s 处不存在 NFS 配置文件" +msgstr " %(config)s 中的 NFS 配置文件不存在" #, python-format msgid "NFS file %s not discovered." @@ -5275,7 +5284,7 @@ "New size should be bigger than the real size from backend storage. realsize: " "%(oldsize)s, newsize: %(newsize)s." msgstr "" -"新大小应该大于后端存储器中的实际大小。realsize:%(oldsize)s,newsize:" +"新大小应该大于后端存储器中的实际大小。实际大小:%(oldsize)s,新大小:" "%(newsize)s。" msgid "New volume size must be specified as an integer." @@ -5285,7 +5294,7 @@ msgstr "必须指定新的卷类型。" msgid "New volume type not specified in request_spec." -msgstr "在 request_spec 中,未指定新的卷类型。" +msgstr "未在 request_spec 中指定新的卷类型。" #, python-format msgid "New volume_type same as original: %s." @@ -5328,7 +5337,7 @@ #, python-format msgid "No cgsnapshot with id %s" -msgstr "不存在任何具有标识 %s 的 cg 快照" +msgstr "不存在任何具有标识 %s 的 cgsnapshot" msgid "No cinder entries in syslog!" msgstr "系统日志中没有任何 cinder 条目!" @@ -5366,7 +5375,7 @@ #, python-format msgid "No good iscsi portal found in supplied list for %s." -msgstr "对于 %s,在所提供列表中,找不到任何有用的 iSCSI 门户网站。" +msgstr "在针对 %s 提供的列表中找不到适用 iSCSI 门户网站。" #, python-format msgid "No good iscsi portals found for %s." @@ -5377,7 +5386,7 @@ msgstr "没有任何主机用于创建一致性组 %s。" msgid "No iSCSI-enabled ports on target array." -msgstr "目标阵列上没有可支持 iSCSI 的端口。" +msgstr "目标阵列上没有已启用 iSCSI 的端口。" msgid "No image_name was specified in request." msgstr "未在请求中指定任何 image_name。" @@ -5390,11 +5399,11 @@ msgstr "找不到对应启动程序 %s 的启动程序组" msgid "No initiators found, cannot proceed" -msgstr "找不到任何发起方,无法继续" +msgstr "找不到任何启动程序,无法继续" #, python-format msgid "No interface found on cluster for ip %s" -msgstr "集群中找不到 IP %s 的接口" +msgstr "在集群上找不到对应 IP %s 的接口" msgid "No ip address found." msgstr "找不到 IP 地址。" @@ -5458,7 +5467,7 @@ #, python-format msgid "No snap found with %s as backing file." -msgstr "在将 %s 作为支持文件的情况下,找不到任何 snap。" +msgstr "在将 %s 作为支持文件的情况下,找不到任何快照。" #, python-format msgid "No snapshot image found in snapshot group %s." @@ -5489,7 +5498,7 @@ #, python-format msgid "No target id found for volume %(volume_id)s." -msgstr "没有为卷 %(volume_id)s 找到目标id。" +msgstr "找不到卷 %(volume_id)s 的目标标识。" msgid "" "No unused LUN IDs are available on the host; multiattach is enabled which " @@ -5500,7 +5509,7 @@ #, python-format msgid "No valid host was found. %(reason)s" -msgstr "找不到有效主机,原因是 %(reason)s。" +msgstr "找不到有效主机:%(reason)s。" #, python-format msgid "No valid hosts for volume %(id)s with type %(type)s" @@ -5543,17 +5552,17 @@ #, python-format msgid "Not able to find a suitable datastore for the volume: %s." -msgstr "无法找到适合卷 %s 的数据存储器。" +msgstr "找不到适用于卷 %s 的数据存储器。" msgid "Not an rbd snapshot" msgstr "不是 rbd 快照" #, python-format msgid "Not authorized for image %(image_id)s." -msgstr "未针对映像 %(image_id)s 授权。" +msgstr "未针对映像 %(image_id)s 获得授权。" msgid "Not authorized." -msgstr "未授权。" +msgstr "未被授权。" #, python-format msgid "Not enough space on backend (%(backend)s)" @@ -5566,7 +5575,7 @@ msgstr "未存储在 rbd 中" msgid "Nova returned \"error\" status while creating snapshot." -msgstr "在创建快照时,Nova 返回了“错误”状态。" +msgstr "在创建快照时,Nova 返回了“error”状态。" msgid "Null response received from CloudByte's list filesystem." msgstr "从 CloudByte 的列表文件系统接收到空响应。" @@ -5593,7 +5602,7 @@ "Null response received while querying for [%(operation)s] based job " "[%(job)s] at CloudByte storage." msgstr "" -"在 CloudByte 存储器中查询基于 [%(operation)s] 的作业[%(job)s] 时接收到空响" +"在 CloudByte 存储器中查询基于 [%(operation)s] 的作业 [%(job)s] 时接收到空响" "应。" msgid "Number of retries if connection to ceph cluster failed." @@ -5628,9 +5637,7 @@ msgid "" "Only %(value)s %(verb)s request(s) can be made to %(uri)s every " "%(unit_string)s." -msgstr "" -"只能有 %(value)s 个 %(verb)s 请求发送给 %(uri)s 限定是每一个 " -"%(unit_string)s。" +msgstr "对于每 %(unit_string)s,只能对 %(uri)s 发送 %(value)s 个 %(verb)s 请求" msgid "Only one limit can be set in a QoS spec." msgstr "在 QoS 规范中只能设置一个限制。" @@ -5665,7 +5672,7 @@ #, python-format msgid "Originating %(res)s %(prop)s must be one of '%(vals)s' values" -msgstr "始发 %(res)s %(prop)s 必须为其中一个“%(vals)s”值" +msgstr "始发 %(res)s %(prop)s 必须为“%(vals)s”值之一" msgid "Override HTTPS port to connect to Blockbridge API server." msgstr "覆盖 HTTPS 端口以连接至 Blockbridge API 服务器。" @@ -5703,7 +5710,7 @@ #, python-format msgid "Policy doesn't allow %(action)s to be performed." -msgstr "政策不允许 %(action)s 被执行。" +msgstr "策略不允许执行 %(action)s。" #, python-format msgid "Pool %(poolNameInStr)s is not found." @@ -5739,11 +5746,11 @@ msgid "" "Pool: %(poolName)s. is not associated to storage tier for fast policy " "%(fastPolicy)s." -msgstr "池 %(poolName)s 与快速策略 %(fastPolicy)s 的存储层无关联。 " +msgstr "池 %(poolName)s 与 FAST 策略 %(fastPolicy)s 的存储层无关联。 " #, python-format msgid "PoolName must be in the file %(fileName)s." -msgstr "池名称必须存在于 %(fileName)s 文件中。" +msgstr "PoolName 必须存在于 %(fileName)s 文件中。" #, python-format msgid "Pools %s does not exist" @@ -5757,7 +5764,7 @@ msgstr "主副本状态为 %(status)s,并且已同步:%(sync)s" msgid "Project ID" -msgstr "项目ID" +msgstr "项目标识" #, python-format msgid "Project quotas are not properly setup for nested quotas: %(reason)s." @@ -5833,7 +5840,7 @@ msgid "" "Query by service parameter is deprecated. Please use binary parameter " "instead." -msgstr "建议不要按 service 参数进行查询。请改为使用 binary 参数。" +msgstr "不推荐使用 service 参数进行查询。请改为使用 binary 参数。" msgid "Query resource pool error." msgstr "查询资源池时发生错误。" @@ -5847,7 +5854,7 @@ msgstr "找不到配额类 %(class_name)s。" msgid "Quota could not be found" -msgstr "配额没有找到。" +msgstr "找不到配额。" #, python-format msgid "Quota exceeded for resources: %(overs)s" @@ -5855,11 +5862,11 @@ #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "配额用尽:code=%(code)s" +msgstr "超过配额:code=%(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." -msgstr "没有为项目 %(project_id)s 找到配额。" +msgstr "找不到项目 %(project_id)s 的配额。" #, python-format msgid "" @@ -5919,7 +5926,7 @@ msgstr "引用必须针对非受管快照。" msgid "Reference must be for an unmanaged virtual volume." -msgstr "引用必须对应非受管虚拟卷。" +msgstr "引用必须针对非受管虚拟卷。" msgid "Reference must be the name of an unmanaged snapshot." msgstr "引用必须是非受管快照的名称。" @@ -5966,7 +5973,7 @@ "Refusing to migrate volume ID: %(id)s. Please check your configuration " "because source and destination are the same Volume Group: %(name)s." msgstr "" -"正在拒绝迁移卷标识:%(id)s。请检查配置因为源和目标是同一卷组:%(name)s。" +"正在拒绝迁移卷标识:%(id)s。请检查配置,因为源和目标是同一卷组:%(name)s。" msgid "Remote pool cannot be found." msgstr "找不到远程池。" @@ -5987,7 +5994,7 @@ msgstr "从主机中移除 iSCSI 时发生错误。" msgid "Remove lun from QoS error." -msgstr "从 QoS 移除 LUN 时出错。" +msgstr "从 QoS 移除 LUN 时发生错误。" msgid "Remove lun from cache error." msgstr "从高速缓存移除 LUN 时发生错误。" @@ -5996,10 +6003,10 @@ msgstr "从分区移除 LUN 时发生错误。" msgid "Remove port from port group error." -msgstr "从端口组移除端口时出错。" +msgstr "从端口组移除端口时发生错误。" msgid "Remove volume export failed." -msgstr "除去卷导出失败。" +msgstr "移除卷导出失败。" msgid "Rename lun on array error." msgstr "在阵列上重命名 LUN 时发生错误。" @@ -6032,29 +6039,30 @@ msgid "" "Replication status for volume must be active or active-stopped, but current " "status is: %s" -msgstr "卷的复制状态必须为“活动”或“活动 - 已停止”,但当前状态为:%s" +msgstr "卷的复制状态必须为“active”或“active-stopped”,但当前状态为:%s" #, python-format msgid "" "Replication status for volume must be inactive, active-stopped, or error, " "but current status is: %s" -msgstr "卷的复制状态必须为“不活动”、“活动 - 已停止”或“错误”,但当前状态为:%s" +msgstr "" +"卷的复制状态必须为“inactive”、“active-stopped”或“error”,但当前状态为:%s" msgid "Request body and URI mismatch" -msgstr "请求主体和URI不匹配" +msgstr "请求主体与 URI 不匹配" msgid "Request body contains too many items" -msgstr "请求主体包含太多items" +msgstr "请求主体包含太多项" msgid "Request body contains too many items." msgstr "请求主体包含太多项。" msgid "Request body empty" -msgstr "请求主体是空的" +msgstr "请求主体为空" #, python-format msgid "Request to Datera cluster returned bad status: %(status)s | %(reason)s" -msgstr "针对 Datera 集群的请求返回了不正确的状态:%(status)s | %(reason)s" +msgstr "针对 Datera 集群的请求返回了无效状态:%(status)s | %(reason)s" #, python-format msgid "" @@ -6076,7 +6084,7 @@ msgid "" "Requested volume size %(size)d is larger than maximum allowed limit " "%(limit)d." -msgstr "所请求的卷大小 %(size)d超过了允许的最大限制 %(limit)d。" +msgstr "所请求的卷大小 %(size)d 超过了允许的最大限制 %(limit)d。" msgid "Required configuration not found" msgstr "找不到必需的配置选项" @@ -6094,18 +6102,18 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"重置备份状态已异常中止,当前配置的备份服务 [%(configured_service)s] 不是已用" -"来创建此备份的备份服务 [%(backup_service)s]。" +"重置备份状态已异常中止,当前配置的备份服务 [%(configured_service)s] 不是用来" +"创建此备份的备份服务 [%(backup_service)s]。" #, python-format msgid "Resizing clone %s failed." -msgstr "调整克隆 %s 的大小失败。" +msgstr "对克隆 %s 调整大小失败。" msgid "Resizing image file failed." msgstr "对映像文件调整大小失败。" msgid "Resource could not be found." -msgstr "资源没有找到。" +msgstr "找不到资源。" msgid "Resource not ready." msgstr "资源未就绪。" @@ -6129,7 +6137,7 @@ "Restore backup aborted, expected volume status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"备份复原已异常中止,需要的卷状态为 %(expected_status)s,但获得的是 " +"备份复原已异常中止,需要的卷状态为 %(expected_status)s,但收到 " "%(actual_status)s。" #, python-format @@ -6138,15 +6146,15 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"备份复原已异常中止,当前配置的备份服务 [%(configured_service)s] 不是已用来创" -"建此备份的备份服务 [%(backup_service)s]。" +"备份复原已异常中止,当前配置的备份服务 [%(configured_service)s] 不是用来创建" +"此备份的备份服务 [%(backup_service)s]。" #, python-format msgid "" "Restore backup aborted: expected backup status %(expected_status)s but got " "%(actual_status)s." msgstr "" -"备份复原已异常中止:需要的备份状态为 %(expected_status)s,但获得的是 " +"备份复原已异常中止:需要的备份状态为 %(expected_status)s,但收到 " "%(actual_status)s。" #, python-format @@ -6154,7 +6162,7 @@ "Retrieved a different amount of SolidFire volumes for the provided Cinder " "snapshots. Retrieved: %(ret)s Desired: %(des)s" msgstr "" -"检索到所提供 Cinder 快照的不同 SolidFire 卷量。已检索到:%(ret)s 期望:" +"检索到所提供 Cinder 快照的不同 SolidFire 卷量。已检索到:%(ret)s,期望:" "%(des)s" #, python-format @@ -6162,11 +6170,12 @@ "Retrieved a different amount of SolidFire volumes for the provided Cinder " "volumes. Retrieved: %(ret)s Desired: %(des)s" msgstr "" -"检索到所提供 Cinder 卷的不同 SolidFire 卷量。已检索到:%(ret)s 期望:%(des)s" +"检索到所提供 Cinder 卷的不同 SolidFire 卷量。已检索到:%(ret)s,期望:" +"%(des)s" #, python-format msgid "Retry count exceeded for command: %s" -msgstr "对于命令,超过重试次数:%s" +msgstr "对于命令 %s,超过重试次数" msgid "Retryable SolidFire Exception encountered" msgstr "遇到可重试的 SolidFire 异常" @@ -6187,8 +6196,8 @@ "administrator to manually return your volume to the default storage group " "for fast policy %(fastPolicyName)s failed." msgstr "" -"针对卷 %(volumeName)s 的回滚失败。请与系统管理员联系以将该卷手动返回至对应快" -"速策略 %(fastPolicyName)s 的缺省存储器组。" +"针对卷 %(volumeName)s 的回滚失败。请与系统管理员联系以将该卷手动返回至对应失" +"败 FAST 策略 %(fastPolicyName)s 的缺省存储器组。" #, python-format msgid "Rolling back %(volumeName)s by deleting it." @@ -6215,18 +6224,14 @@ #, python-format msgid "SMBFS config file at %(config)s doesn't exist." -msgstr "%(config)s 处不存在 SMBFS 配置文件。" +msgstr "%(config)s 中的 SMBFS 配置文件不存在。" msgid "SMBFS config file not set (smbfs_shares_config)." -msgstr "SMBFS 配置文件未设置 (smbfs_shares_config)。" +msgstr "未设置 SMBFS 配置文件 (smbfs_shares_config)。" #, python-format msgid "SSH Command failed after '%(total_attempts)r' attempts : '%(command)s'" -msgstr "SSH 命令在“%(total_attempts)r”之后失败,尝试次数:“%(command)s”" - -#, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "SSH 命令失败,发生了错误:“%(err)s”,命令:“%(command)s”" +msgstr "SSH 命令在“%(total_attempts)r”次尝试之后失败: “%(command)s”" #, python-format msgid "SSH command injection detected: %(command)s" @@ -6246,7 +6251,7 @@ #, python-format msgid "Scheduler Host Filter %(filter_name)s could not be found." -msgstr "调度器主机过滤器 %(filter_name)s 没有找到。" +msgstr "找不到调度程序主机过滤器 %(filter_name)s。" #, python-format msgid "Scheduler Host Weigher %(weigher_name)s could not be found." @@ -6263,11 +6268,11 @@ msgid "" "Secondary id can not be the same as primary array, backend_id = " "%(secondary)s." -msgstr "辅助标识不能与主阵列相同,backend_id = %(secondary)s。" +msgstr "辅助标识不能与主阵列标识相同,backend_id = %(secondary)s。" #, python-format msgid "SerialNumber must be in the file %(fileName)s." -msgstr "序列号必须存在于 %(fileName)s 文件中。" +msgstr "SerialNumber 必须存在于 %(fileName)s 文件中。" #, python-format msgid "Service %(service)s on host %(host)s removed." @@ -6279,7 +6284,7 @@ #, python-format msgid "Service %(service_id)s could not be found." -msgstr "服务 %(service_id)s 没有找到。" +msgstr "找不到服务 %(service_id)s。" #, python-format msgid "Service %s not found." @@ -6289,10 +6294,7 @@ msgstr "服务太旧,无法实现此请求。" msgid "Service is unavailable at this time." -msgstr "该时刻服务无法使用。" - -msgid "Service not found." -msgstr "找不到服务。" +msgstr "服务此时不可用。" msgid "Set pair secondary access error." msgstr "设置对辅助访问时出错。" @@ -6326,7 +6328,7 @@ #, python-format msgid "Sheepdog I/O Error, command was: \"%s\"." -msgstr "Sheepdog I/O 错误,命令为:\"%s\"。" +msgstr "Sheepdog I/O 错误,命令为:“%s”。" msgid "" "Show operations can only be made to projects in the same hierarchy of the " @@ -6334,7 +6336,7 @@ msgstr "只能对与用户作用域仅限于的项目位于同一层次结构中的项目执行显示操作。" msgid "Size" -msgstr "配置" +msgstr "大小" #, python-format msgid "Size for volume: %s not found, cannot secure delete." @@ -6344,7 +6346,7 @@ msgid "" "Size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." -msgstr "大小为 %(image_size)dGB,无法容纳在大小为 %(volume_size)dGB 的卷中。" +msgstr "大小为 %(image_size)dGB,无法拟合大小为 %(volume_size)dGB 的卷。" #, python-format msgid "" @@ -6367,7 +6369,7 @@ #, python-format msgid "Snapshot %(snapshot_id)s could not be found." -msgstr "快照 %(snapshot_id)s 没有找到。" +msgstr "找不到快照 %(snapshot_id)s。" #, python-format msgid "Snapshot %(snapshot_id)s has no metadata with key %(metadata_key)s." @@ -6379,7 +6381,7 @@ #, python-format msgid "Snapshot '%s' doesn't exist on array." -msgstr "快照“%s”在阵列上不存在。" +msgstr "阵列上不存在快照“%s”。" #, python-format msgid "" @@ -6409,12 +6411,12 @@ msgstr "对于 update_snapshot_status,不允许快照状态 %(cur)s" msgid "Snapshot status must be \"available\" to clone." -msgstr "快照状态必须为“可用”,才能进行克隆。" +msgstr "快照状态必须为“available”,才能进行克隆。" #, python-format msgid "" "Snapshot to be backed up must be available, but the current status is \"%s\"." -msgstr "要备份的快照必须可用,但当前状态为“%s”。" +msgstr "要备份的快照必须为“available”,但当前状态为“%s”。" #, python-format msgid "Snapshot with id of %s could not be found." @@ -6438,7 +6440,7 @@ msgstr "发生“SolidFire Cinder 驱动程序”异常" msgid "Sort direction array size exceeds sort key array size." -msgstr "排序方向阵列大小超过排序键阵列大小。" +msgstr "排序方向数组大小超过排序键数组大小。" msgid "Source CG is empty. No consistency group will be created." msgstr "源 CG 为空。将不会创建任何一致性组。" @@ -6457,8 +6459,8 @@ "Source with host ip/name: %s not found on the target appliance for backend " "enabled volume migration, procedding with default migration." msgstr "" -"对于后端启用的卷迁移,在目标设备上找不到具有主机 IP/名称 %s 的源,正在继续进" -"行缺省迁移。" +"对于后端启用的卷迁移,在目标设备上找不到具有主机 IP/名称 %s 的源,继续进行缺" +"省迁移。" msgid "SpaceInfo returned byarray is invalid" msgstr "阵列返回的 SpaceInfo 无效" @@ -6478,10 +6480,10 @@ msgstr "找不到标识为 %s 的指定快照组。" msgid "Specify a password or private_key" -msgstr "请指定密码或 private_key" +msgstr "请指定密码或专用密钥" msgid "Specify san_password or san_private_key" -msgstr "指定san_password或者san_private_key" +msgstr "指定 san_password 或者 san_private_key" msgid "" "Specify volume type name, description, is_public or a combination thereof." @@ -6572,7 +6574,7 @@ "for one or more of the following projects: '%(child_ids)s'" msgstr "" "子代使用率之和“%(sum)s”大于资源“%(res)s”的项目“%(proj)s”的可用配" -"额“%(free)s”。请降低以下一个或多个项目的限制或使用率“%(child_ids)s”" +"额“%(free)s”。请降低以下一个或多个项目的限制或使用率:“%(child_ids)s”" msgid "Switch over pair error." msgstr "切换对时出错。" @@ -6589,7 +6591,7 @@ #, python-format msgid "System %(id)s found with bad status - %(status)s." -msgstr "找到具有以下不正确状态的系统 %(id)s:%(status)s。" +msgstr "找到系统 %(id)s 的状态无效:%(status)s。" msgid "System does not support compression." msgstr "系统不支持压缩。" @@ -6608,14 +6610,14 @@ #, python-format msgid "" "Template tree mismatch; adding slave %(slavetag)s to master %(mastertag)s" -msgstr "模板数不匹配;把slave %(slavetag)s 添加到master %(mastertag)s" +msgstr "模板树不匹配;正将从属 %(slavetag)s 添加至主 %(mastertag)s" #, python-format msgid "Tenant ID: %s does not exist." msgstr "租户标识 %s 不存在。" msgid "Terminate connection failed" -msgstr "终止连接发生故障" +msgstr "终止连接失败" msgid "Terminate connection unable to connect to backend." msgstr "终止连接无法连接至后端。" @@ -6631,8 +6633,7 @@ msgid "" "The 'sort_key' and 'sort_dir' parameters are deprecated and cannot be used " "with the 'sort' parameter." -msgstr "" -"“sort_key”和“sort_dir”参数已建议不要使用,并且不能与“sort”参数配合使用。" +msgstr "“sort_key”和“sort_dir”参数已不推荐使用,并且不能与“sort”参数配合使用。" msgid "The EQL array has closed the connection." msgstr "EQL 阵列已关闭连接。" @@ -6680,7 +6681,8 @@ msgid "" "The command %(cmd)s failed. (ret: %(ret)s, stdout: %(out)s, stderr: %(err)s)" msgstr "" -"命令 %(cmd)s 失败。(返回为 %(ret)s,标准输出为 %(out)s,标准错误为 %(err)s)" +"命令 %(cmd)s 失败。(返回码为 %(ret)s,标准输出为 %(out)s,标准错误为 " +"%(err)s)" msgid "The copy should be primary or secondary" msgstr "副本应为主副本或者辅助副本" @@ -6695,7 +6697,7 @@ #, python-format msgid "The device in the path %(path)s is unavailable: %(reason)s" -msgstr "路径%(path)s 指向的设备不可用:%(reason)s" +msgstr "路径%(path)s 中的设备不可用:%(reason)s" #, python-format msgid "The end time (%(end)s) must be after the start time (%(start)s)." @@ -6707,7 +6709,7 @@ #, python-format msgid "The extraspec: %(extraspec)s is not valid." -msgstr "额外规范 %(extraspec)s 无效。" +msgstr "额外说明 %(extraspec)s 无效。" #, python-format msgid "The failed-over volume could not be deleted: %s" @@ -6759,7 +6761,7 @@ "理。" msgid "The key cannot be None." -msgstr "键不能为“无”。" +msgstr "键不能为“None”。" #, python-format msgid "The logical device for specified %(type)s %(id)s was already deleted." @@ -6775,7 +6777,7 @@ #, python-format msgid "" "The mount %(mount_path)s is not a valid Quobyte USP volume. Error: %(exc)s" -msgstr "安装 %(mount_path)s 不是有效 Quobyte USP 卷。发生错误:%(exc)s" +msgstr "安装 %(mount_path)s 不是有效 Quobyte USP 卷。错误:%(exc)s" #, python-format msgid "The parameter of the storage backend. (config_group: %(config_group)s)" @@ -6792,7 +6794,7 @@ "The reference to the volume in the backend should have the format " "file_system/volume_name (volume_name cannot contain '/')" msgstr "" -"对后端中的卷的引用应具有以下格式:file_system/volume_name(volume_name 不能包" +"后端中对卷的引用应具有以下格式:file_system/volume_name(volume_name 不能包" "含“/”)" #, python-format @@ -6844,11 +6846,11 @@ msgid "" "The source volume type '%(src)s' is different than the destination volume " "type '%(dest)s'." -msgstr "原卷类型'%(src)s'与目标卷'%(dest)s'不一致。" +msgstr "源卷类型“%(src)s”与目标卷类型“%(dest)s”不一致。" #, python-format msgid "The source volume type '%s' is not available." -msgstr "原卷类型'%s'不可用。" +msgstr "源卷类型“%s”不可用。" #, python-format msgid "The specified %(desc)s is busy." @@ -6868,7 +6870,7 @@ msgid "" "The specified ldev %(ldev)s could not be managed. The ldev must not be " "paired." -msgstr "未能管理指定的逻辑设备 %(ldev)s。该逻辑设备不能成对。" +msgstr "无法管理指定的逻辑设备 %(ldev)s。该逻辑设备不能成对。" #, python-format msgid "" @@ -6918,13 +6920,14 @@ "The striped meta count of %(memberCount)s is too small for volume: " "%(volumeName)s, with size %(volumeSize)s." msgstr "" -"分割元计数 %(memberCount)s 对于卷%(volumeName)s 太小,大小为 %(volumeSize)s。" +"分割元计数 %(memberCount)s 对于大小为 %(volumeSize)s 的卷 %(volumeName)s 太" +"小。" #, python-format msgid "" "The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " "invalid." -msgstr "卷/快照 %(id)s 的元数据类型 %(metadata_type)s无效。" +msgstr "卷/快照 %(id)s 的元数据类型 %(metadata_type)s 无效。" #, python-format msgid "" @@ -6936,7 +6939,7 @@ msgid "" "The volume %(volume_id)s could not be unmanaged. The volume type must be " "%(volume_type)s." -msgstr "未能取消管理卷 %(volume_id)s。卷类型必须为 %(volume_type)s。" +msgstr "无法取消管理卷 %(volume_id)s。卷类型必须为 %(volume_type)s。" #, python-format msgid "The volume %(volume_id)s is managed successfully. (LDEV: %(ldev)s)" @@ -6971,7 +6974,7 @@ msgid "" "The volume is currently busy on the 3PAR and cannot be deleted at this time. " "You can try again later." -msgstr "该卷当前在 3PAR 上繁忙,此时无法删除。可稍后重试。" +msgstr "该卷当前在 3PAR 上处于繁忙状态,此时无法删除。可稍后重试。" msgid "The volume label is required as input." msgstr "需要卷标作为输入。" @@ -7014,7 +7017,7 @@ #, python-format msgid "There is no share which can host %(volume_size)sG" -msgstr "不存在任何可主管 %(volume_size)sG 的共享项" +msgstr "不存在任何可托管 %(volume_size)sG 的共享项" #, python-format msgid "There is no share which can host %(volume_size)sG." @@ -7022,7 +7025,7 @@ #, python-format msgid "There is no such action: %s" -msgstr "没有该动作:%s" +msgstr "没有这类操作:%s" msgid "There is no virtual disk device." msgstr "不存在任何虚拟盘设备。" @@ -7078,19 +7081,19 @@ msgstr "未配置 Quobyte 卷 (%s)。示例:quobyte:///" msgid "Thin provisioning not supported on this version of LVM." -msgstr "在此版本的 LVM 上,不支持瘦供应。" +msgstr "在此版本的 LVM 上,不支持自动精简供应。" msgid "ThinProvisioning Enabler is not installed. Can not create thin volume" -msgstr "未安装瘦供应启用程序。无法创建瘦卷" +msgstr "未安装瘦供应启用程序。无法创建自动精简卷" msgid "This driver does not support deleting in-use snapshots." -msgstr "此驱动程序不支持对正在使用的快照进行删除。" +msgstr "此驱动程序不支持删除正在使用的快照。" msgid "This driver does not support snapshotting in-use volumes." msgstr "此驱动程序不支持对正在使用的卷生成快照。" msgid "This request was rate-limited." -msgstr "这个请求受到频率限制。" +msgstr "此请求频率受限。" #, python-format msgid "" @@ -7100,7 +7103,7 @@ #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." -msgstr "对于 %(storageSystemName)s,找不到分层策略服务。" +msgstr "对于 %(storageSystemName)s,找不到层策略服务。" #, python-format msgid "Timed out while waiting for Nova update for creation of snapshot %s." @@ -7128,11 +7131,11 @@ #, python-format msgid "Timeout while requesting capabilities from backend %(service)s." -msgstr "从后端请求 %(service)s 功能时超时。" +msgstr "从后端 %(service)s 请求功能时超时。" #, python-format msgid "Transfer %(transfer_id)s could not be found." -msgstr "无法找到转换器%(transfer_id)s" +msgstr "找不到传输 %(transfer_id)s" #, python-format msgid "" @@ -7211,7 +7214,7 @@ msgid "" "Unable to create or get default storage group for FAST policy: " "%(fastPolicyName)s." -msgstr "无法创建或获取快速策略 %(fastPolicyName)s 的缺省存储器组。 " +msgstr "无法创建或获取 FAST 策略 %(fastPolicyName)s 的缺省存储器组。 " #, python-format msgid "Unable to create replica clone for volume %s." @@ -7267,7 +7270,7 @@ #, python-format msgid "Unable to determine snapshot name in Purity for snapshot %(id)s." -msgstr "在快照 %(id)s 的 Purity 中无法确定快照名称。" +msgstr "在 Purity 中无法确定对应快照 %(id)s 的快照名称。" msgid "Unable to determine system id." msgstr "无法确定系统标识。" @@ -7280,7 +7283,7 @@ "Unable to do manage snapshot operations with Purity REST API version " "%(api_version)s, requires %(required_versions)s." msgstr "" -"无法对 Purity REST API 版本%(api_version)s 执行“管理快照”操作,需要版本 " +"无法使用 Purity REST API 版本 %(api_version)s 执行“管理快照”操作,需要版本 " "%(required_versions)s。" #, python-format @@ -7311,7 +7314,7 @@ msgid "" "Unable to failback to \"default\", this can only be done after a failover " "has completed." -msgstr "无法故障返回至“default”,此操作只能在故障转换完成后进行。" +msgstr "无法故障返回至“default”,此操作只能在故障转移完成后进行。" #, python-format msgid "Unable to failover to replication target:%(reason)s)." @@ -7330,7 +7333,7 @@ #, python-format msgid "Unable to find Volume Group: %(vg_name)s" -msgstr "找不到卷组: %(vg_name)s" +msgstr "找不到卷组:%(vg_name)s" msgid "Unable to find failover target, no secondary targets configured." msgstr "找不到故障转移目标,未配置辅助目标。" @@ -7343,7 +7346,7 @@ msgstr "找不到 ssh_hosts_key_file:%s" msgid "Unable to find system log file!" -msgstr "不能发现系统日志文件" +msgstr "找不到系统日志文件!" #, python-format msgid "" @@ -7447,7 +7450,7 @@ #, python-format msgid "Unable to locate account %(account_name)s on Solidfire device" -msgstr "无法在 Solidfire 设备上找到帐户 %(account_name)s" +msgstr "在 Solidfire 设备上找不到帐户 %(account_name)s" #, python-format msgid "Unable to locate an SVM that is managing the IP address '%s'" @@ -7512,14 +7515,18 @@ msgid "" "Unable to retype: A copy of volume %s exists. Retyping would exceed the " "limit of 2 copies." -msgstr "" -"无法执行 retype:卷 %s 的副本已存在。执行 retype 将超过2 个副本的限制。" +msgstr "无法转型:卷 %s 的副本已存在。执行转型将超过 2 个副本的限制。" #, python-format msgid "" "Unable to retype: Current action needs volume-copy, it is not allowed when " "new type is replication. Volume = %s" -msgstr "无法转型:当前操作需要卷拷贝,当新类型为复制时,不允许卷拷贝。卷为 %s" +msgstr "" +"无法转型:当前操作需要 volume-copy,当新类型为复制时,这是不允许的。卷为 %s" + +#, python-format +msgid "Unable to send requests: %s" +msgstr "不能发送请求:%s" #, python-format msgid "" @@ -7546,14 +7553,14 @@ "Unable to update type due to incorrect status: %(vol_status)s on volume: " "%(vol_id)s. Volume status must be available or in-use." msgstr "" -"由于以下卷上的状态 %(vol_status)s 不正确,无法更新类型:%(vol_id)s。卷状态必" -"须为“可用”或“正在使用”。" +"无法更新类型,因为卷 %(vol_id)s 上的状态 %(vol_status)s 不正确。卷状态必须" +"为“available”或“in-use”。" #, python-format msgid "" "Unable to verify initiator group: %(igGroupName)s in masking view " "%(maskingViewName)s. " -msgstr "无法在掩码视图 %(maskingViewName)s 中验证发起方组 %(igGroupName)s。" +msgstr "无法在掩码视图 %(maskingViewName)s 中验证启动程序组 %(igGroupName)s。" msgid "Unacceptable parameters." msgstr "无法接受的参数。" @@ -7562,18 +7569,18 @@ msgid "" "Unexecpted mapping status %(status)s for mapping %(id)s. Attributes: " "%(attr)s." -msgstr "映射 %(id)s 的意外映射状态 %(status)s。属性:%(attr)s。" +msgstr "映射 %(id)s 出现意外映射状态 %(status)s。属性:%(attr)s。" #, python-format msgid "" "Unexpected CLI response: header/row mismatch. header: %(header)s, row: " "%(row)s." -msgstr "出现意外 CLI 响应:头/行不匹配。头:%(header)s,行:%(row)s。" +msgstr "出现意外 CLI 响应:标题/行不匹配。标题:%(header)s,行:%(row)s。" #, python-format msgid "" "Unexpected mapping status %(status)s for mapping%(id)s. Attributes: %(attr)s." -msgstr "映射 %(id)s 的意外映射状态 %(status)s。属性:%(attr)s。" +msgstr "映射 %(id)s 出现意外映射状态 %(status)s。属性:%(attr)s。" #, python-format msgid "Unexpected output. Expected [%(expected)s] but received [%(output)s]" @@ -7597,22 +7604,22 @@ "码。错误:%(error)s" msgid "Unknown Gluster exception" -msgstr "Gluster 异常未知" +msgstr "未知 Gluster 异常" msgid "Unknown NFS exception" -msgstr "NFS 异常未知" +msgstr "未知 NFS 异常" msgid "Unknown RemoteFS exception" -msgstr "RemoteFS 异常未知" +msgstr "未知 RemoteFS 异常" msgid "Unknown SMBFS exception." -msgstr "SMBFS 异常未知。" +msgstr "未知 SMBFS 异常。" msgid "Unknown Virtuozzo Storage exception" msgstr "未知 Virtuozzo 存储器异常" msgid "Unknown action" -msgstr "操作未知" +msgstr "未知操作" #, python-format msgid "" @@ -7661,7 +7668,7 @@ msgstr "排序方向未知,必须为“降序”或“升序”" msgid "Unknown sort direction, must be 'desc' or 'asc'." -msgstr "排序方向未知,必须为“降序”或“升序”。" +msgstr "未知排序方向,必须为“降序”或“升序”。" msgid "Unmanage and cascade delete options are mutually exclusive." msgstr "非管理选项与级联删除选项互斥。" @@ -7685,7 +7692,7 @@ #, python-format msgid "Unrecognized read_deleted value '%s'" -msgstr "无法识别的 read_deleted 取值”%s“" +msgstr "无法识别的 read_deleted 值“%s”" #, python-format msgid "Unset gcs options: %s" @@ -7699,7 +7706,7 @@ msgstr "不支持 Clustered Data ONTAP 版本。" msgid "Unsupported Content-Type" -msgstr "不支持的Content-Type" +msgstr "不受支持的 Content-Type" msgid "" "Unsupported Data ONTAP version. Data ONTAP version 7.3.1 and above is " @@ -7711,10 +7718,10 @@ msgstr "不支持备份元数据版本 (%s)" msgid "Unsupported backup metadata version requested" -msgstr "不支持请求的备份元数据版本" +msgstr "请求的备份元数据版本不受支持" msgid "Unsupported backup verify driver" -msgstr "不支持备份验证驱动程序" +msgstr "备份验证驱动程序不受支持" #, python-format msgid "" @@ -7733,7 +7740,7 @@ msgid "" "Update and delete quota operations can only be made by an admin of immediate " "parent or by the CLOUD admin." -msgstr "只能由直系父代的管理员或者云管理员执行更新和删除配额操作。" +msgstr "更新和删除配额操作只能由直系父代的管理员或者云管理员执行。" msgid "" "Update and delete quota operations can only be made to projects in the same " @@ -7752,7 +7759,7 @@ msgstr "不支持上载至所连接卷的 Glance。" msgid "Use ALUA to associate initiator to host error." -msgstr "使用 ALUA 使启动程序与主机相关联时发生错误。" +msgstr "使用 ALUA 以使启动程序与主机相关联时发生错误。" msgid "" "Use CHAP to associate initiator to host error. Please check the CHAP " @@ -7760,7 +7767,7 @@ msgstr "使用 CHAP 使启动程序与主机相关联时发生错误。请检查 CHAP 用户名和密码。" msgid "User ID" -msgstr "用户ID" +msgstr "用户标识" msgid "User does not have admin privileges" msgstr "用户没有管理员权限" @@ -7779,7 +7786,7 @@ msgid "" "V2 rollback - Volume in another storage group besides default storage group." -msgstr "V2 回滚 - 卷在除了缺省存储器组之外的另一个存储器组中。" +msgstr "V2 回滚 - 卷在缺省存储器组之外的另一个存储器组中。" msgid "V2 rollback, volume is not in any storage group." msgstr "V2 回滚,卷不在任何存储器组中。" @@ -7809,14 +7816,14 @@ #, python-format msgid "" "Value \"%(value)s\" is not valid for configuration option \"%(option)s\"" -msgstr "值“%(value)s”对于配置选项“%(option)s”无效" +msgstr "值“%(value)s”对配置选项“%(option)s”无效" #, python-format msgid "Value %(param)s for %(param_string)s is not a boolean." msgstr "%(param_string)s 的值 %(param)s 不是布尔值。" msgid "Value required for 'scality_sofs_config'" -msgstr "“scality_sofs_config”的必需值" +msgstr "“scality_sofs_config”需要值" #, python-format msgid "ValueError: %s" @@ -7844,7 +7851,7 @@ #, python-format msgid "Virtual volume '%s' doesn't exist on array." -msgstr "虚拟卷“%s”在阵列上不存在。" +msgstr "阵列上不存在虚拟卷“%s”。" #, python-format msgid "Vol copy job for dest %s failed." @@ -7877,42 +7884,43 @@ "Volume %(vol_id)s status must be available or in-use, but current status is: " "%(vol_status)s." msgstr "" -"卷 %(vol_id)s 状态必须为“可用”或“正在使用”,但当前状态为:%(vol_status)s。" +"卷 %(vol_id)s 状态必须为“available”或“in-use”,但当前状态为:%(vol_status)s。" #, python-format msgid "" "Volume %(vol_id)s status must be available to extend, but current status is: " "%(vol_status)s." msgstr "" -"卷 %(vol_id)s 状态必须为“可用”,才能进行扩展,但当前状态为:%(vol_status)s。" +"卷 %(vol_id)s 状态必须为“available”,才能进行扩展,但当前状态为:" +"%(vol_status)s。" #, python-format msgid "" "Volume %(vol_id)s status must be available to update readonly flag, but " "current status is: %(vol_status)s." msgstr "" -"卷 %(vol_id)s 状态必须为“可用”,才能更新只读标记,但当前状态为:" +"卷 %(vol_id)s 状态必须为“available”,才能更新只读标记,但当前状态为:" "%(vol_status)s。" #, python-format msgid "" "Volume %(vol_id)s status must be available, but current status is: " "%(vol_status)s." -msgstr "卷 %(vol_id)s 状态必须为“可用”,但当前状态为:%(vol_status)s。" +msgstr "卷 %(vol_id)s 状态必须为“available”,但当前状态为:%(vol_status)s。" #, python-format msgid "Volume %(volume_id)s could not be found." -msgstr "卷 %(volume_id)s 没有找到。" +msgstr "找不到卷 %(volume_id)s。" #, python-format msgid "" "Volume %(volume_id)s has no administration metadata with key " "%(metadata_key)s." -msgstr "卷 %(volume_id)s 没有任何具有键 %(metadata_key)s 的元数据。" +msgstr "卷 %(volume_id)s 没有任何带有键 %(metadata_key)s 的管理元数据。" #, python-format msgid "Volume %(volume_id)s has no metadata with key %(metadata_key)s." -msgstr "卷 %(volume_id)s 没有含键 %(metadata_key)s 的元数据。" +msgstr "卷 %(volume_id)s 没有任何带有 %(metadata_key)s 的元数据。" #, python-format msgid "" @@ -7937,7 +7945,7 @@ #, python-format msgid "Volume %s could not be created from source volume." -msgstr "未能从源卷创建卷 %s。" +msgstr "未能通过源卷创建卷 %s。" #, python-format msgid "Volume %s could not be created on shares." @@ -7957,7 +7965,7 @@ #, python-format msgid "Volume %s does not exist on the array." -msgstr "卷 %s 在阵列上不存在。" +msgstr "阵列上不存在卷 %s。" #, python-format msgid "Volume %s does not have provider_location specified, skipping." @@ -7965,7 +7973,7 @@ #, python-format msgid "Volume %s doesn't exist on array." -msgstr "卷 %s 在阵列上不存在。" +msgstr "阵列上不存在卷 %s。" #, python-format msgid "Volume %s doesn't exist on the ZFSSA backend." @@ -8005,7 +8013,7 @@ #, python-format msgid "Volume %s must not be replicated." -msgstr "卷 %s 不得复制。" +msgstr "不能复制卷 %s。" #, python-format msgid "Volume %s must not have snapshots." @@ -8021,7 +8029,7 @@ #, python-format msgid "Volume (%s) already exists on array" -msgstr "数组中已存在卷 (%s)" +msgstr "阵列上已存在卷 (%s)" #, python-format msgid "Volume (%s) already exists on array." @@ -8049,7 +8057,7 @@ msgid "" "Volume Type %(volume_type_id)s has no extra specs with key " "%(extra_specs_key)s." -msgstr "卷类型 %(volume_type_id)s 没有额外说明键 %(extra_specs_key)s 。" +msgstr "卷类型 %(volume_type_id)s 没有带有键 %(extra_specs_key)s 的额外说明。" msgid "Volume Type id must not be None." msgstr "卷类型不能为空。" @@ -8096,7 +8104,7 @@ msgstr "卷驱动程序 %s 未初始化。" msgid "Volume driver not ready." -msgstr "卷驱动未准备好。" +msgstr "卷驱动器未准备好。" #, python-format msgid "Volume driver reported an error: %(message)s" @@ -8110,7 +8118,7 @@ #, python-format msgid "Volume in consistency group %s is attached. Need to detach first." -msgstr "已连接一致性组 %s 中的卷。需要先断开连接。" +msgstr "已连接一致性组 %s 中的卷。需要先拆离。" msgid "Volume in consistency group still has dependent snapshots." msgstr "一致性组中的卷仍然具有从属快照。" @@ -8120,7 +8128,7 @@ msgstr "卷已连接至服务器。(%s)" msgid "Volume is in-use." -msgstr "卷在使用中。" +msgstr "卷正在使用中。" msgid "Volume is not available." msgstr "卷不可用。" @@ -8163,7 +8171,7 @@ #, python-format msgid "Volume not found for instance %(instance_id)s." -msgstr "没有为实例 %(instance_id)s 找到卷。" +msgstr "找不到用于实例 %(instance_id)s 的卷。" msgid "Volume not found on configured storage backend." msgstr "在已配置的存储器后端上找不到卷。" @@ -8197,7 +8205,7 @@ msgstr "卷服务 %s 未能启动。" msgid "Volume should have agent-type set as None." -msgstr "卷应该将 agent-type 设置为“无”。" +msgstr "卷应该将 agent-type 设置为 None。" #, python-format msgid "" @@ -8214,16 +8222,16 @@ "Volume size '%(size)s'GB cannot be smaller than original volume size " "%(source_size)sGB. They must be >= original volume size." msgstr "" -"卷大小“%(size)s”GB 不能小于原始卷大小 %(source_size)sGB。它们必须不小于原始卷" -"大小。" +"卷大小“%(size)s”GB 不能小于原始卷大小 %(source_size)sGB。它们必须大于或等于原" +"始卷大小。" #, python-format msgid "" "Volume size '%(size)s'GB cannot be smaller than the snapshot size " "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" -"卷大小“%(size)s”GB 不能小于快照大小 %(snap_size)sGB。它们必须不小于原始快照大" -"小。" +"卷大小“%(size)s”GB 不能小于快照大小 %(snap_size)sGB。它们必须大于或等于原始快" +"照大小。" msgid "Volume size increased since the last backup. Do a full backup." msgstr "自从最近一次备份以来,卷大小已增加。请执行完全备份。" @@ -8239,7 +8247,7 @@ #, python-format msgid "Volume status for volume must be available, but current status is: %s" -msgstr "卷状态必须为“可用”,但当前状态为 %s" +msgstr "卷状态必须为“available”,但当前状态为 %s" msgid "Volume status is in-use." msgstr "卷状态为“in-use”。" @@ -8256,7 +8264,7 @@ msgstr "卷状态必须为 %s 才能保留。" msgid "Volume status must be 'available'." -msgstr "卷状态必须为“可用”。" +msgstr "卷状态必须为“available”。" msgid "Volume to Initiator Group mapping already exists" msgstr "卷至发起方组的映射已存在" @@ -8265,14 +8273,14 @@ msgid "" "Volume to be backed up must be available or in-use, but the current status " "is \"%s\"." -msgstr "要备份的卷必须可用或者正在使用,但是当前状态为“%s”。" +msgstr "要备份的卷必须为“available”或“in-use”,但是当前状态为“%s”。" msgid "Volume to be restored to must be available" msgstr "要复原至的卷必须可用" #, python-format msgid "Volume type %(volume_type_id)s could not be found." -msgstr "卷类型 %(volume_type_id)s 没有找到。" +msgstr "找不到卷类型 %(volume_type_id)s。" #, python-format msgid "Volume type ID '%s' is invalid." @@ -8288,7 +8296,7 @@ msgid "" "Volume type access not found for %(volume_type_id)s / %(project_id)s " "combination." -msgstr "对于 %(volume_type_id)s / %(project_id)s 组合,找不到卷类型访问权限。" +msgstr "找不到针对 %(volume_type_id)s / %(project_id)s 组合的卷类型访问权限。" #, python-format msgid "Volume type does not match for share %s." @@ -8303,11 +8311,11 @@ msgstr "类型 %(type_id)s 的卷类型加密不存在。" msgid "Volume type name can not be empty." -msgstr "卷类型名称不能为 空." +msgstr "卷类型名称不能为空。" #, python-format msgid "Volume type with name %(volume_type_name)s could not be found." -msgstr "名为 %(volume_type_name)s 的卷类型没有找到。" +msgstr "找不到名为 %(volume_type_name)s 的卷类型。" #, python-format msgid "Volume with volume id %s does not exist." @@ -8346,7 +8354,7 @@ #, python-format msgid "VzStorage config file at %(config)s doesn't exist." -msgstr "%(config)s 处不存在 VzStorage 配置文件。" +msgstr "%(config)s 中的 VzStorage 配置文件不存在。" msgid "Wait replica complete timeout." msgstr "等待副本完成时发生超时。" @@ -8378,7 +8386,7 @@ msgstr "XtremIO 未正确初始化,找不到任何集群" msgid "You must implement __call__" -msgstr "你必须执行 __call__" +msgstr "您必须实现 __call__" msgid "" "You must install hpe3parclient before using 3PAR drivers. Run \"pip install " @@ -8403,7 +8411,7 @@ msgstr "ZeroDivisionError:%s" msgid "Zone" -msgstr "域" +msgstr "区域" #, python-format msgid "Zoning Policy: %s, not recognized" @@ -8444,7 +8452,7 @@ " stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"_create_vdisk %(name)s - 找不到 CLI 输出形式的成功消息。\n" +"_create_vdisk %(name)s - 在 CLI 输出中找不到成功消息。\n" "标准输出:%(out)s\n" "标准错误:%(err)s" @@ -8683,7 +8691,7 @@ "host-volume connection. Is the host configured properly for FC connections?" msgstr "" "_get_vdisk_map_properties:对于主机/卷连接,未能获取 FC 连接信息。已针对 FC " -"连接正确配置主机吗?" +"连接进行正确配置了吗?" #, python-format msgid "" @@ -8747,11 +8755,11 @@ "制。" msgid "add_vdisk_copy started without a vdisk copy in the expected pool." -msgstr "在所需池中没有 vdisk 副本的情况下,add_vdisk_copy 已开始。" +msgstr "在预期池中没有 vdisk 副本的情况下,add_vdisk_copy 已开始。" #, python-format msgid "all_tenants must be a boolean, got '%s'." -msgstr "all_tenants 必须为布尔值,但是获得了“%s”。" +msgstr "all_tenants 必须为布尔值,但收到“%s”。" msgid "already created" msgstr "已创建" @@ -8795,7 +8803,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"备份:由于 %(bpath)s 上的自变量无效,使得 %(vol_id)s 未能运行 dsmc。\n" +"备份:%(vol_id)s 未能运行 dsmc,因为 %(bpath)s 上的自变量无效。\n" "标准输出:%(out)s\n" "标准错误:%(err)s" @@ -8824,7 +8832,7 @@ #, python-format msgid "" "backup: %(vol_id)s failed. Cannot obtain real path to volume at %(path)s." -msgstr "备份:%(vol_id)s 失败。无法获取 %(path)s 处卷的实际路径。" +msgstr "备份:%(vol_id)s 失败。无法获取 %(path)s 中的卷的实际路径。" msgid "being attached by different mode" msgstr "正在通过另一方式连接" @@ -8857,10 +8865,10 @@ msgstr "无法同时处理请求中的名称和索引" msgid "cannot understand JSON" -msgstr "无法理解JSON" +msgstr "无法理解 JSON" msgid "cannot understand XML" -msgstr "无法理解XML" +msgstr "无法理解 XML" #, python-format msgid "cg-%s" @@ -8931,7 +8939,7 @@ msgid "" "create_consistencygroup_from_src must be creating from a CG snapshot, or a " "source CG." -msgstr "create_consistencygroup_from_src 必须为通过 CG 快照或源 CG 创建。" +msgstr "create_consistencygroup_from_src 必须通过 CG 快照或源 CG 创建。" msgid "" "create_consistencygroup_from_src only supports a cgsnapshot source or a " @@ -8959,7 +8967,7 @@ msgstr "create_host:主机名不是 Unicode 或字符串。" msgid "create_host: No initiators or wwpns supplied." -msgstr "create_host:未提供任何发起方或 wwpn。" +msgstr "create_host:未提供任何启动程序或 wwpn。" msgid "create_hypermetro_pair error." msgstr "create_hypermetro_pair 错误。" @@ -9043,8 +9051,8 @@ "create_volume_from_snapshot: Snapshot status must be \"available\" for " "creating volume. The invalid status is: %s." msgstr "" -"create_volume_from_snapshot:快照状态必须为“可用”,以便创建卷。无效状态为 " -"%s。" +"create_volume_from_snapshot:快照状态必须为“available”,以便创建卷。无效状态" +"为 %s。" msgid "create_volume_from_snapshot: Source and destination size differ." msgstr "create_volume_from_snapshot:源和目标大小不同。" @@ -9063,7 +9071,7 @@ "%(out)s\n" " stderr: %(err)s" msgstr "" -"删除:%(vol_id)s 由于自变量无效而未能运行 dsmc,标准输出:%(out)s\n" +"删除:%(vol_id)s 未能运行 dsmc,因为自变量无效。标准输出:%(out)s\n" "标准错误:%(err)s" #, python-format @@ -9090,7 +9098,7 @@ #, python-format msgid "deleting volume %(volume_name)s that has snapshot" -msgstr "正在删除有快照的卷 %(volume_name)s" +msgstr "正在删除具有快照的卷 %(volume_name)s" msgid "detach snapshot from remote node" msgstr "从远程节点拆离快照" @@ -9099,7 +9107,7 @@ msgstr "do_setup:不存在任何已配置的节点。" msgid "element is not a child" -msgstr "元素不是子节点" +msgstr "元素不是子代" msgid "eqlx_cli_max_retries must be greater than or equal to 0" msgstr "eqlx_cli_max_retries 必须大于或等于 0" @@ -9144,7 +9152,7 @@ #, python-format msgid "file already exists at %s" -msgstr "文件已存在在 %s" +msgstr "文件已存在于 %s 中" msgid "fileno is not supported by SheepdogIOWrapper" msgstr "SheepdogIOWrapper 不支持 fileno" @@ -9188,7 +9196,7 @@ msgid "" "get_iscsi_params: Failed to get target IP for initiator %(ini)s, please " "check config file." -msgstr "get_iscsi_params:未能获取发起方 %(ini)s 的目标 IP,请检查配置文件。" +msgstr "get_iscsi_params:未能获取启动程序 %(ini)s 的目标 IP,请检查配置文件。" #, python-format msgid "get_pool: Failed to get attributes for volume %s" @@ -9218,8 +9226,8 @@ "hgst_group %(grp)s and hgst_user %(usr)s must map to valid users/groups in " "cinder.conf" msgstr "" -"在 cinder.conf 中,hgst_group %(grp)s 和 hgst_user %(usr)s必须映射至有效用户/" -"组" +"在 cinder.conf 中,hgst_group %(grp)s 和 hgst_user %(usr)s 必须映射至有效用" +"户/组" #, python-format msgid "hgst_net %(net)s specified in cinder.conf not found in cluster" @@ -9244,7 +9252,7 @@ msgstr "HTTP 服务可能已突然禁用,或在此操作的中途进入维护状态。" msgid "id cannot be None" -msgstr "id不能是None" +msgstr "id 不能是 None" #, python-format msgid "image %s not found" @@ -9273,7 +9281,7 @@ #, python-format msgid "invalid user '%s'" -msgstr "用户 '%s' 无效" +msgstr "用户“%s”无效" #, python-format msgid "iscsi portal, %s, not found" @@ -9288,7 +9296,7 @@ #, python-format msgid "key manager error: %(reason)s" -msgstr "发生密钥管理器错误:%(reason)s" +msgstr "密钥管理器错误:%(reason)s" msgid "keymgr.fixed_key not defined" msgstr "未定义 keymgr.fixed_key" @@ -9297,13 +9305,13 @@ msgstr "limit 参数必须是整数" msgid "limit param must be positive" -msgstr "limit参数必须是正数" +msgstr "limit 参数必须是正数" msgid "" "manage_existing cannot manage a volume connected to hosts. Please disconnect " "this volume from existing hosts before importing" msgstr "" -"manage_existing 无法管理连接至主机的卷。请断开此卷与现有主机的连接,然后导入" +"manage_existing 无法管理连接至主机的卷。请在导入前断开此卷与现有主机的连接" msgid "manage_existing requires a 'name' key to identify an existing volume." msgstr "manage_existing 需要“name”键以标识现有卷。" @@ -9316,11 +9324,11 @@ #, python-format msgid "marker [%s] not found" -msgstr "没有找到标记 [%s]" +msgstr "找不到标记 [%s]" #, python-format msgid "mdiskgrp missing quotes %s" -msgstr "Mdisk 组缺少引号 %s" +msgstr "mdiskgrp 缺少引号 %s" #, python-format msgid "migration_policy must be 'on-demand' or 'never', passed: %s" @@ -9345,7 +9353,7 @@ msgstr "找到多个快照标识为 %s 的资源" msgid "name cannot be None" -msgstr "name不能是None" +msgstr "name 不能是 None" #, python-format msgid "naviseccli_path: Could not find NAVISECCLI tool %(path)s." @@ -9372,7 +9380,7 @@ msgstr "对象缺少引号 %s" msgid "open_access_enabled is not off." -msgstr "open_access_enabled 未关闭。" +msgstr "open_access_enabled 并非 off。" msgid "progress must be an integer percentage" msgstr "进度必须为整数百分比" @@ -9411,7 +9419,7 @@ #, python-format msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" -msgstr "read_deleted 只能是“no”、“yes”或“only”其中一项,而不能是 %r" +msgstr "read_deleted 只能是“no”、“yes”或“only”的其中之一,而不能是 %r" #, python-format msgid "replication_device should be configured on backend: %s." @@ -9435,7 +9443,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"复原:%(vol_id)s 由于 %(bpath)s 上的自变量无效而未能运行 dsmc。\n" +"复原:%(vol_id)s 未能运行 dsmc,因为 %(bpath)s 上的自变量无效。\n" "标准输出:%(out)s\n" "标准错误:%(err)s" @@ -9476,7 +9484,7 @@ msgstr "未设置 san_ip。" msgid "san_ip must be set" -msgstr "san_ip必须设置" +msgstr "必须设置 san_ip" msgid "san_ip: Mandatory field configuration. san_ip is not set." msgstr "san_ip:必需字段配置。未设置 san_ip。" @@ -9486,7 +9494,7 @@ "conf. Set this information and start the cinder-volume service again." msgstr "" "没有在 cinder.conf 中为 Datera 驱动程序设置 san_login 和/或 san_password。请" -"设置此信息并再次启动 cinder-volume服务。" +"设置此信息并再次启动 cinder-volume 服务。" msgid "serve() can only be called once" msgstr "serve() 只能调用一次" @@ -9536,10 +9544,10 @@ msgstr "stop_hypermetro 错误。" msgid "subclasses must implement construct()!" -msgstr "subclasses必须执行construct()!" +msgstr "子类必须实现 construct()!" msgid "sudo failed, continuing as if nothing happened" -msgstr "sudo 发生故障,在继续运行,如同没有发生任何情况一样" +msgstr "sudo 发生故障,正在如常继续运行" msgid "sync_hypermetro error." msgstr "sync_hypermetro 错误。" @@ -9551,16 +9559,16 @@ msgid "" "targetcli not installed and could not create default directory " "(%(default_path)s): %(exc)s" -msgstr "未安装 targetcli,并且未能创建缺省目录(%(default_path)s):%(exc)s" +msgstr "未安装 targetcli,并且未能创建缺省目录 (%(default_path)s):%(exc)s" msgid "terminate_connection: Failed to get host name from connector." msgstr "terminate_connection:未能从连接器获取主机名。" msgid "timeout creating new_volume on destination host" -msgstr "在目标主机上创建新卷超时" +msgstr "在目标主机上创建新卷时超时" msgid "too many body keys" -msgstr "过多主体密钥" +msgstr "主体密钥过多" #, python-format msgid "umount: %s: not mounted" @@ -9607,10 +9615,10 @@ msgstr "在 drbdmanage 中找不到卷 %s" msgid "volume assigned" -msgstr "卷已分配" +msgstr "已分配卷" msgid "volume changed" -msgstr "卷已更改" +msgstr "已更改卷" msgid "volume does not exist" msgstr "卷不存在" @@ -9638,7 +9646,7 @@ msgstr "在一致性组中创建卷时,必须提供 volume_type。" msgid "volume_type_id cannot be None" -msgstr "volume_type_id 不能为“无”" +msgstr "volume_type_id 不能是 None" #, python-format msgid "volume_types must be provided to create consistency group %(name)s." diff -Nru cinder-8.0.0/cinder/locale/zh_TW/LC_MESSAGES/cinder.po cinder-8.1.0/cinder/locale/zh_TW/LC_MESSAGES/cinder.po --- cinder-8.0.0/cinder/locale/zh_TW/LC_MESSAGES/cinder.po 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/locale/zh_TW/LC_MESSAGES/cinder.po 2016-08-09 15:32:57.000000000 +0000 @@ -4,19 +4,16 @@ # # Translators: # FIRST AUTHOR , 2011 -# Lucas Palm , 2015. #zanata -# OpenStack Infra , 2015. #zanata # Jennifer , 2016. #zanata -# Lucas Palm , 2016. #zanata msgid "" msgstr "" -"Project-Id-Version: cinder 8.0.0.0rc2.dev19\n" -"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2016-03-22 19:34+0000\n" +"Project-Id-Version: cinder 8.0.1.dev85\n" +"Report-Msgid-Bugs-To: https://bugs.launchpad.net/openstack-i18n/\n" +"POT-Creation-Date: 2016-07-06 20:14+0000\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"PO-Revision-Date: 2016-03-18 12:46+0000\n" +"PO-Revision-Date: 2016-04-29 04:14+0000\n" "Last-Translator: Jennifer \n" "Language: zh-TW\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -42,7 +39,7 @@ #, python-format msgid " but size is now %d." -msgstr "但是,大小現在卻是 %d。" +msgstr "但是,大小現在為 %d。" msgid " or " msgstr "或者" @@ -126,16 +123,16 @@ "%(msg_type)s: creating NetworkPortal: ensure port %(port)d on ip %(ip)s is " "not in use by another service." msgstr "" -"%(msg_type)s:正在建立 NetworkPortal:確保 IP %(ip)s 上的埠 %(port)d未在由另" +"%(msg_type)s:正在建立 NetworkPortal:確保 IP %(ip)s 上的埠 %(port)d 未在由另" "一個服務使用。" #, python-format msgid "%(name)s has a minimum character requirement of %(min_length)s." -msgstr "%(name)s 的字元數目下限必須是 %(min_length)s。" +msgstr "%(name)s 具有字元數目下限要求 %(min_length)s。" #, python-format msgid "%(name)s has more than %(max_length)s characters." -msgstr "%(name)s 超過 %(max_length)s 個字元。" +msgstr "%(name)s 具有超過 %(max_length)s 個字元。" #, python-format msgid "" @@ -144,7 +141,7 @@ "%(vol_mode)s." msgstr "" "%(op)s:備份 %(bck_id)s,磁區 %(vol_id)s 失敗。備份物件具有非預期的模式。支援" -"映像檔或檔案備份,實際模式為%(vol_mode)s。" +"映像檔或檔案備份,實際模式為 %(vol_mode)s。" #, python-format msgid "%(service)s Service is not %(status)s on storage appliance: %(host)s" @@ -152,11 +149,11 @@ #, python-format msgid "%(value_name)s must be <= %(max_value)d" -msgstr "%(value_name)s 必須 <= %(max_value)d" +msgstr "%(value_name)s 必須小於或等於 %(max_value)d" #, python-format msgid "%(value_name)s must be >= %(min_value)d" -msgstr "%(value_name)s 必須 >= %(min_value)d" +msgstr "%(value_name)s 必須大於或等於 %(min_value)d" #, python-format msgid "" @@ -281,7 +278,7 @@ msgstr "找不到 LUN (HLUN)。(LDEV:%(ldev)s)" msgid "A concurrent, possibly contradictory, request has been made." -msgstr "已發出並行(可能矛盾)的要求。" +msgstr "發出了並行(可能矛盾)的要求。" #, python-format msgid "" @@ -296,7 +293,7 @@ msgid "" "A host group could not be deleted. (port: %(port)s, gid: %(gid)s, name: " "%(name)s)" -msgstr "無法刪除主機群組。(埠:%(port)s,GID:%(gid)s,名稱:%(name)s)" +msgstr "無法刪除主機群組。(埠:%(port)s,gid:%(gid)s,名稱:%(name)s)" #, python-format msgid "A host group is invalid. (host group: %(gid)s)" @@ -466,15 +463,15 @@ msgid "" "An iSCSI target could not be deleted. (port: %(port)s, tno: %(tno)s, alias: " "%(alias)s)" -msgstr "無法刪除 iSCSI 目標。(埠:%(port)s,TNO:%(tno)s,別名:%(alias)s)" +msgstr "無法刪除 iSCSI 目標。(埠:%(port)s,tno:%(tno)s,別名:%(alias)s)" msgid "An unknown exception occurred." -msgstr "發生一個未知例外" +msgstr "發生一個未知例外。" msgid "" "An user with a token scoped to a subproject is not allowed to see the quota " "of its parents." -msgstr "不容許具備已限定為某個子專案之記號的使用者來查看其母項的配額。" +msgstr "不容許記號限定為子專案的使用者來查看其母項的配額。" msgid "Append port group description error." msgstr "附加埠群組說明時發生錯誤。" @@ -602,7 +599,7 @@ msgstr "僅支援備份沒有支援檔案的 SOFS 磁區。" msgid "Backup is only supported for raw-formatted GlusterFS volumes." -msgstr "原始格式的 GlusterFS 磁區僅支援備份。" +msgstr "僅原始格式的 GlusterFS 磁區僅支援備份。" msgid "Backup is only supported for raw-formatted SOFS volumes." msgstr "僅支援備份原始格式的 SOFS 磁區。" @@ -746,7 +743,7 @@ "CLI 異常狀況輸出:\n" " 指令:%(cmd)s\n" " 標準輸出:%(out)s\n" -"標準錯誤:%(err)s。" +" 標準錯誤:%(err)s。" msgid "" "CMMVC6071E The VDisk-to-host mapping was not created because the VDisk is " @@ -818,10 +815,6 @@ msgstr "在陣列上找不到快取名稱,快取名稱為:%(name)s。" #, python-format -msgid "Can't find lun id from db, volume: %(id)s" -msgstr "從資料庫中找不到 LUN ID,磁區:%(id)s" - -#, python-format msgid "Can't find lun info on the array. volume: %(id)s, lun name: %(name)s." msgstr "在陣列上找不到 LUN 資訊,磁區:%(id)s,LUN 名稱:%(name)s。" @@ -898,8 +891,8 @@ "Can't import snapshot %s to Cinder. Snapshot status is not normal or running " "status is not online." msgstr "" -"無法將 Snapshot %s 匯入 Cinder。Snapshot 未處於正常狀態,或者執行中狀態不在線" -"上。" +"無法將 Snapshot %s 匯入 Cinder。Snapshot 未處於正常狀態,或者執行中狀態不為" +"「線上」。" #, python-format msgid "Can't open config file: %s" @@ -951,7 +944,7 @@ "Cannot add volume %(volume_id)s to consistency group %(group_id)s because " "volume type %(volume_type)s is not supported by the group." msgstr "" -"無法將磁區 %(volume_id)s 新增至一致性群組 %(group_id)s,因為此群組不支援磁區" +"無法將磁區 %(volume_id)s 新增至一致性群組 %(group_id)s,因為該群組不支援磁區" "類型 %(volume_type)s。" #, python-format @@ -959,8 +952,8 @@ "Cannot attach already attached volume %s; multiattach is disabled via the " "'netapp_enable_multiattach' configuration option." msgstr "" -"無法連接已經連接的磁區 %s;已透過'netapp_enable_multiattach' 配置選項停用了多" -"重連接。" +"無法連接已經連接的磁區 %s;已透過 'netapp_enable_multiattach' 配置選項停用了" +"多重連接。" msgid "Cannot change VF context in the session." msgstr "無法變更階段作業中的 VF 環境定義。" @@ -1017,7 +1010,7 @@ "Cannot create more than %(req)s volumes on the ESeries array when " "'netapp_enable_multiattach' is set to true." msgstr "" -"在下列情況下,無法在 E 系列陣列上建立超過 %(req)s 個磁" +"在下列情況下,無法在 ESeries 陣列上建立超過 %(req)s 個磁" "區:'netapp_enable_multiattach' 設定為 true。" #, python-format @@ -1031,7 +1024,7 @@ #, python-format msgid "Cannot create volume of size %s: not multiple of 8GB." -msgstr "無法建立大小為 %s 的磁區:不是 8 GB 的倍數。" +msgstr "無法建立大小為 %s 的磁區:不是 8GB 的倍數。" #, python-format msgid "Cannot create volume_type with name %(name)s and specs %(extra_specs)s" @@ -1122,7 +1115,7 @@ msgid "" "Cannot get or create a storage group: %(sgGroupName)s for volume " "%(volumeName)s " -msgstr "無法取得或建立下列磁區的儲存體群組 %(sgGroupName)s:%(volumeName)s " +msgstr "無法取得或建立磁區 %(volumeName)s 的儲存體群組 %(sgGroupName)s" #, python-format msgid "Cannot get or create initiator group: %(igGroupName)s. " @@ -1137,8 +1130,7 @@ "Cannot get storage group: %(sgGroupName)s from masking view " "%(maskingViewInstanceName)s. " msgstr "" -"無法從下列遮罩視圖取得儲存體群組 %(sgGroupName)s:" -"%(maskingViewInstanceName)s。" +"無法從遮罩視圖 %(maskingViewInstanceName)s 取得儲存體群組 %(sgGroupName)s。" #, python-format msgid "" @@ -1206,7 +1198,7 @@ msgstr "無法執行 Retype 動作,以變為不同網域中的 CPG。" msgid "Cannot retype to a snap CPG in a different domain." -msgstr "無法執行 Retype 動作,以變為不同網域中的 snapCPG。" +msgstr "無法執行 Retype 動作,以變為不同網域中的 snap CPG。" msgid "" "Cannot run vgc-cluster command, please ensure software is installed and " @@ -1253,7 +1245,7 @@ msgstr "Cgsnahost 是空的。將不會建立一致性群組。" msgid "Cgsnapshot status must be available or error" -msgstr "CgSnapshot 狀態必須為可用或者錯誤" +msgstr "Cgsnapshot 狀態必須為可用或者錯誤" msgid "Change hostlun id error." msgstr "變更主機 LUN ID 時發生錯誤。" @@ -1399,10 +1391,10 @@ #, python-format msgid "Consistency group %s still has dependent cgsnapshots." -msgstr "一致性群組 %s 仍具有相依 CgSnapshot。" +msgstr "一致性群組 %s 仍具有相依 cgsnapshots。" msgid "Consistency group is empty. No cgsnapshot will be created." -msgstr "一致性群組是空的。將不建立 CgSnapshot。" +msgstr "一致性群組是空的。將不建立 cgsnapshot。" #, python-format msgid "" @@ -1425,7 +1417,7 @@ msgid "" "Container format: %s is unsupported by the VMDK driver, only 'bare' is " "supported." -msgstr "VMDK 驅動程式不支援儲存器格式 %s,僅支援'bare'。" +msgstr "VMDK 驅動程式不支援儲存器格式 %s,僅支援 'bare'。" msgid "Container size smaller than required file size." msgstr "儲存器大小小於必要的檔案大小。" @@ -1465,7 +1457,7 @@ "Copy volume task failed: convert_to_base_volume: id=%(id)s, status=" "%(status)s." msgstr "" -"複製磁區作業失敗:convert_to_base_volume:ID = %(id)s、狀態 = %(status)s。" +"複製磁區作業失敗:convert_to_base_volume:ID = %(id)s,狀態 = %(status)s。" #, python-format msgid "" @@ -1679,13 +1671,13 @@ msgid "" "Currently mapped host for volume %(vol)s is in unsupported host group with " "%(group)s." -msgstr "磁區 %(vol)s 目前對映的主機位於不受支援的主機群組%(group)s 中。" +msgstr "磁區 %(vol)s 目前對映的主機位於不受支援的主機群組 %(group)s 中。" msgid "DEPRECATED: Deploy v1 of the Cinder API." -msgstr "已淘汰:部署 Cinder API 的第 1 版。" +msgstr "已淘汰:Cinder API 的部署第 1 版。" msgid "DEPRECATED: Deploy v2 of the Cinder API." -msgstr "已淘汰:部署 Cinder API 的第 2 版。" +msgstr "已淘汰:Cinder API 的部署第 2 版。" #, python-format msgid "" @@ -1764,7 +1756,7 @@ msgid "" "Deduplication Enabler is not installed. Can not create deduplicated volume" -msgstr "未安裝「刪除重複啟用程式」。無法建立已刪除的重複磁區" +msgstr "未安裝「去除重複啟用程式」。無法建立去除重復的磁區" msgid "Default pool name if unspecified." msgstr "如果未指定,則將使用預設儲存區名稱。" @@ -1775,8 +1767,8 @@ "%(res)s, it is now deprecated. Please use the default quota class for " "default quota." msgstr "" -"資源 %(res)s 的預設配額是由預設配額旗標quota_%(res)s 所設定,但它現已淘汰。請" -"將預設配額類別用於預設配額。" +"資源 %(res)s 的預設配額是由預設配額旗標 quota_%(res)s 所設定,但它現已淘汰。" +"請將預設配額類別用於預設配額。" msgid "Default volume type can not be found." msgstr "找不到預設磁區類型。" @@ -1800,8 +1792,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"已中止刪除備份,目前配置的備份服務[%(configured_service)s] 不是建立此備份所使" -"用的備份服務 [%(backup_service)s]。" +"已中止刪除備份,目前配置的備份服務 [%(configured_service)s] 不是建立此備份所" +"使用的備份服務 [%(backup_service)s]。" msgid "Delete consistency group failed." msgstr "刪除一致性群組失敗。" @@ -1838,7 +1830,7 @@ #, python-format msgid "Delete snapshot of volume not supported in state: %s." -msgstr "狀態 %s 不支援刪除磁區的 Snapshot。" +msgstr "不支援對狀態為 %s 的磁區刪除 Snapshot。" #, python-format msgid "" @@ -1868,7 +1860,7 @@ msgstr "Dell Cinder 驅動程式配置錯誤,找不到 replication_device %s。" msgid "Deploy v3 of the Cinder API." -msgstr "部署 Cinder API 的第 3 版。" +msgstr "Cinder API 的部署第 3 版。" msgid "Describe-resource is admin only functionality" msgstr "Describe-resource 是管理者專用功能" @@ -1886,7 +1878,7 @@ msgid "" "Detach volume failed: More than one attachment, but no attachment_id " "provided." -msgstr "分離磁區失敗:存在多個連接,但卻未提供attachment_id。" +msgstr "分離磁區失敗:存在多個連接,但卻未提供 attachment_id。" msgid "Detach volume from instance and then try again." msgstr "請從實例分離磁區,然後再試一次。" @@ -1897,7 +1889,7 @@ #, python-format msgid "Did not find expected column in %(fun)s: %(hdr)s." -msgstr "在 %(fun)s 中找不到預期的直欄:%(hdr)s。" +msgstr "在 %(fun)s 中未找到預期的直欄:%(hdr)s。" #, python-format msgid "Did not find the expected key %(key)s in %(fun)s: %(raw)s." @@ -2028,7 +2020,7 @@ "Project: %(project)s Clone project: %(clone_proj)s Return code: " "%(ret.status)d Message: %(ret.data)s." msgstr "" -"在儲存區 %(pool)s 的磁區 %(lun)s 上複製 Snapshot:%(snapshot)s 時發生錯誤專" +"在儲存區 %(pool)s 的磁區 %(lun)s 上複製 Snapshot:%(snapshot)s 時發生錯誤。專" "案:%(project)s,副本專案:%(clone_proj)s,回覆碼:%(ret.status)d。訊息:" "%(ret.data)s。" @@ -2098,7 +2090,7 @@ "Error Creating Property: %(property)s Type: %(type)s Description: " "%(description)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"建立內容 %(property)s 類型 %(type)s 說明%(description)s 時發生錯誤。回覆碼:" +"建立內容 %(property)s 類型 %(type)s 說明 %(description)s 時發生錯誤。回覆碼:" "%(ret.status)d。訊息:%(ret.data)s。" #, python-format @@ -2113,7 +2105,7 @@ "Error Creating Snapshot: %(snapshot)s onVolume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在儲存區 %(pool)s 的磁區 %(lun)s 上建立 Snapshot:%(snapshot)s 時發生錯誤專" +"在儲存區 %(pool)s 的磁區 %(lun)s 上建立 Snapshot:%(snapshot)s 時發生錯誤。專" "案:%(project)s。回覆碼:%(ret.status)d。訊息:%(ret.data)s。" #, python-format @@ -2121,8 +2113,8 @@ "Error Creating Snapshot: %(snapshot)s onshare: %(share)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在下列儲存區的共用 %(share)s 上建立 Snapshot %(snapshot)s 時發生錯誤:" -"%(pool)s 專案:%(project)s 回覆碼:%(ret.status)d 訊息:%(ret.data)s。" +"在儲存區 %(pool)s 的共用 %(share)s 上建立 Snapshot %(snapshot)s 時發生錯誤。" +"專案:%(project)s 回覆碼:%(ret.status)d 訊息:%(ret.data)s。" #, python-format msgid "" @@ -2158,7 +2150,7 @@ "volume: %(vol)s for target: %(tgt)s and pool: %(tgt_pool)sReturn code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"針對目標 %(tgt)s 和儲存區 %(tgt_pool)s,在儲存區 %(pool)s 專案 %(proj)s磁區 " +"針對目標 %(tgt)s 和儲存區 %(tgt_pool)s,在儲存區 %(pool)s 專案 %(proj)s 磁區 " "%(vol)s 上建立抄寫動作時發生錯誤。回覆碼:%(ret.status)d。訊息:" "%(ret.data)s。" @@ -2201,8 +2193,8 @@ "Error Deleting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在下列儲存區的磁區 %(lun)s 上刪除 Snapshot:%(snapshot)s 時發生錯誤:" -"%(pool)s 專案:%(project)s 回覆碼:%(ret.status)d 訊息:%(ret.data)s。" +"在儲存區 %(pool)s 的磁區 %(lun)s 上刪除 Snapshot:%(snapshot)s 時發生錯誤。 " +"專案:%(project)s 回覆碼:%(ret.status)d 訊息:%(ret.data)s。" #, python-format msgid "" @@ -2225,7 +2217,7 @@ "Error Deleting replication action: %(id)s Return code: %(ret.status)d " "Message: %(ret.data)s." msgstr "" -"刪除抄寫動作 %(id)s 時發生錯誤。回覆碼:%(ret.status)d。訊息:%(ret.data)s。" +"刪除抄寫動作 %(id)s 時發生錯誤。回覆碼:%(ret.status)d,訊息:%(ret.data)s。" #, python-format msgid "" @@ -2254,14 +2246,14 @@ "code: %(ret.status)d Message: %(ret.data)s." msgstr "" "取得專案統計資料時發生錯誤:儲存區:%(pool)s,專案:%(project)s,回覆碼:" -"%(ret.status)d,訊息:%(ret.data)s。" +"%(ret.status)d。訊息:%(ret.data)s。" #, python-format msgid "" "Error Getting Share: %(share)s on Pool: %(pool)s Project: %(project)s Return " "code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"取得儲存區 %(pool)s 上的共用 %(share)s 時發生錯誤。專案:%(project)s回覆碼:" +"取得儲存區 %(pool)s 上的共用 %(share)s 時發生錯誤。專案:%(project)s 回覆碼:" "%(ret.status)d。訊息:%(ret.data)s。" #, python-format @@ -2269,7 +2261,7 @@ "Error Getting Snapshot: %(snapshot)s on Volume: %(lun)s to Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在儲存區 %(pool)s 的磁區 %(lun)s 上取得 Snapshot:%(snapshot)s 時發生錯誤專" +"在儲存區 %(pool)s 的磁區 %(lun)s 上取得 Snapshot:%(snapshot)s 時發生錯誤。專" "案:%(project)s。回覆碼:%(ret.status)d。訊息:%(ret.data)s。" #, python-format @@ -2311,8 +2303,8 @@ "Error Setting props Props: %(props)s on Volume: %(lun)s of Pool: %(pool)s " "Project: %(project)s Return code: %(ret.status)d Message: %(ret.data)s." msgstr "" -"在儲存區 %(pool)s 的磁區 %(lun)s 上設定內容 Props:%(props)s 時發生錯誤專案:" -"%(project)s。回覆碼:%(ret.status)d。訊息:%(ret.data)s。" +"在儲存區 %(pool)s 的磁區 %(lun)s 上設定內容 Props:%(props)s 時發生錯誤。專" +"案:%(project)s。回覆碼:%(ret.status)d。訊息:%(ret.data)s。" #, python-format msgid "" @@ -2547,15 +2539,15 @@ #, python-format msgid "Error in SolidFire API response: data=%(data)s" -msgstr "SolidFire API 回應發生錯誤:資料 = %(data)s" +msgstr "SolidFire API 回應發生錯誤:資料為 %(data)s" #, python-format msgid "Error in space-create for %(space)s of size %(size)d GB" -msgstr "為 %(space)s 建立大小為 %(size)d GB 的空間時發生錯誤" +msgstr "為 %(space)s 建立大小為 %(size)dGB 的空間時發生錯誤" #, python-format msgid "Error in space-extend for volume %(space)s with %(size)d additional GB" -msgstr "將磁區 %(space)s 的空間額外延伸 %(size)d GB 時發生錯誤" +msgstr "將磁區 %(space)s 的空間額外延伸 %(size)dGB 時發生錯誤" #, python-format msgid "Error managing volume: %s." @@ -2596,11 +2588,11 @@ #, python-format msgid "Error occurred when creating cgsnapshot %s." -msgstr "建立 CgSnapshot %s 時發生錯誤。" +msgstr "建立 cgsnapshot %s 時發生錯誤。" #, python-format msgid "Error occurred when deleting cgsnapshot %s." -msgstr "刪除 CgSnapshot %s 時發生錯誤。" +msgstr "刪除 cgsnapshot %s 時發生錯誤。" #, python-format msgid "Error occurred when updating consistency group %s." @@ -2633,7 +2625,7 @@ "Error sending replication update for action id: %(id)s . Return code: " "%(ret.status)d Message: %(ret.data)s ." msgstr "" -"傳送動作識別碼 %(id)s 的抄寫更新時發生錯誤。回覆碼:%(ret.status)d。訊息:" +"傳送動作 ID %(id)s 的抄寫更新時發生錯誤。回覆碼:%(ret.status)d。訊息:" "%(ret.data)s。" #, python-format @@ -2711,7 +2703,7 @@ #, python-format msgid "Error while deleting snapshot [status] %(stat)s - [result] %(res)s" -msgstr "刪除 Snapshot [狀態] %(stat)s 時發生錯誤 - [結果] %(res)s。" +msgstr "刪除 Snapshot [狀態] %(stat)s 時發生錯誤 - [結果] %(res)s" #, python-format msgid "Error while deleting volume [status] %(stat)s - [result] %(res)s." @@ -2840,7 +2832,8 @@ "Expected single vdisk returned from lsvdisk when filtering on vdisk_UID. " "%(count)s were returned." msgstr "" -"根據 vdisk_UID 來過濾時,預期從 lsvdisk 傳回單一 vdisk。傳回了 %(count)s 個。" +"根據 vdisk_UID 來過濾時,預期從 lsvdisk 傳回單一 vdisk。目前傳回了 %(count)s " +"個。" #, python-format msgid "Expected volume size was %d" @@ -2859,8 +2852,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"已中止匯出記錄,目前配置的備份服務[%(configured_service)s] 不是建立此備份所使" -"用的備份服務 [%(backup_service)s]。" +"已中止匯出記錄,目前配置的備份服務 [%(configured_service)s] 不是建立此備份所" +"使用的備份服務 [%(backup_service)s]。" msgid "Extend volume error." msgstr "延伸磁區時發生錯誤。" @@ -2966,7 +2959,7 @@ #, python-format msgid "Failed to associate qos_specs: %(specs_id)s with type %(type_id)s." -msgstr "無法使 qos_specs:%(specs_id)s 與類型 %(type_id)s 產生關聯。" +msgstr "無法使 qos_specs:%(specs_id)s 與類型 %(type_id)s 關聯。" #, python-format msgid "Failed to attach iSCSI target for volume %(volume_id)s." @@ -2980,7 +2973,7 @@ msgid "" "Failed to backup volume metadata - Metadata backup object 'backup.%s.meta' " "already exists" -msgstr "無法備份磁區 meta 資料 - meta 資料備份物件'backup.%s.meta' 已存在" +msgstr "無法備份磁區 meta 資料 - meta 資料備份物件 'backup.%s.meta' 已存在" #, python-format msgid "Failed to clone volume from snapshot %s." @@ -3043,7 +3036,7 @@ #, python-format msgid "Failed to create cg snapshot %(id)s due to %(reason)s." -msgstr "由於 %(reason)s,無法建立 cg Snapshot %(id)s。" +msgstr "由於 %(reason)s,無法建立 cgsnapshot %(id)s。" #, python-format msgid "Failed to create consistency group %(id)s due to %(reason)s." @@ -3073,7 +3066,7 @@ "Failed to create consistency group: %(consistencyGroupName)s Return code: " "%(rc)lu. Error: %(error)s." msgstr "" -"無法建立一致性群組:%(consistencyGroupName)s回覆碼:%(rc)lu。錯誤:" +"無法建立一致性群組:%(consistencyGroupName)s 回覆碼:%(rc)lu。錯誤:" "%(error)s。" #, python-format @@ -3123,7 +3116,7 @@ msgstr "無法建立抄本。" msgid "Failed to create scheduler manager volume flow" -msgstr "無法建立排定器管理程式磁區流程" +msgstr "無法建立排程器管理程式磁區流程" #, python-format msgid "Failed to create snapshot %s" @@ -3155,7 +3148,7 @@ msgid "" "Failed to create snapshot. CloudByte volume information not found for " "OpenStack volume [%s]." -msgstr "無法建立 Snapshot。找不到 OpenStack 磁區[%s] 的 CloudByte 磁區資訊。" +msgstr "無法建立 Snapshot。找不到 OpenStack 磁區 [%s] 的 CloudByte 磁區資訊。" #, python-format msgid "Failed to create south bound connector for %s." @@ -3183,7 +3176,7 @@ #, python-format msgid "Failed to delete cgsnapshot %(id)s due to %(reason)s." -msgstr "由於 %(reason)s,無法刪除 cg Snapshot %(id)s。" +msgstr "由於 %(reason)s,無法刪除 cgsnapshot %(id)s。" #, python-format msgid "Failed to delete consistency group %(id)s due to %(reason)s." @@ -3198,7 +3191,7 @@ "Failed to delete consistency group: %(consistencyGroupName)s Return code: " "%(rc)lu. Error: %(error)s." msgstr "" -"無法刪除一致性群組:%(consistencyGroupName)s回覆碼:%(rc)lu。錯誤:" +"無法刪除一致性群組:%(consistencyGroupName)s 回覆碼:%(rc)lu。錯誤:" "%(error)s。" msgid "Failed to delete device." @@ -3469,8 +3462,8 @@ "Failed to get, create or add volume %(volumeName)s to masking view " "%(maskingViewName)s. The error message received was %(errorMessage)s." msgstr "" -"無法取得、建立磁區 %(volumeName)s,或將其新增至遮罩視圖%(maskingViewName)s。" -"接收到的錯誤訊息為 %(errorMessage)s。" +"無法取得、建立、或將磁區 %(volumeName)s 新增至遮罩視圖%(maskingViewName)s。接" +"收到的錯誤訊息為 %(errorMessage)s。" msgid "Failed to identify volume backend." msgstr "無法識別磁區後端。" @@ -3521,7 +3514,7 @@ msgid "" "Failed to manage existing volume %(name)s, because reported size %(size)s " "was not a floating-point number." -msgstr "無法管理現有磁區 %(name)s,因為所報告的大小 %(size)s不是浮點數字。" +msgstr "無法管理現有磁區 %(name)s,因為所報告的大小 %(size)s 不是浮點數字。" msgid "" "Failed to manage existing volume because the pool of the volume type chosen " @@ -3556,8 +3549,8 @@ "does not match the backend pool. Pool of the volume to be managed is " "%(vdisk_pool)s. Pool of the backend is %(backend_pool)s." msgstr "" -"因為要管理之磁區的通訊協定與後端通訊協定不符,所以無法管理現有磁區。要管理之" -"磁區的通訊協定是 %(vdisk_pool)s。後端的通訊協定是 %(backend_pool)s。" +"因為要管理之磁區的儲存區與後端通訊協定不符,所以無法管理現有磁區。要管理之磁" +"區的儲存區是 %(vdisk_pool)s。後端的儲存區是 %(backend_pool)s。" msgid "" "Failed to manage existing volume due to the volume to be managed is " @@ -3629,8 +3622,8 @@ " stderr: %(err)s." msgstr "" "無法剖析 CLI 輸出:\n" -" 指令:%(cmd)s\n" -" 標準輸出:%(out)s\n" +"指令:%(cmd)s\n" +"標準輸出:%(out)s\n" "標準錯誤:%(err)s。" msgid "" @@ -4301,7 +4294,7 @@ msgstr "I/O 群組 %(iogrp)d 無效;可用的 I/O 群組數目是 %(avail)s。" msgid "ID" -msgstr "識別號" +msgstr "ID" msgid "IP address/hostname of Blockbridge API." msgstr "Blockbridge API 的 IP 位址/主機名稱。" @@ -4318,14 +4311,14 @@ "Illegal value '%(prot)s' specified for flashsystem_connection_protocol: " "valid value(s) are %(enabled)s." msgstr "" -"為 flashsystem_connection_protocol 指定的值 '%(prot)s' 不正確:有效值為 " +"為 flashsystem_connection_protocol 指定的值 '%(prot)s' 無效:有效值為 " "%(enabled)s。" msgid "Illegal value specified for IOTYPE: 0, 1, or 2." msgstr "為 IOTYPE 指定的值無效:0、1 或 2。" msgid "Illegal value specified for smarttier: set to either 0, 1, 2, or 3." -msgstr "指定給 smarttier 的值不正確:設定為 0、1、2 或 3。" +msgstr "指定給 smarttier 的值無效:設定為 0、1、2 或 3。" msgid "" "Illegal value specified for storwize_svc_vol_grainsize: set to either 32, " @@ -4336,7 +4329,7 @@ msgid "" "Illegal value specified for thin: Can not set thin and thick at the same " "time." -msgstr "指定給 thin 的值不正確:無法同時設定thin 和 thick。" +msgstr "指定給 thin 的值無效:無法同時設定 thin 和 thick。" #, python-format msgid "Image %(image_id)s could not be found." @@ -4358,7 +4351,7 @@ "Image virtual size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." msgstr "" -"映像檔虛擬大小為 %(image_size)d GB,不適合大小為%(volume_size)d GB 的磁區。" +"映像檔虛擬大小為 %(image_size)dGB,不適合大小為 %(volume_size)dGB 的磁區。" msgid "" "ImageBusy error raised while deleting rbd volume. This may have been caused " @@ -4449,7 +4442,7 @@ msgid "" "Invalid ConsistencyGroup: Consistency group status must be available, but " "current status is: %s." -msgstr "無效的一致性群組:一致性群組狀態必須為可用,但是現行狀態為:%s。" +msgstr "無效的一致性群組:一致性群組狀態必須為「可用」,但是現行狀態為:%s。" msgid "Invalid ConsistencyGroup: No host to create consistency group" msgstr "無效的一致性群組:沒有用來建立一致性群組的主機" @@ -4649,7 +4642,7 @@ #, python-format msgid "" "Invalid prefetch type '%s' is configured. PrefetchType must be in 0,1,2,3." -msgstr "所配置的預先提取類型 %s 無效。PrefetchType 必須位於 0、1、2 和 3 中。" +msgstr "所配置的預先提取類型 %s 無效。PrefetchType 必須為 0、1、2 和 3 之一。" #, python-format msgid "Invalid qos specs: %(reason)s" @@ -4751,7 +4744,7 @@ msgstr "'readonly' 的值無效:'%s'" msgid "Invalid value for 'scheduler_max_attempts', must be >=1" -msgstr "'scheduler_max_attempts' 的值無效,必須 >= 1" +msgstr "'scheduler_max_attempts' 的值無效,必須大於或等於 1" msgid "Invalid value for NetApp configuration option netapp_host_type." msgstr "NetApp 配置選項 netapp_host_type 的值無效。" @@ -4799,7 +4792,7 @@ "group." msgstr "" "無效的磁區:無法將磁區 %(volume_id)s 新增至一致性群組 %(group_id)s,因為磁區" -"類型 %(volume_type)s 不受 該群組支援。" +"類型 %(volume_type)s 不受該群組支援。" #, python-format msgid "" @@ -4826,8 +4819,8 @@ "Invalid volume_type provided: %s (requested type is not compatible; either " "match source volume, or omit type argument)." msgstr "" -"提供的 volume_type 無效:%s(所要求的類型不相容;符合來源磁區,或省略 type 引" -"數)。" +"提供的 volume_type 無效:%s(所要求的類型不相容;符合來源磁區,或省略了 type " +"引數)。" #, python-format msgid "" @@ -4954,7 +4947,7 @@ msgid "" "MD5 of object: %(object_name)s before: %(md5)s and after: %(etag)s is not " "same." -msgstr "之前物件 %(object_name)s 的 MD5 %(md5)s 與之後的 %(etag)s 不同。" +msgstr "物件 %(object_name)s 的 MD5 在 %(md5)s 之前與 %(etag)s 之後不同。" #, python-format msgid "MSG_DENIED: %r" @@ -4970,7 +4963,7 @@ #, python-format msgid "Malformed fcns output string: %s" -msgstr "形態異常的 fcns 輸出字串:%s" +msgstr "fcns 輸出字串格式不正確:%s" #, python-format msgid "Malformed message body: %(reason)s" @@ -4984,7 +4977,7 @@ msgstr "要求內文的格式不正確" msgid "Malformed request body." -msgstr "要求內文形態異常。" +msgstr "要求內文格式不正確。" msgid "Malformed request url" msgstr "要求 URL 的格式不正確" @@ -4998,19 +4991,19 @@ #, python-format msgid "Malformed show fcns database string: %s" -msgstr "形態異常的「顯示 fcns」資料庫字串:%s" +msgstr "「顯示 fcns」資料庫字串格式不正確:%s" #, python-format msgid "" "Malformed zone configuration: (switch=%(switch)s zone_config=" "%(zone_config)s)." msgstr "" -"格式不正確的區域配置:(交換器 = %(switch)szone_config = %(zone_config)s)。" +"格式不正確的區域配置:(交換器 = %(switch)s zone_config = %(zone_config)s)。" #, python-format msgid "Malformed zone status: (switch=%(switch)s zone_config=%(zone_config)s)." msgstr "" -"形態異常的區域狀態:(交換器 = %(switch)s,zone_config = %(zone_config)s)。" +"區域狀態格式不正確:(交換器 = %(switch)s,zone_config = %(zone_config)s)。" msgid "Manage existing get size requires 'id'." msgstr "管理現有取得大小需要 'id'。" @@ -5022,7 +5015,7 @@ msgid "" "Manage existing volume failed due to invalid backend reference " "%(existing_ref)s: %(reason)s" -msgstr "管理現有磁區時失敗,因為後端參照%(existing_ref)s 無效:%(reason)s" +msgstr "管理現有磁區時失敗,因為後端參照 %(existing_ref)s 無效:%(reason)s" #, python-format msgid "Manage existing volume failed due to volume type mismatch: %(reason)s" @@ -5050,7 +5043,7 @@ msgid "" "Mapping %(id)s prepare failed to complete within theallotted %(to)d seconds " "timeout. Terminating." -msgstr "無法在所分配的 %(to)d 秒逾時時間內完成對映 %(id)s準備。終止中。" +msgstr "無法在所分配的 %(to)d 秒逾時時間內完成對映 %(id)s準備。正在終止。" #, python-format msgid "Masking view %(maskingViewName)s was not deleted successfully" @@ -5068,7 +5061,7 @@ msgid "" "Maximum number of volumes allowed (%(allowed)d) exceeded for quota " "'%(name)s'." -msgstr "已超出下列配額容許的磁區數目上限 (%(allowed)d):'%(name)s'。" +msgstr "已超出下列配額 '%(name)s' 容許的磁區數目上限 (%(allowed)d)。" #, python-format msgid "May specify only one of %s" @@ -5260,7 +5253,7 @@ msgstr "必須指定 Snapshot source-name 或 source-id。" msgid "Must specify source-name or source-id." -msgstr "必須修改 source-name 或 source-id。" +msgstr "必須指定 source-name 或 source-id。" msgid "Must specify storage pool name or id." msgstr "必須指定儲存區名稱或 ID。" @@ -5356,7 +5349,7 @@ msgstr "在配置檔中找不到「埠群組」元素。" msgid "No VF ID is defined in the configuration file." -msgstr "配置檔中未定以 VF ID。" +msgstr "配置檔中未定義 VF ID。" msgid "No active iSCSI portals with supplied iSCSI IPs" msgstr "沒有具備所提供之 iSCSI IP 的作用中 iSCSI 入口網站" @@ -5377,7 +5370,7 @@ #, python-format msgid "No cgsnapshot with id %s" -msgstr "沒有 ID 為 %s 的 CgSnapshot" +msgstr "沒有 ID 為 %s 的 cgsnapshot" msgid "No cinder entries in syslog!" msgstr "Syslog 中沒有 Cinder 項目!" @@ -5449,17 +5442,17 @@ msgstr "找不到任何 IP 位址。" msgid "No iscsi auth groups were found in CloudByte." -msgstr "在 CloudByte 中找不到 iscsi 鑑別群組。" +msgstr "在 CloudByte 中找不到 iSCSI 鑑別群組。" msgid "No iscsi initiators were found in CloudByte." -msgstr "在 CloudByte 中找不到 iscsi 起始器。" +msgstr "在 CloudByte 中找不到 iSCSI 起始器。" #, python-format msgid "No iscsi service found for CloudByte volume [%s]." -msgstr "找不到 CloudByte 磁區 [%s] 的 iscsi 服務。" +msgstr "找不到 CloudByte 磁區 [%s] 的 iSCSI 服務。" msgid "No iscsi services found in CloudByte storage." -msgstr "在 CloudByte 儲存體中找不到 iscsi 服務。" +msgstr "在 CloudByte 儲存體中找不到 iSCSI 服務。" #, python-format msgid "No key file specified and unable to load key from %(cert)s %(e)s." @@ -5497,7 +5490,7 @@ msgstr "未從 CloudByte 儲存體清單 iSCSI 鑑別使用者 API 呼叫接收到任何回應。" msgid "No response was received from CloudByte storage list tsm API call." -msgstr "為了列出 tsm API 呼叫,未從 CloudByte 儲存體中接收到回應。" +msgstr "未從 CloudByte 儲存體清單 tsm API 呼叫中接收到回應。" msgid "No response was received from CloudByte's list filesystem api call." msgstr "未從 CloudByte 的清單檔案系統 API 呼叫中接收到回應。" @@ -5566,10 +5559,10 @@ #, python-format msgid "" "No volume on cluster with vserver %(vserver)s and junction path %(junction)s " -msgstr "叢集上沒有含 vserver %(vserver)s 及接合路徑%(junction)s 的磁區" +msgstr "叢集上沒有含 vserver %(vserver)s 及接合路徑 %(junction)s 的磁區" msgid "No volume service(s) started successfully, terminating." -msgstr "所有磁區服務均未順利啟動,終止中。" +msgstr "所有磁區服務均未順利啟動,正在終止。" msgid "No volume was found at CloudByte storage." msgstr "在 CloudByte 儲存體中找不到磁區。" @@ -5602,7 +5595,7 @@ msgstr "未獲映像檔 %(image_id)s 的授權。" msgid "Not authorized." -msgstr "未被授權" +msgstr "未被授權。" #, python-format msgid "Not enough space on backend (%(backend)s)" @@ -5621,13 +5614,13 @@ msgstr "從 CloudByte 的清單檔案系統中接收到空值回應。" msgid "Null response received from CloudByte's list iscsi auth groups." -msgstr "從 CloudByte 的清單 iscsi 鑑別群組接收到空值回應。" +msgstr "從 CloudByte 的清單 iSCSI 鑑別群組接收到空值回應。" msgid "Null response received from CloudByte's list iscsi initiators." -msgstr "從 CloudByte 的清單 iscsi 起始器中接收到空值回應。" +msgstr "從 CloudByte 的清單 iSCSI 起始器中接收到空值回應。" msgid "Null response received from CloudByte's list volume iscsi service." -msgstr "從 CloudByte 的清單磁區 iscsi 服務中接收到空值回應。" +msgstr "從 CloudByte 的清單磁區 iSCSI 服務中接收到空值回應。" #, python-format msgid "Null response received while creating volume [%s] at CloudByte storage." @@ -5642,7 +5635,7 @@ "Null response received while querying for [%(operation)s] based job " "[%(job)s] at CloudByte storage." msgstr "" -"在 CloudByte 儲存體中查詢 [%(operation)s] 型工作[%(job)s] 時接收到空值回應。" +"在 CloudByte 儲存體中查詢 [%(operation)s] 型工作 [%(job)s] 時接收到空值回應。" msgid "Number of retries if connection to ceph cluster failed." msgstr "與 ceph 叢集的連線失敗時的重試次數。" @@ -5684,15 +5677,14 @@ msgid "" "Only users with token scoped to immediate parents or root projects are " "allowed to see its children quotas." -msgstr "" -"只容許具備已限定為原生母項或 root 專案範圍之記號的使用者來查看其子項配額。" +msgstr "只容許記號範圍限定為原生母項或 root 專案的使用者來查看其子項配額。" msgid "Only volumes managed by OpenStack can be unmanaged." msgstr "只能取消管理由 OpenStack 進行管理的磁區。" #, python-format msgid "Operation failed with status=%(status)s. Full dump: %(data)s" -msgstr "作業失敗,狀態 = %(status)s。完整傾出:%(data)s" +msgstr "作業失敗,狀態為 %(status)s。完整傾出:%(data)s" #, python-format msgid "Operation not supported: %(operation)s." @@ -5728,7 +5720,7 @@ "Password or SSH private key is required for authentication: set either " "san_password or san_private_key option." msgstr "" -"鑑別需要密碼或 SSH 私密金鑰:請設定san_password 或 san_private_key 選項。" +"鑑別需要密碼或 SSH 私密金鑰:請設定 san_password 或 san_private_key 選項。" msgid "Path to REST server's certificate must be specified." msgstr "必須指定 REST 伺服器憑證的路徑。" @@ -5804,7 +5796,7 @@ msgstr "主要副本狀態:%(status)s,已同步:%(sync)s。" msgid "Project ID" -msgstr "專案識別號" +msgstr "專案 ID" #, python-format msgid "Project quotas are not properly setup for nested quotas: %(reason)s." @@ -5827,7 +5819,7 @@ "Provided snapshot status %(provided)s not allowed for snapshot with status " "%(current)s." msgstr "" -"提供的 Snapshot 狀態 %(provided)s,不為 Snapshot(狀態 = %(current)s)所接" +"提供的 Snapshot 狀態 %(provided)s,不為 Snapshot(狀態為 %(current)s)所接" "受。" #, python-format @@ -5908,7 +5900,7 @@ #, python-format msgid "Quota exceeded: code=%(code)s" -msgstr "已超出配額:錯誤碼 = %(code)s" +msgstr "已超出配額:錯誤碼為 %(code)s" #, python-format msgid "Quota for project %(project_id)s could not be found." @@ -5975,7 +5967,7 @@ msgstr "參照必須針對未受管理的虛擬磁區。" msgid "Reference must be the name of an unmanaged snapshot." -msgstr "參照必須是受管理之 Snapshot 的名稱。" +msgstr "參照必須是未受管理之 Snapshot 的名稱。" msgid "Reference must be the volume name of an unmanaged virtual volume." msgstr "參照必須是未受管理虛擬磁區的磁區名稱。" @@ -6086,13 +6078,15 @@ msgid "" "Replication status for volume must be active or active-stopped, but current " "status is: %s" -msgstr "磁區的抄寫狀態必須是作用中或作用中已停止,但是現行狀態為:%s" +msgstr "磁區的抄寫狀態必須是「作用中」或「作用中已停止」,但是現行狀態為:%s" #, python-format msgid "" "Replication status for volume must be inactive, active-stopped, or error, " "but current status is: %s" -msgstr "磁區的抄寫狀態必須是非作用中、作用中已停止或錯誤,但是現行狀態為:%s" +msgstr "" +"磁區的抄寫狀態必須是「非作用中」、「作用中已停止」或「錯誤」,但是現行狀態" +"為:%s" msgid "Request body and URI mismatch" msgstr "要求內文與 URI 不符" @@ -6115,16 +6109,16 @@ "Requested backup exceeds allowed Backup gigabytes quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"所要求的備份超出容許的備份 GB 數配額。要求 %(requested)s G,配額為 %(quota)s " -"G,並且已耗用 %(consumed)s G。" +"所要求的備份超出容許的備份 GB 數配額。要求 %(requested)sG,配額為 " +"%(quota)sG,並且已耗用 %(consumed)sG。" #, python-format msgid "" "Requested volume or snapshot exceeds allowed %(name)s quota. Requested " "%(requested)sG, quota is %(quota)sG and %(consumed)sG has been consumed." msgstr "" -"所要求的磁區或 Snapshot 超出容許的 %(name)s 配額。要求 %(requested)s G,配額" -"為 %(quota)s G,並且已耗用 %(consumed)s G。" +"所要求的磁區或 Snapshot 超出容許的 %(name)s 配額。要求 %(requested)sG,配額" +"為 %(quota)sG,並且已耗用 %(consumed)sG。" #, python-format msgid "" @@ -6148,8 +6142,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"已中止重設備份狀態,目前配置的備份服務[%(configured_service)s] 不是建立此備份" -"所使用的備份服務 [%(backup_service)s]。" +"已中止重設備份狀態,目前配置的備份服務 [%(configured_service)s] 不是建立此備" +"份所使用的備份服務 [%(backup_service)s]。" #, python-format msgid "Resizing clone %s failed." @@ -6191,8 +6185,8 @@ "[%(configured_service)s] is not the backup service that was used to create " "this backup [%(backup_service)s]." msgstr "" -"已中止還原備份,目前配置的備份服務[%(configured_service)s] 不是建立此備份所使" -"用的備份服務 [%(backup_service)s]。" +"已中止還原備份,目前配置的備份服務 [%(configured_service)s] 不是建立此備份所" +"使用的備份服務 [%(backup_service)s]。" #, python-format msgid "" @@ -6241,7 +6235,7 @@ "for fast policy %(fastPolicyName)s failed." msgstr "" "對磁區 %(volumeName)s 進行的回復失敗。請與系統管理者聯絡,以手動將磁區傳回至" -"FAST 原則 %(fastPolicyName)s 的預設儲存體群組。" +"失敗之 FAST 原則 %(fastPolicyName)s 的預設儲存體群組。" #, python-format msgid "Rolling back %(volumeName)s by deleting it." @@ -6278,10 +6272,6 @@ msgstr "嘗試 '%(total_attempts)r' 次之後 SSH 指令仍失敗:'%(command)s'" #, python-format -msgid "SSH Command failed with error: '%(err)s', Command: '%(command)s'" -msgstr "SSH 指令失敗,錯誤為:'%(err)s',指令為:'%(command)s'" - -#, python-format msgid "SSH command injection detected: %(command)s" msgstr "偵測到 SSH 指令注入:%(command)s" @@ -6343,9 +6333,6 @@ msgid "Service is unavailable at this time." msgstr "此時無法使用服務。" -msgid "Service not found." -msgstr "找不到服務。" - msgid "Set pair secondary access error." msgstr "設定配對次要存取時發生錯誤。" @@ -6386,7 +6373,7 @@ msgstr "顯示作業只能對將使用者限定範圍之相同專案階層中的專案執行。" msgid "Size" -msgstr "容量" +msgstr "大小" #, python-format msgid "Size for volume: %s not found, cannot secure delete." @@ -6396,13 +6383,13 @@ msgid "" "Size is %(image_size)dGB and doesn't fit in a volume of size " "%(volume_size)dGB." -msgstr "大小為 %(image_size)d GB,無法容納大小為%(volume_size)d GB 的磁區。" +msgstr "大小為 %(image_size)dGB,無法容納大小為 %(volume_size)dGB 的磁區。" #, python-format msgid "" "Size of specified image %(image_size)sGB is larger than volume size " "%(volume_size)sGB." -msgstr "所指定映像檔的大小 %(image_size)s GB 大於磁區大小%(volume_size)s GB。" +msgstr "所指定映像檔的大小 %(image_size)sGB 大於磁區大小 %(volume_size)sGB。" #, python-format msgid "" @@ -6451,7 +6438,7 @@ #, python-format msgid "Snapshot of volume not supported in state: %s." -msgstr "狀態 %s 不支援取得磁區的 Snapshot。" +msgstr "不支援對狀態為 %s 的磁區取得 Snapshot。" #, python-format msgid "Snapshot res \"%s\" that is not deployed anywhere?" @@ -6470,7 +6457,7 @@ #, python-format msgid "" "Snapshot to be backed up must be available, but the current status is \"%s\"." -msgstr "要備份的 Snapshot 必須可用,但現行狀態卻是 \"%s\"。" +msgstr "要備份的 Snapshot 必須可用,但現行狀態為 \"%s\"。" #, python-format msgid "Snapshot with id of %s could not be found." @@ -6480,8 +6467,7 @@ msgid "" "Snapshot='%(snap)s' does not exist in base image='%(base)s' - aborting " "incremental backup" -msgstr "" -"Snapshot = '%(snap)s' 不存在於基本映像檔 = '%(base)s' 中 - 正在中止增量備份" +msgstr "基本映像檔 '%(base)s' 中不存在 Snapshot '%(snap)s' - 正在中止增量備份" #, python-format msgid "Snapshots are not supported for this volume format: %s" @@ -6524,7 +6510,7 @@ msgid "" "Specified host to map to volume %(vol)s is in unsupported host group with " "%(group)s." -msgstr "指定要對映至磁區 %(vol)s 的主機位於不受支援的主機群組%(group)s 中。" +msgstr "指定要對映至磁區 %(vol)s 的主機位於不受支援的主機群組 %(group)s 中。" msgid "Specified logical volume does not exist." msgstr "指定的邏輯磁區不存在。" @@ -6628,7 +6614,7 @@ "for one or more of the following projects: '%(child_ids)s'" msgstr "" "針對資源 '%(res)s',子項總用量 '%(sum)s' 大於專案 '%(proj)s' 的可用配額 " -"'%(free)s'。請降低下列一個以上專案的限制或用量:'%(child_ids)s'" +"'%(free)s'。請降低下列一個或一個以上專案的限制或用量:'%(child_ids)s'" msgid "Switch over pair error." msgstr "切換配對時發生錯誤。" @@ -6637,7 +6623,7 @@ msgstr "同步配對時發生錯誤。" msgid "Synchronizing secondary volume to primary failed." -msgstr "將次要磁碟區同步至主要磁碟區失敗。" +msgstr "將次要磁區同步至主要磁區失敗。" #, python-format msgid "System %(id)s found with bad password status - %(pass_status)s." @@ -6698,7 +6684,8 @@ "The GPFS filesystem %(fs)s is not at the required release level. Current " "level is %(cur)s, must be at least %(min)s." msgstr "" -"GPFS 檔案系統 %(fs)s 不是必要的版次。現行層次是 %(cur)s,必須至少是 %(min)s。" +"GPFS 檔案系統 %(fs)s 不是必要的版次。現行發行層次是 %(cur)s,必須至少是 " +"%(min)s。" msgid "The IP Address was not found." msgstr "找不到 IP 位址。" @@ -6716,7 +6703,7 @@ "Please create a database using 'cinder-manage db sync' before running this " "command." msgstr "" -"上述錯誤可能會顯示尚未建立資料庫。\n" +"上述錯誤可能表示尚未建立資料庫。\n" "請使用 'cinder-manage db sync' 來建立資料庫,然後再執行此指令。" #, python-format @@ -6812,8 +6799,7 @@ "The imported lun %(lun_id)s is in pool %(lun_pool)s which is not managed by " "the host %(host)s." msgstr "" -"匯入的 LUN %(lun_id)s 位於未受下列主機管理的儲存區 %(lun_pool)s 中:" -"%(host)s。" +"匯入的 LUN %(lun_id)s 位於未受主機 %(host)s 管理的儲存區 %(lun_pool)s 中。" msgid "The key cannot be None." msgstr "金鑰不能是「無」。" @@ -6925,13 +6911,13 @@ msgid "" "The specified ldev %(ldev)s could not be managed. The ldev must not be " "paired." -msgstr "無法管理指定的 LDEV %(ldev)s。不得對該 LDEV進行配對。" +msgstr "無法管理指定的 LDEV %(ldev)s。不得對該 LDEV 進行配對。" #, python-format msgid "" "The specified ldev %(ldev)s could not be managed. The ldev size must be in " "multiples of gigabyte." -msgstr "無法管理指定的 LDEV %(ldev)s。LDEV 大小必須為GB 的倍數。" +msgstr "無法管理指定的 LDEV %(ldev)s。LDEV 大小必須為 GB 的倍數。" #, python-format msgid "" @@ -6983,7 +6969,7 @@ msgid "" "The type of metadata: %(metadata_type)s for volume/snapshot %(id)s is " "invalid." -msgstr "磁區/Snapshot %(id)s 的 meta 資料類型 %(metadata_type)s無效。" +msgstr "磁區/Snapshot %(id)s 的 meta 資料類型 %(metadata_type)s 無效。" #, python-format msgid "" @@ -6995,7 +6981,7 @@ msgid "" "The volume %(volume_id)s could not be unmanaged. The volume type must be " "%(volume_type)s." -msgstr "無法取消管理磁區 %(volume_id)s。磁區類型必須為%(volume_type)s。" +msgstr "無法取消管理磁區 %(volume_id)s。磁區類型必須為 %(volume_type)s。" #, python-format msgid "The volume %(volume_id)s is managed successfully. (LDEV: %(ldev)s)" @@ -7066,7 +7052,7 @@ msgid "" "There is no designation of the ldev. The specified ldev is essential to " "manage the volume." -msgstr "未指定 LDEV。指定的 LDEV對於管理磁區必不可少。" +msgstr "未指定 LDEV。指定的 LDEV 對於管理磁區必不可少。" msgid "There is no metadata in DB object." msgstr "資料庫物件中沒有 meta 資料。" @@ -7157,7 +7143,7 @@ msgid "" "This system platform (%s) is not supported. This driver supports only Win32 " "platforms." -msgstr "此系統平台 (%s) 不受支援。此驅動程式僅支援Win32 平台。" +msgstr "此系統平台 (%s) 不受支援。此驅動程式僅支援 Win32 平台。" #, python-format msgid "Tier Policy Service not found for %(storageSystemName)s." @@ -7200,7 +7186,7 @@ "Transfer %(transfer_id)s: Volume id %(volume_id)s in unexpected state " "%(status)s, expected awaiting-transfer" msgstr "" -"傳送 %(transfer_id)s:磁區 ID %(volume_id)s 處於非預期的狀態%(status)s,預期" +"傳送 %(transfer_id)s:磁區 ID %(volume_id)s 處於非預期的狀態 %(status)s,預期" "狀態為 awaiting-transfer" #, python-format @@ -7213,14 +7199,14 @@ "Tune volume task stopped before it was done: volume_name=%(volume_name)s, " "task-status=%(status)s." msgstr "" -"調整磁區作業已停止,因為該作業已完成:volume_name=%(volume_name)s,task-" -"status=%(status)s。" +"調整磁區作業在完成前停止:volume_name=%(volume_name)s,task-status=" +"%(status)s。" #, python-format msgid "" "Type %(type_id)s is already associated with another qos specs: " "%(qos_specs_id)s" -msgstr "類型 %(type_id)s 已經與另一個服務品質規格%(qos_specs_id)s 產生關聯" +msgstr "類型 %(type_id)s 已經與另一個服務品質規格 %(qos_specs_id)s 產生關聯" msgid "Type access modification is not applicable to public volume type." msgstr "類型存取修訂不適用公用磁區類型。" @@ -7318,7 +7304,7 @@ "Unable to detach volume. Volume status must be 'in-use' and attach_status " "must be 'attached' to detach." msgstr "" -"無法分離磁區。磁區狀態必須是「使用中」,並且 attach_status必須是「已連接」才" +"無法分離磁區。磁區狀態必須是「使用中」,並且 attach_status 必須是「已連接」才" "能進行分離。" #, python-format @@ -7341,7 +7327,7 @@ "Unable to do manage snapshot operations with Purity REST API version " "%(api_version)s, requires %(required_versions)s." msgstr "" -"無法使用純度 REST API 版本 %(api_version)s 來執行管理 Snapshot 作業需要 " +"無法使用 Purity REST API 版本 %(api_version)s 來執行管理 Snapshot 作業,需要 " "%(required_versions)s。" #, python-format @@ -7349,7 +7335,7 @@ "Unable to do replication with Purity REST API version %(api_version)s, " "requires one of %(required_versions)s." msgstr "" -"無法使用純度 REST API %(api_version)s 版來執行抄寫作業,需要下列其中一個:" +"無法使用 Purity REST API %(api_version)s 版來執行抄寫作業,需要下列其中一個:" "%(required_versions)s。" msgid "Unable to enable replication and snapcopy at the same time." @@ -7387,7 +7373,7 @@ #, python-format msgid "Unable to find Purity ref with name=%s" -msgstr "找不到名稱為 %s 的純度參照" +msgstr "找不到名稱為 %s 的 Purity ref" #, python-format msgid "Unable to find Volume Group: %(vg_name)s" @@ -7495,7 +7481,7 @@ msgid "" "Unable to import volume %(deviceId)s to cinder. Volume is in masking view " "%(mv)s." -msgstr "無法將磁區 %(deviceId)s 匯入 Cinder。磁區正在遮罩視圖%(mv)s。" +msgstr "無法將磁區 %(deviceId)s 匯入 Cinder。磁區正在遮罩視圖 %(mv)s。" #, python-format msgid "Unable to load CA from %(cert)s %(e)s." @@ -7537,7 +7523,7 @@ msgstr "無法對映磁區。" msgid "Unable to parse XML request. Please provide XML in correct format." -msgstr "無法剖析 XML 要求。請提供正確格式的 XML。" +msgstr "無法剖析 XML 要求。請提供格式正確的 XML。" msgid "Unable to parse attributes." msgstr "無法剖析屬性。" @@ -7551,7 +7537,7 @@ msgid "" "Unable to re-use a host that is not managed by Cinder with " "use_chap_auth=True," -msgstr "無法重複使用未受 Cinder 管理且use_chap_auth=True 的主機。" +msgstr "無法重複使用未受 Cinder 管理且 use_chap_auth=True 的主機。" msgid "Unable to re-use host with unknown CHAP credentials configured." msgstr "無法重複使用配置有不明 CHAP 認證的主機。" @@ -7595,7 +7581,7 @@ #, python-format msgid "Unable to snap Consistency Group %s" -msgstr "無法貼齊一致性群組 %s" +msgstr "無法為一致性群組 %s 建立 Snapshot" msgid "Unable to terminate volume connection from backend." msgstr "無法從後端終止磁區連線。" @@ -7614,14 +7600,13 @@ "%(vol_id)s. Volume status must be available or in-use." msgstr "" "無法更新類型,因為磁區 %(vol_id)s 的狀態 %(vol_status)s 不正確。磁區狀態必須" -"為可用或使用中。" +"為「可用」或「使用中」。" #, python-format msgid "" "Unable to verify initiator group: %(igGroupName)s in masking view " "%(maskingViewName)s. " -msgstr "" -"無法在下列遮罩視圖中驗證起始器群組 %(igGroupName)s:%(maskingViewName)s。" +msgstr "無法在遮罩視圖 %(maskingViewName)s 中驗證起始器群組 %(igGroupName)s。" msgid "Unacceptable parameters." msgstr "不可接受的參數值" @@ -7636,7 +7621,7 @@ msgid "" "Unexpected CLI response: header/row mismatch. header: %(header)s, row: " "%(row)s." -msgstr "非預期的 CLI 回應:標頭/列不符。標頭:%(header)s、列:%(row)s。" +msgstr "非預期的 CLI 回應:標頭/列不符。標頭:%(header)s,列:%(row)s。" #, python-format msgid "" @@ -7726,10 +7711,10 @@ msgstr "不明的服務" msgid "Unknown sort direction, must be 'desc' or 'asc'" -msgstr "不明的排序方向,必須為 'desc' 或 'asc'" +msgstr "不明的排序方向,必須為「降序」或「升序」" msgid "Unknown sort direction, must be 'desc' or 'asc'." -msgstr "不明的排序方向,必須為 'desc' 或 'asc'。" +msgstr "不明的排序方向,必須為「降序」或「升序」。" msgid "Unmanage and cascade delete options are mutually exclusive." msgstr "取消管理與連鎖刪除選項是互斥的。" @@ -7788,7 +7773,7 @@ msgid "" "Unsupported firmware on switch %s. Make sure switch is running firmware v6.4 " "or higher" -msgstr "交換器 %s 上的韌體不受支援。請確保交換器正在執行韌體6.4 版或更高版本" +msgstr "交換器 %s 上的韌體不受支援。請確保交換器正在執行韌體 6.4 版或更高版本" #, python-format msgid "Unsupported volume format: %s " @@ -7800,7 +7785,7 @@ msgid "" "Update and delete quota operations can only be made by an admin of immediate " "parent or by the CLOUD admin." -msgstr "更新和刪除配額作業只能由原生母項的管理者或CLOUD 管理者來執行。" +msgstr "更新和刪除配額作業只能由原生母項的管理者或 CLOUD 管理者來執行。" msgid "" "Update and delete quota operations can only be made to projects in the same " @@ -7825,10 +7810,10 @@ msgstr "使用 CHAP 將起始器關聯至主機時發生錯誤。請檢查 CHAP 使用者名稱及密碼。" msgid "User ID" -msgstr "使用者識別號" +msgstr "使用者 ID" msgid "User does not have admin privileges" -msgstr "使用者並沒有管理者權力" +msgstr "使用者並沒有管理者專用權" msgid "User is not authorized to use key manager." msgstr "使用者未獲授權來使用金鑰管理程式。" @@ -7844,7 +7829,7 @@ msgid "" "V2 rollback - Volume in another storage group besides default storage group." -msgstr "第 2 版回復 - 磁區位於預設儲存體群組旁邊的另一個儲存體群組中。" +msgstr "第 2 版回復 - 磁區位於預設儲存體群組以外的另一個儲存體群組中。" msgid "V2 rollback, volume is not in any storage group." msgstr "第 2 版回復,磁區不在任何儲存體群組中。" @@ -7939,13 +7924,17 @@ msgid "" "Volume %(vol_id)s status must be available or in-use, but current status is: " "%(vol_status)s." -msgstr "磁區 %(vol_id)s 狀態必須為可用或使用中,但是現行狀態為%(vol_status)s。" +msgstr "" +"磁區 %(vol_id)s 狀態必須為「可用」或「使用中」,但是現行狀態為" +"「%(vol_status)s」。" #, python-format msgid "" "Volume %(vol_id)s status must be available to extend, but current status is: " "%(vol_status)s." -msgstr "磁區 %(vol_id)s 狀態必須為可用才能延伸,但是現行狀態為%(vol_status)s。" +msgstr "" +"磁區 %(vol_id)s 狀態必須為「可用」才能延伸,但是現行狀態為" +"「%(vol_status)s」。" #, python-format msgid "" @@ -7959,7 +7948,7 @@ msgid "" "Volume %(vol_id)s status must be available, but current status is: " "%(vol_status)s." -msgstr "磁區 %(vol_id)s 狀態必須為可用,但是現行狀態為:%(vol_status)s。" +msgstr "磁區 %(vol_id)s 狀態必須為「可用」,但是現行狀態為:%(vol_status)s。" #, python-format msgid "Volume %(volume_id)s could not be found." @@ -8104,7 +8093,7 @@ msgid "" "Volume Type %(volume_type_id)s deletion is not allowed with volumes present " "with the type." -msgstr "磁區類型 %(volume_type_id)s 刪除作業,不為該類型的磁區所接受。" +msgstr "磁區類型 %(volume_type_id)s 刪除作業不為該類型的磁區所接受。" #, python-format msgid "" @@ -8165,14 +8154,14 @@ msgstr "磁區驅動程式報告了錯誤:%(message)s" msgid "Volume has a temporary snapshot that can't be deleted at this time." -msgstr "磁區具有目前無法刪除的暫時 Snapshot。" +msgstr "磁區具有目前無法刪除的臨時 Snapshot。" msgid "Volume has children and cannot be deleted!" -msgstr "磁區具有子項,且無法予以刪除!" +msgstr "磁區具有子項,無法予以刪除!" #, python-format msgid "Volume in consistency group %s is attached. Need to detach first." -msgstr "已連接一致性群組 %s 中的磁區。需要先將其分離。" +msgstr "已連接一致性群組 %s 中的磁區。需要先將磁區分離。" msgid "Volume in consistency group still has dependent snapshots." msgstr "一致性群組中的磁區仍具有相依 Snapshot。" @@ -8206,10 +8195,10 @@ msgstr "磁區必須可用" msgid "Volume must be in the same availability zone as the snapshot" -msgstr "磁區和 Snapshot 必須位在同一個可用性區域中" +msgstr "磁區和 Snapshot 必須在同一個可用性區域中" msgid "Volume must be in the same availability zone as the source volume" -msgstr "磁區和來源磁區必須位在同一個可用性區域中" +msgstr "磁區和來源磁區必須在同一個可用性區域中" msgid "Volume must have a volume type" msgstr "磁區必須具有磁區類型" @@ -8268,7 +8257,7 @@ "Volume size %(volume_size)sGB cannot be smaller than the image minDisk size " "%(min_disk)sGB." msgstr "" -"磁區大小 %(volume_size)s GB 不能小於映像檔 minDisk 大小 %(min_disk)s GB。" +"磁區大小 %(volume_size)sGB 不能小於映像檔 minDisk 大小 %(min_disk)sGB。" #, python-format msgid "Volume size '%(size)s' must be an integer and greater than 0" @@ -8279,16 +8268,16 @@ "Volume size '%(size)s'GB cannot be smaller than original volume size " "%(source_size)sGB. They must be >= original volume size." msgstr "" -"磁區大小 '%(size)s' GB 不能小於原始磁區大小%(source_size)s GB。它們必須大於或" -"等於原始磁區大小。" +"磁區大小 '%(size)s'GB 不能小於原始磁區大小%(source_size)sGB。它們必須大於或等" +"於原始磁區大小。" #, python-format msgid "" "Volume size '%(size)s'GB cannot be smaller than the snapshot size " "%(snap_size)sGB. They must be >= original snapshot size." msgstr "" -"磁區大小 '%(size)s' GB 不能小於 Snapshot 大小%(snap_size)s GB。它們必須大於或" -"等於原始 Snapshot 大小。" +"磁區大小 '%(size)s'GB 不能小於 Snapshot 大小%(snap_size)sGB。它們必須大於或等" +"於原始 Snapshot 大小。" msgid "Volume size increased since the last backup. Do a full backup." msgstr "磁區大小自前次備份以來已增加。請執行完整備份。" @@ -8304,14 +8293,15 @@ #, python-format msgid "Volume status for volume must be available, but current status is: %s" -msgstr "磁區的磁區狀態必須為可用,但是現行狀態為:%s" +msgstr "磁區的磁區狀態必須為「可用」,但是現行狀態為:%s" msgid "Volume status is in-use." -msgstr "磁區狀態為使用中。" +msgstr "磁區狀態為「使用中」。" #, python-format msgid "Volume status must be \"available\" or \"in-use\" for snapshot. (is %s)" -msgstr "對於 Snapshot,磁區狀態必須為「可用」或「使用中」。(是 %s)" +msgstr "" +"對於 Snapshot,磁區狀態必須為「可用」或「使用中」。(磁區狀態目前是 %s)" msgid "Volume status must be \"available\" or \"in-use\"." msgstr "磁區狀態必須是「可用」或「使用中」。" @@ -8501,7 +8491,7 @@ "volume instance: %(target_volume)s, Return code: %(rc)lu, Error: " "%(errordesc)s." msgstr "" -"_create_local_cloned_volume,磁區名稱:%(volumename)s,來源磁區名稱:" +"_create_local_cloned_volume,儲存區名稱:%(volumename)s,來源磁區名稱:" "%(sourcevolumename)s,來源磁區實例:%(source_volume)s,目標磁區實例:" "%(target_volume)s,回覆碼:%(rc)lu,錯誤:%(errordesc)s。" @@ -8511,7 +8501,7 @@ " stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"_create_vdisk %(name)s - 在 CLI 輸出中找不到成功訊息。\n" +"_create_vdisk %(name)s - 在 CLI 輸出中未找到成功訊息。\n" " 標準輸出:%(out)s\n" " 標準錯誤:%(err)s" @@ -8625,8 +8615,8 @@ "_get_drvcfg, filename: %(filename)s, tagname: %(tagname)s, data is None!! " "Please edit driver configuration file and correct." msgstr "" -"_get_drvcfg,檔名:%(filename)s,標記名稱:%(tagname)s,資料為「無」!請編輯" -"驅動程式配置檔並更正。" +"_get_drvcfg,檔名:%(filename)s,標記名稱:%(tagname)s,無資料!請編輯驅動程" +"式配置檔並更正。" #, python-format msgid "" @@ -8640,14 +8630,14 @@ msgid "" "_get_eternus_iscsi_properties, iscsiip list: %(iscsiip_list)s, iqn not found." msgstr "" -"_get_eternus_iscsi_properties,ISCSI IP 清單:%(iscsiip_list)s,找不到 IQN。" +"_get_eternus_iscsi_properties,iscsiip 清單:%(iscsiip_list)s,找不到 IQN。" #, python-format msgid "" "_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, AssociatorNames: " "CIM_BindsTo, cannot connect to ETERNUS." msgstr "" -"_get_eternus_iscsi_properties,ISCSI IP:%(iscsiip)s,協助程式名稱:" +"_get_eternus_iscsi_properties,iscsiip:%(iscsiip)s,協助程式名稱:" "CIM_BindsTo,無法連接至 ETERNUS。" #, python-format @@ -8655,7 +8645,7 @@ "_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, EnumerateInstanceNames, " "cannot connect to ETERNUS." msgstr "" -"_get_eternus_iscsi_properties,ISCSI IP:%(iscsiip)s,列舉實例名稱,無法連接" +"_get_eternus_iscsi_properties,iscsiip:%(iscsiip)s,列舉實例名稱,無法連接" "至 ETERNUS。" #, python-format @@ -8663,7 +8653,7 @@ "_get_eternus_iscsi_properties, iscsiip: %(iscsiip)s, GetInstance, cannot " "connect to ETERNUS." msgstr "" -"_get_eternus_iscsi_properties,ISCSI IP:%(iscsiip)s,取得實例,無法連接至 " +"_get_eternus_iscsi_properties,iscsiip:%(iscsiip)s,取得實例,無法連接至 " "ETERNUS。" #, python-format @@ -8753,8 +8743,7 @@ "_get_vdisk_map_properties: No node found in I/O group %(gid)s for volume " "%(vol)s." msgstr "" -"_get_vdisk_map_properties:在下列磁區的 I/O 群組 %(gid)s 中找不到節點:" -"%(vol)s。" +"_get_vdisk_map_properties:在磁區 %(vol)s 的 I/O 群組 %(gid)s 中找不到節點。" #, python-format msgid "" @@ -8799,7 +8788,7 @@ "_wait_for_copy_complete, cpsession: %(cpsession)s, copysession state is " "BROKEN." msgstr "" -"_wait_for_copy_complete,cpsession:%(cpsession)s,copysession 狀態為 " +"_wait_for_copy_complete,cpsession:%(cpsession)s,複製階段作業狀態為 " "BROKEN。" #, python-format @@ -8837,7 +8826,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"備份:%(vol_id)s 無法建立從 %(vpath)s 到%(bpath)s 的裝置固定鏈結。\n" +"備份:%(vol_id)s 無法建立從 %(vpath)s 到 %(bpath)s 的裝置固定鏈結。\n" " 標準輸出:%(out)s\n" " 標準錯誤:%(err)s" @@ -8859,7 +8848,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"備份:%(vol_id)s 無法執行 dsmc,因為%(bpath)s 的裝置固定鏈結。\n" +"備份:%(vol_id)s 無法執行 dsmc,因為 %(bpath)s 的引數無效。\n" " 標準輸出:%(out)s\n" " 標準錯誤:%(err)s" @@ -9121,7 +9110,7 @@ msgstr "create_volume_from_snapshot:磁區大小與 Snapshot 型磁區不同。" msgid "deduplicated and auto tiering can't be both enabled." -msgstr "無法同時啟用已刪除的重複層級和自動層級。" +msgstr "無法同時啟用去除重複和自動分層。" #, python-format msgid "" @@ -9145,7 +9134,7 @@ #, python-format msgid "delete_initiator: %s ACL not found. Continuing." -msgstr "delete_initiator:找不到 %s。將繼續。" +msgstr "delete_initiator:找不到 %s ACL。將繼續。" msgid "delete_replication error." msgstr "delete_replication 錯誤。" @@ -9228,14 +9217,14 @@ "VDisk is already mapped to a host." msgstr "" "flashsystem_multihostmap_enabled 已設定為 False,不容許多重主機對映。" -"CMMVC6071E 未建立 VDisk 至主機的對映,因為VDisk 已對映至主機。" +"CMMVC6071E 未建立 VDisk 至主機的對映,因為 VDisk 已對映至主機。" msgid "flush() not supported in this version of librbd" msgstr "此版本的 librbd 中不支援 flush()" #, python-format msgid "fmt=%(fmt)s backed by: %(backing_file)s" -msgstr "fmt = %(fmt)s 受 %(backing_file)s 支援" +msgstr "fmt %(fmt)s 受 %(backing_file)s 支援" #, python-format msgid "fmt=%(fmt)s backed by:%(backing_file)s" @@ -9472,10 +9461,11 @@ "qemu-img is not installed and the disk format is not specified. Only RAW " "images can be used if qemu-img is not installed." msgstr "" -"未安裝 qemu-img,且未指定磁碟格式。如果未安裝qemu-img,則只能使用原始映像檔。" +"未安裝 qemu-img,且未指定磁碟格式。如果未安裝 qemu-img,則只能使用原始映像" +"檔。" msgid "rados and rbd python libraries not found" -msgstr "找不到 rados 及 rbd python 程式庫" +msgstr "找不到 rados 及 rbd Python 程式庫" #, python-format msgid "read_deleted can only be one of 'no', 'yes' or 'only', not %r" @@ -9503,7 +9493,7 @@ "stdout: %(out)s\n" " stderr: %(err)s" msgstr "" -"還原:%(vol_id)s 無法執行 dsmc,因為%(bpath)s 上的引數無效。\n" +"還原:%(vol_id)s 無法執行 dsmc,因為 %(bpath)s 上的引數無效。\n" " 標準輸出:%(out)s\n" " 標準錯誤:%(err)s" @@ -9530,7 +9520,8 @@ msgid "" "restore_backup aborted, actual object list does not match object list stored " "in metadata." -msgstr "restore_backup 已中斷,實際物件清單與meta 資料中儲存的物件清單不相符。" +msgstr "" +"restore_backup 已中斷,實際物件清單與 meta 資料中儲存的物件清單不相符。" msgid "root element selecting a list" msgstr "根元素正在選取一個清單" @@ -9570,7 +9561,7 @@ #, python-format msgid "snapshot-%s" -msgstr "snapshot-%s" +msgstr "Snapshot-%s" msgid "snapshots assigned" msgstr "已指派 Snapshot" @@ -9587,7 +9578,7 @@ msgstr "未抄寫來源磁區 ID:%s" msgid "source-name cannot be empty." -msgstr "source-name 不能是空的。" +msgstr "source-name 不能為空。" msgid "source-name format should be: 'vmdk_path@vm_inventory_path'." msgstr "source-name 格式應該是:'vmdk_path@vm_inventory_path'。" @@ -9606,7 +9597,7 @@ msgstr "子類別必須實作 construct()!" msgid "sudo failed, continuing as if nothing happened" -msgstr "sudo 失敗,正在繼續作業,就好像什麼都沒發生過" +msgstr "sudo 失敗,正在如常繼續作業" msgid "sync_hypermetro error." msgstr "sync_hypermetro 錯誤。" @@ -9627,7 +9618,7 @@ msgstr "在目的地主機上建立 new_volume 時發生逾時" msgid "too many body keys" -msgstr "主體金鑰太多" +msgstr "主體索引鍵太多" #, python-format msgid "umount: %s: not mounted" @@ -9698,11 +9689,11 @@ msgstr "磁區大小 %d 無效。" msgid "volume_type cannot be None" -msgstr "volume_type 不能為 None" +msgstr "volume_type 不能為 None" msgid "" "volume_type must be provided when creating a volume in a consistency group." -msgstr "在一致性群組中建立磁區時,必須提供volume_type。" +msgstr "在一致性群組中建立磁區時,必須提供 volume_type。" msgid "volume_type_id cannot be None" msgstr "volume_type_id 不能為 None" diff -Nru cinder-8.0.0/cinder/objects/backup.py cinder-8.1.0/cinder/objects/backup.py --- cinder-8.0.0/cinder/objects/backup.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/backup.py 2016-08-09 15:32:57.000000000 +0000 @@ -163,9 +163,6 @@ fields = { 'objects': fields.ListOfObjectsField('Backup'), } - child_versions = { - '1.0': '1.0' - } @base.remotable_classmethod def get_all(cls, context, filters=None, marker=None, limit=None, diff -Nru cinder-8.0.0/cinder/objects/base.py cinder-8.1.0/cinder/objects/base.py --- cinder-8.0.0/cinder/objects/base.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/base.py 2016-08-09 15:32:57.000000000 +0000 @@ -401,6 +401,17 @@ super(CinderObjectSerializer, self).__init__() self.version_cap = version_cap + # NOTE(geguileo): During upgrades we will use a manifest to ensure that + # all objects are properly backported. This allows us to properly + # backport child objects to the right version even if parent version + # has not been bumped. + if not version_cap or version_cap == OBJ_VERSIONS.get_current(): + self.manifest = None + else: + if version_cap not in OBJ_VERSIONS: + raise exception.CappedVersionUnknown(version=version_cap) + self.manifest = OBJ_VERSIONS[version_cap] + def _get_capped_obj_version(self, obj): objname = obj.obj_name() version_dict = OBJ_VERSIONS.get(self.version_cap, {}) @@ -426,5 +437,5 @@ callable(entity.obj_to_primitive)): # NOTE(dulek): Backport outgoing object to the capped version. backport_ver = self._get_capped_obj_version(entity) - entity = entity.obj_to_primitive(backport_ver) + entity = entity.obj_to_primitive(backport_ver, self.manifest) return entity diff -Nru cinder-8.0.0/cinder/objects/cgsnapshot.py cinder-8.1.0/cinder/objects/cgsnapshot.py --- cinder-8.0.0/cinder/objects/cgsnapshot.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/cgsnapshot.py 2016-08-09 15:32:57.000000000 +0000 @@ -127,9 +127,6 @@ fields = { 'objects': fields.ListOfObjectsField('CGSnapshot') } - child_version = { - '1.0': '1.0' - } @base.remotable_classmethod def get_all(cls, context, filters=None): diff -Nru cinder-8.0.0/cinder/objects/consistencygroup.py cinder-8.1.0/cinder/objects/consistencygroup.py --- cinder-8.0.0/cinder/objects/consistencygroup.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/consistencygroup.py 2016-08-09 15:32:57.000000000 +0000 @@ -143,10 +143,6 @@ fields = { 'objects': fields.ListOfObjectsField('ConsistencyGroup') } - child_version = { - '1.0': '1.0', - '1.1': '1.1', - } @base.remotable_classmethod def get_all(cls, context, filters=None, marker=None, limit=None, diff -Nru cinder-8.0.0/cinder/objects/service.py cinder-8.1.0/cinder/objects/service.py --- cinder-8.0.0/cinder/objects/service.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/service.py 2016-08-09 15:32:57.000000000 +0000 @@ -142,10 +142,6 @@ fields = { 'objects': fields.ListOfObjectsField('Service'), } - child_versions = { - '1.0': '1.0', - '1.1': '1.2', - } @base.remotable_classmethod def get_all(cls, context, filters=None): diff -Nru cinder-8.0.0/cinder/objects/snapshot.py cinder-8.1.0/cinder/objects/snapshot.py --- cinder-8.0.0/cinder/objects/snapshot.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/snapshot.py 2016-08-09 15:32:57.000000000 +0000 @@ -225,9 +225,6 @@ fields = { 'objects': fields.ListOfObjectsField('Snapshot'), } - child_versions = { - '1.0': '1.0' - } @base.remotable_classmethod def get_all(cls, context, search_opts, marker=None, limit=None, diff -Nru cinder-8.0.0/cinder/objects/volume_attachment.py cinder-8.1.0/cinder/objects/volume_attachment.py --- cinder-8.0.0/cinder/objects/volume_attachment.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/volume_attachment.py 2016-08-09 15:32:57.000000000 +0000 @@ -71,10 +71,6 @@ 'objects': fields.ListOfObjectsField('VolumeAttachment'), } - child_versions = { - '1.0': '1.0', - } - @base.remotable_classmethod def get_all_by_volume_id(cls, context, volume_id): attachments = db.volume_attachment_get_used_by_volume_id(context, diff -Nru cinder-8.0.0/cinder/objects/volume.py cinder-8.1.0/cinder/objects/volume.py --- cinder-8.0.0/cinder/objects/volume.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/objects/volume.py 2016-08-09 15:32:57.000000000 +0000 @@ -395,7 +395,7 @@ # end of migration because we want to keep the original volume id # in the DB but now pointing to the migrated volume. skip = ({'id', 'provider_location', 'glance_metadata', - 'volume_type_id', 'volume_type'} | set(self.obj_extra_fields)) + 'volume_type'} | set(self.obj_extra_fields)) for key in set(dest_volume.fields.keys()) - skip: # Only swap attributes that are already set. We do not want to # unexpectedly trigger a lazy-load. @@ -418,6 +418,14 @@ value_to_dst = 'migration src for ' + self.id elif key == 'status': value_to_dst = 'deleting' + # Because dest_volume will be deleted soon, we can + # skip to copy volume_type_id and volume_type which + # are not keys for volume deletion. + elif key == 'volume_type_id': + # Initialize volume_type of source volume using + # new volume_type_id. + self.update({'volume_type_id': value}) + continue setattr(self, key, value) setattr(dest_volume, key, value_to_dst) @@ -434,11 +442,6 @@ 'objects': fields.ListOfObjectsField('Volume'), } - child_versions = { - '1.0': '1.0', - '1.1': '1.1', - } - @classmethod def _get_expected_attrs(cls, context): expected_attrs = ['metadata', 'volume_type'] diff -Nru cinder-8.0.0/cinder/objects/volume_type.py cinder-8.1.0/cinder/objects/volume_type.py --- cinder-8.0.0/cinder/objects/volume_type.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/objects/volume_type.py 2016-08-09 15:32:57.000000000 +0000 @@ -108,11 +108,6 @@ 'objects': fields.ListOfObjectsField('VolumeType'), } - child_versions = { - '1.0': '1.0', - '1.1': '1.0', - } - @base.remotable_classmethod def get_all(cls, context, inactive=0, filters=None, marker=None, limit=None, sort_keys=None, sort_dirs=None, offset=None): diff -Nru cinder-8.0.0/cinder/quota_utils.py cinder-8.1.0/cinder/quota_utils.py --- cinder-8.0.0/cinder/quota_utils.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/quota_utils.py 2016-08-09 15:32:57.000000000 +0000 @@ -38,12 +38,14 @@ def __init__(self, project_id, project_keystone_api_version, project_parent_id=None, project_subtree=None, - project_parent_tree=None): + project_parent_tree=None, + is_admin_project=False): self.id = project_id self.keystone_api_version = project_keystone_api_version self.parent_id = project_parent_id self.subtree = project_subtree self.parents = project_parent_tree + self.is_admin_project = is_admin_project def get_volume_type_reservation(ctxt, volume, type_id, @@ -118,7 +120,7 @@ def get_project_hierarchy(context, project_id, subtree_as_ids=False, - parents_as_ids=False): + parents_as_ids=False, is_admin_project=False): """A Helper method to get the project hierarchy. Along with hierarchical multitenancy in keystone API v3, projects can be @@ -146,6 +148,8 @@ if parents_as_ids: generic_project.parents = _filter_domain_id_from_parents( project.domain_id, project.parents) + + generic_project.is_admin_project = is_admin_project except exceptions.NotFound: msg = (_("Tenant ID: %s does not exist.") % project_id) raise webob.exc.HTTPNotFound(explanation=msg) @@ -255,6 +259,9 @@ auth_url=CONF.keystone_authtoken.auth_uri, token=context.auth_token, project_id=context.project_id) - client_session = session.Session(auth=auth_plugin) + client_session = session.Session(auth=auth_plugin, + verify=False if + CONF.keystone_authtoken.insecure else + (CONF.keystone_authtoken.cafile or True)) return client.Client(auth_url=CONF.keystone_authtoken.auth_uri, session=client_session, version=version) diff -Nru cinder-8.0.0/cinder/rpc.py cinder-8.1.0/cinder/rpc.py --- cinder-8.0.0/cinder/rpc.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/rpc.py 2016-08-09 15:32:57.000000000 +0000 @@ -202,6 +202,10 @@ # NOTE(dulek): This means that one of the services is Liberty, # we should cap to it's RPC version. version_cap = LIBERTY_RPC_VERSIONS[self.BINARY] + elif not version_cap: + # If there is no service we assume they will come up later and will + # have the same version as we do. + version_cap = self.RPC_API_VERSION LOG.info(_LI('Automatically selected %(binary)s RPC version ' '%(version)s as minimum service version.'), {'binary': self.BINARY, 'version': version_cap}) @@ -215,6 +219,10 @@ version_cap = objects.Service.get_minimum_obj_version( cinder.context.get_admin_context(), self.BINARY) + # If there is no service we assume they will come up later and will + # have the same version as we do. + if not version_cap: + version_cap = base.OBJ_VERSIONS.get_current() LOG.info(_LI('Automatically selected %(binary)s objects version ' '%(version)s as minimum service version.'), {'binary': self.BINARY, 'version': version_cap}) diff -Nru cinder-8.0.0/cinder/service.py cinder-8.1.0/cinder/service.py --- cinder-8.0.0/cinder/service.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/service.py 2016-08-09 15:32:57.000000000 +0000 @@ -129,6 +129,22 @@ if CONF.profiler.enabled: manager_class = profiler.trace_cls("rpc")(manager_class) + # NOTE(geguileo): We need to create the Service DB entry before we + # create the manager, otherwise capped versions for serializer and rpc + # client would used existing DB entries not including us, which could + # result in us using None (if it's the first time the service is run) + # or an old version (if this is a normal upgrade of a single service). + ctxt = context.get_admin_context() + try: + service_ref = objects.Service.get_by_args(ctxt, host, binary) + service_ref.rpc_current_version = manager_class.RPC_API_VERSION + obj_version = objects_base.OBJ_VERSIONS.get_current() + service_ref.object_current_version = obj_version + service_ref.save() + self.service_id = service_ref.id + except exception.NotFound: + self._create_service_ref(ctxt, manager_class.RPC_API_VERSION) + self.manager = manager_class(host=self.host, service_name=service_name, *args, **kwargs) @@ -148,17 +164,6 @@ {'topic': self.topic, 'version_string': version_string}) self.model_disconnected = False self.manager.init_host() - ctxt = context.get_admin_context() - try: - service_ref = objects.Service.get_by_args( - ctxt, self.host, self.binary) - service_ref.rpc_current_version = self.manager.RPC_API_VERSION - obj_version = objects_base.OBJ_VERSIONS.get_current() - service_ref.object_current_version = obj_version - service_ref.save() - self.service_id = service_ref.id - except exception.NotFound: - self._create_service_ref(ctxt) LOG.debug("Creating RPC server for service %s", self.topic) @@ -207,7 +212,7 @@ 'new_down_time': new_down_time}) CONF.set_override('service_down_time', new_down_time) - def _create_service_ref(self, context): + def _create_service_ref(self, context, rpc_version=None): zone = CONF.storage_availability_zone kwargs = { 'host': self.host, @@ -215,7 +220,7 @@ 'topic': self.topic, 'report_count': 0, 'availability_zone': zone, - 'rpc_current_version': self.manager.RPC_API_VERSION, + 'rpc_current_version': rpc_version or self.manager.RPC_API_VERSION, 'object_current_version': objects_base.OBJ_VERSIONS.get_current(), } service_ref = objects.Service(context=context, **kwargs) diff -Nru cinder-8.0.0/cinder/test.py cinder-8.1.0/cinder/test.py --- cinder-8.0.0/cinder/test.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/test.py 2016-08-09 15:32:57.000000000 +0000 @@ -101,29 +101,6 @@ os.path.join(CONF.state_path, self.sqlite_db)) -def _patch_mock_to_raise_for_invalid_assert_calls(): - def raise_for_invalid_assert_calls(wrapped): - def wrapper(_self, name): - valid_asserts = [ - 'assert_called_with', - 'assert_called_once_with', - 'assert_has_calls', - 'assert_any_call'] - - if name.startswith('assert') and name not in valid_asserts: - raise AttributeError('%s is not a valid mock assert method' - % name) - - return wrapped(_self, name) - return wrapper - mock.Mock.__getattr__ = raise_for_invalid_assert_calls( - mock.Mock.__getattr__) - -# NOTE(gibi): needs to be called only once at import time -# to patch the mock lib -_patch_mock_to_raise_for_invalid_assert_calls() - - class TestCase(testtools.TestCase): """Test case base class for all unit tests.""" diff -Nru cinder-8.0.0/cinder/tests/unit/api/contrib/test_admin_actions.py cinder-8.1.0/cinder/tests/unit/api/contrib/test_admin_actions.py --- cinder-8.0.0/cinder/tests/unit/api/contrib/test_admin_actions.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/api/contrib/test_admin_actions.py 2016-08-09 15:32:57.000000000 +0000 @@ -81,6 +81,13 @@ cast_as_call.mock_cast_as_call(self.volume_api.volume_rpcapi.client) cast_as_call.mock_cast_as_call(self.volume_api.scheduler_rpcapi.client) + # start service to handle rpc messages for attach requests + self.svc = self.start_service('volume', host='test') + + def tearDown(self): + self.svc.stop() + super(AdminActionsTest, self).tearDown() + def _issue_volume_reset(self, ctx, volume, updated_status): req = webob.Request.blank('/v2/fake/volumes/%s/action' % volume['id']) req.method = 'POST' @@ -311,20 +318,48 @@ 'missing-volume-id') def test_reset_attached_status(self): - volume = db.volume_create(self.ctx, - {'status': 'available', 'host': 'test', - 'provider_location': '', 'size': 1, - 'attach_status': 'attached'}) + # current status is available + volume = self._create_volume(self.ctx, {'provider_location': '', + 'size': 1}) + self.volume_api.reserve_volume(self.ctx, volume) + mountpoint = '/dev/vdb' + attachment = self.volume_api.attach(self.ctx, volume, stubs.FAKE_UUID, + None, mountpoint, 'rw') + # volume is attached + volume = db.volume_get(self.ctx.elevated(), volume['id']) + attachment = db.volume_attachment_get(self.ctx, attachment['id']) + self.assertEqual('in-use', volume['status']) + self.assertEqual('attached', volume['attach_status']) + self.assertEqual(stubs.FAKE_UUID, attachment['instance_uuid']) + self.assertEqual(mountpoint, attachment['mountpoint']) + self.assertEqual('attached', attachment['attach_status']) + admin_metadata = volume['volume_admin_metadata'] + self.assertEqual(2, len(admin_metadata)) + self.assertEqual('readonly', admin_metadata[0]['key']) + self.assertEqual('False', admin_metadata[0]['value']) + self.assertEqual('attached_mode', admin_metadata[1]['key']) + self.assertEqual('rw', admin_metadata[1]['value']) + + # Reset attach_status resp = self._issue_volume_reset(self.ctx, volume, {'status': 'available', 'attach_status': 'detached'}) - + # request is accepted self.assertEqual(202, resp.status_int) + + # volume is detached volume = db.volume_get(self.ctx, volume['id']) self.assertEqual('detached', volume['attach_status']) self.assertEqual('available', volume['status']) + admin_metadata = volume['volume_admin_metadata'] + self.assertEqual(1, len(admin_metadata)) + self.assertEqual('readonly', admin_metadata[0]['key']) + self.assertEqual('False', admin_metadata[0]['value']) + self.assertRaises(exception.VolumeAttachmentNotFound, + db.volume_attachment_get, + self.ctx, attachment['id']) def test_invalid_reset_attached_status(self): volume = db.volume_create(self.ctx, diff -Nru cinder-8.0.0/cinder/tests/unit/api/contrib/test_quotas.py cinder-8.1.0/cinder/tests/unit/api/contrib/test_quotas.py --- cinder-8.0.0/cinder/tests/unit/api/contrib/test_quotas.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/api/contrib/test_quotas.py 2016-08-09 15:32:57.000000000 +0000 @@ -32,9 +32,9 @@ from cinder import exception from cinder import quota from cinder import test +from cinder.tests.unit import fake_constants as fake from cinder.tests.unit import test_db_api -from keystonemiddleware import auth_token from oslo_config import cfg from oslo_config import fixture as config_fixture @@ -81,11 +81,13 @@ class FakeProject(object): - def __init__(self, id='foo', parent_id=None): + def __init__(self, id=fake.project_id, parent_id=None, + is_admin_project=False): self.id = id self.parent_id = parent_id self.subtree = None self.parents = None + self.is_admin_project = is_admin_project def setUp(self): super(QuotaSetsControllerTestBase, self).setUp() @@ -114,7 +116,7 @@ self.addCleanup(list_patcher.stop) self.auth_url = 'http://localhost:5000' - self.fixture = self.useFixture(config_fixture.Config(auth_token.CONF)) + self.fixture = self.useFixture(config_fixture.Config(CONF)) self.fixture.config(auth_uri=self.auth_url, group='keystone_authtoken') def _create_project_hierarchy(self): @@ -149,7 +151,7 @@ self.C.id: self.C, self.D.id: self.D} def _get_project(self, context, id, subtree_as_ids=False, - parents_as_ids=False): + parents_as_ids=False, is_admin_project=False): return self.project_by_id.get(id, self.FakeProject()) def _create_fake_quota_usages(self, usage_map): @@ -605,6 +607,15 @@ expected = make_subproject_body(tenant_id=self.D.id) self.assertDictMatch(expected, result) + def test_subproject_show_not_in_hierarchy_admin_context(self): + E = self.FakeProject(id=uuid.uuid4().hex, parent_id=None, + is_admin_project=True) + self.project_by_id[E.id] = E + self.req.environ['cinder.context'].project_id = E.id + result = self.controller.show(self.req, self.B.id) + expected = make_subproject_body(tenant_id=self.B.id) + self.assertDictMatch(expected, result) + def test_subproject_show_target_project_equals_to_context_project( self): self.req.environ['cinder.context'].project_id = self.B.id @@ -642,6 +653,27 @@ self.assertRaises(webob.exc.HTTPForbidden, self.controller.update, self.req, F.id, body) + def test_update_subproject_not_in_hierarchy_admin_context(self): + E = self.FakeProject(id=uuid.uuid4().hex, parent_id=None, + is_admin_project=True) + self.project_by_id[E.id] = E + self.req.environ['cinder.context'].project_id = E.id + body = make_body(gigabytes=2000, snapshots=15, + volumes=5, backups=5, tenant_id=None) + # Update the project A quota, not in the project hierarchy + # of E but it will be allowed because E is the cloud admin. + result = self.controller.update(self.req, self.A.id, body) + self.assertDictMatch(body, result) + # Update the quota of B to be equal to its parent A. + result = self.controller.update(self.req, self.B.id, body) + self.assertDictMatch(body, result) + # Remove the admin role from project E + E.is_admin_project = False + # Now updating the quota of B will fail, because it is not + # a member of E's hierarchy and E is no longer a cloud admin. + self.assertRaises(webob.exc.HTTPForbidden, + self.controller.update, self.req, self.B.id, body) + def test_update_subproject(self): # Update the project A quota. self.req.environ['cinder.context'].project_id = self.A.id diff -Nru cinder-8.0.0/cinder/tests/unit/api/contrib/test_snapshot_manage.py cinder-8.1.0/cinder/tests/unit/api/contrib/test_snapshot_manage.py --- cinder-8.0.0/cinder/tests/unit/api/contrib/test_snapshot_manage.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/api/contrib/test_snapshot_manage.py 2016-08-09 15:32:57.000000000 +0000 @@ -96,7 +96,10 @@ # Check the create_snapshot_in_db was called with correct arguments. self.assertEqual(1, mock_create_snapshot.call_count) args = mock_create_snapshot.call_args[0] + named_args = mock_create_snapshot.call_args[1] self.assertEqual('fake_volume_id', args[1].get('id')) + # We should commit quota in cinder-volume layer for this operation. + self.assertFalse(named_args['commit_quota']) # Check the volume_rpcapi.manage_existing_snapshot was called with # correct arguments. diff -Nru cinder-8.0.0/cinder/tests/unit/api/contrib/test_volume_actions.py cinder-8.1.0/cinder/tests/unit/api/contrib/test_volume_actions.py --- cinder-8.0.0/cinder/tests/unit/api/contrib/test_volume_actions.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/api/contrib/test_volume_actions.py 2016-08-09 15:32:57.000000000 +0000 @@ -667,6 +667,20 @@ id, body) + def test_copy_volume_to_image_invalid_disk_format(self): + id = 'aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee' + vol = {"container_format": 'bare', + "disk_format": 'iso', + "image_name": 'image_name', + "force": True} + body = {"os-volume_upload_image": vol} + req = fakes.HTTPRequest.blank('/v2/tenant1/volumes/%s/action' % id) + self.assertRaises(webob.exc.HTTPBadRequest, + self.controller._volume_upload_image, + req, + id, + body) + def test_copy_volume_to_image_valueerror(self): def stub_upload_volume_to_image_service_raise(self, context, volume, metadata, force): diff -Nru cinder-8.0.0/cinder/tests/unit/api/contrib/test_volume_image_metadata.py cinder-8.1.0/cinder/tests/unit/api/contrib/test_volume_image_metadata.py --- cinder-8.0.0/cinder/tests/unit/api/contrib/test_volume_image_metadata.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/api/contrib/test_volume_image_metadata.py 2016-08-09 15:32:57.000000000 +0000 @@ -61,6 +61,10 @@ return objects.VolumeList(objects=[fake_volume_api_get()]) +def fake_volume_get_all_empty(*args, **kwargs): + return objects.VolumeList(objects=[]) + + fake_image_metadata = { 'image_id': 'someid', 'image_name': 'fake', @@ -150,6 +154,18 @@ self.assertEqual(fake_image_metadata, self._get_image_metadata_list(res.body)[0]) + def test_list_detail_empty_volumes(self): + def fake_dont_call_this(*args, **kwargs): + fake_dont_call_this.called = True + fake_dont_call_this.called = False + self.stubs.Set(volume.api.API, 'get_list_volumes_image_metadata', + fake_dont_call_this) + self.stubs.Set(volume.api.API, 'get_all', fake_volume_get_all_empty) + + res = self._make_request('/v2/fake/volumes/detail') + self.assertEqual(200, res.status_int) + self.assertFalse(fake_dont_call_this.called) + def test_list_detail_volumes_with_limit(self): ctxt = context.get_admin_context() db.volume_create(ctxt, {'id': 'fake', 'status': 'available', diff -Nru cinder-8.0.0/cinder/tests/unit/fake_hpe_client_exceptions.py cinder-8.1.0/cinder/tests/unit/fake_hpe_client_exceptions.py --- cinder-8.0.0/cinder/tests/unit/fake_hpe_client_exceptions.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/fake_hpe_client_exceptions.py 2016-08-09 15:32:57.000000000 +0000 @@ -73,19 +73,21 @@ return formatted_string -class HTTPConflict(Exception): +class HTTPConflict(ClientException): http_status = 409 message = "Conflict" def __init__(self, error=None): - if error and 'message' in error: - self._error_desc = error['message'] + if error: + super(HTTPConflict, self).__init__(error) + if 'message' in error: + self._error_desc = error['message'] def get_description(self): return self._error_desc -class HTTPNotFound(Exception): +class HTTPNotFound(ClientException): http_status = 404 message = "Not found" @@ -95,12 +97,12 @@ message = "Forbidden" -class HTTPBadRequest(Exception): +class HTTPBadRequest(ClientException): http_status = 400 message = "Bad request" -class HTTPServerError(Exception): +class HTTPServerError(ClientException): http_status = 500 message = "Error" diff -Nru cinder-8.0.0/cinder/tests/unit/fake_objects.py cinder-8.1.0/cinder/tests/unit/fake_objects.py --- cinder-8.0.0/cinder/tests/unit/fake_objects.py 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/fake_objects.py 2016-08-09 15:32:54.000000000 +0000 @@ -0,0 +1,81 @@ +# Copyright (c) 2016 Red Hat Inc. +# Copyright (c) 2016 Intel Corp. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from oslo_utils import versionutils + +from cinder import objects + + +@objects.base.CinderObjectRegistry.register_if(False) +class ChildObject(objects.base.CinderObject): + VERSION = '1.2' + + fields = { + 'scheduled_at': objects.base.fields.DateTimeField(nullable=True), + 'uuid': objects.base.fields.UUIDField(), + 'text': objects.base.fields.StringField(nullable=True), + 'integer': objects.base.fields.IntegerField(nullable=True), + } + + def obj_make_compatible(self, primitive, target_version): + super(ChildObject, self).obj_make_compatible(primitive, + target_version) + target_version = versionutils.convert_version_to_tuple(target_version) + if target_version < (1, 1): + primitive.pop('text', None) + if target_version < (1, 2): + primitive.pop('integer', None) + + +@objects.base.CinderObjectRegistry.register_if(False) +class ParentObject(objects.base.CinderObject): + VERSION = '1.1' + + fields = { + 'uuid': objects.base.fields.UUIDField(), + 'child': objects.base.fields.ObjectField('ChildObject', nullable=True), + 'scheduled_at': objects.base.fields.DateTimeField(nullable=True), + } + + def obj_make_compatible(self, primitive, target_version): + super(ParentObject, self).obj_make_compatible(primitive, + target_version) + target_version = versionutils.convert_version_to_tuple(target_version) + if target_version < (1, 1): + primitive.pop('scheduled_at', None) + + +@objects.base.CinderObjectRegistry.register_if(False) +class ParentObjectList(objects.base.CinderObject, objects.base.ObjectListBase): + VERSION = ParentObject.VERSION + + fields = { + 'objects': objects.base.fields.ListOfObjectsField('ParentObject'), + } + + +class MyHistory(objects.base.CinderObjectVersionsHistory): + linked_objects = {'ParentObject': 'ParentObjectList'} + + def __init__(self): + self.versions = ['1.0'] + self['1.0'] = {'ChildObject': '1.0'} + self.add('1.1', {'ChildObject': '1.1'}) + self.add('1.2', {'ParentObject': '1.0'}) + self.add('1.3', {'ParentObjectList': '1.0'}) + self.add('1.4', {'ParentObject': '1.1'}) + self.add('1.5', {'ParentObjectList': '1.1'}) + self.add('1.6', {'ChildObject': '1.2'}) diff -Nru cinder-8.0.0/cinder/tests/unit/image/test_cache.py cinder-8.1.0/cinder/tests/unit/image/test_cache.py --- cinder-8.0.0/cinder/tests/unit/image/test_cache.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/image/test_cache.py 2016-08-09 15:32:54.000000000 +0000 @@ -144,7 +144,8 @@ self.assertEqual(image_id, msg['payload']['image_id']) self.assertEqual(1, len(self.notifier.notifications)) - def test_get_entry_needs_update(self): + @mock.patch('cinder.objects.Volume.get_by_id') + def test_get_entry_needs_update(self, mock_volume_by_id): cache = self._build_cache() entry = self._build_entry() volume_ref = { @@ -160,8 +161,9 @@ } (self.mock_db. image_volume_cache_get_and_update_last_used.return_value) = entry - mock_volume = mock.Mock() - self.mock_db.volume_get.return_value = mock_volume + + mock_volume = mock.MagicMock() + mock_volume_by_id.return_value = mock_volume found_entry = cache.get_entry(self.context, volume_ref, diff -Nru cinder-8.0.0/cinder/tests/unit/image/test_glance.py cinder-8.1.0/cinder/tests/unit/image/test_glance.py --- cinder-8.0.0/cinder/tests/unit/image/test_glance.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/image/test_glance.py 2016-08-09 15:32:57.000000000 +0000 @@ -223,6 +223,25 @@ self.assertEqual('test image', image_metas[0]['name']) self.assertFalse(image_metas[0]['is_public']) + def test_detail_v1(self): + """Confirm we send is_public = None as default when using Glance v1.""" + self.override_config('glance_api_version', 1) + with mock.patch.object(self.service, '_client') as client_mock: + client_mock.return_value = [] + result = self.service.detail(self.context) + self.assertListEqual([], result) + client_mock.call.assert_called_once_with(self.context, 'list', + filters={'is_public': 'none'}) + + def test_detail_v2(self): + """Check we don't send is_public key by default with Glance v2.""" + self.override_config('glance_api_version', 2) + with mock.patch.object(self.service, '_client') as client_mock: + client_mock.return_value = [] + result = self.service.detail(self.context) + self.assertListEqual([], result) + client_mock.call.assert_called_once_with(self.context, 'list') + def test_detail_marker(self): fixtures = [] ids = [] diff -Nru cinder-8.0.0/cinder/tests/unit/objects/test_base.py cinder-8.1.0/cinder/tests/unit/objects/test_base.py --- cinder-8.0.0/cinder/tests/unit/objects/test_base.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/objects/test_base.py 2016-08-09 15:32:57.000000000 +0000 @@ -13,47 +13,30 @@ # under the License. import datetime -import mock import uuid from iso8601 import iso8601 -from oslo_utils import versionutils +import mock from oslo_versionedobjects import fields from sqlalchemy import sql from cinder import context from cinder import db from cinder.db.sqlalchemy import models +from cinder import exception from cinder import objects from cinder import test from cinder.tests.unit import fake_constants as fake +from cinder.tests.unit import fake_objects from cinder.tests.unit import objects as test_objects -@objects.base.CinderObjectRegistry.register_if(False) -class TestObject(objects.base.CinderObject): - VERSION = '1.1' - - fields = { - 'scheduled_at': objects.base.fields.DateTimeField(nullable=True), - 'uuid': objects.base.fields.UUIDField(), - 'text': objects.base.fields.StringField(nullable=True), - } - - def obj_make_compatible(self, primitive, target_version): - super(TestObject, self).obj_make_compatible(primitive, - target_version) - target_version = versionutils.convert_version_to_tuple(target_version) - if target_version < (1, 1): - primitive.pop('text', None) - - class TestCinderObject(test_objects.BaseObjectsTestCase): """Tests methods from CinderObject.""" def setUp(self): super(TestCinderObject, self).setUp() - self.obj = TestObject( + self.obj = fake_objects.ChildObject( scheduled_at=None, uuid=uuid.uuid4(), text='text') @@ -609,21 +592,107 @@ self.assertFalse('def' in obj) -@mock.patch('cinder.objects.base.OBJ_VERSIONS', {'1.0': {'TestObject': '1.0'}, - '1.1': {'TestObject': '1.1'}, - }) +@mock.patch('cinder.objects.base.OBJ_VERSIONS', fake_objects.MyHistory()) class TestCinderObjectSerializer(test_objects.BaseObjectsTestCase): def setUp(self): super(TestCinderObjectSerializer, self).setUp() - self.obj = TestObject(scheduled_at=None, uuid=uuid.uuid4(), - text='text') - - def test_serialize_entity_backport(self): - serializer = objects.base.CinderObjectSerializer('1.0') - primitive = serializer.serialize_entity(self.context, self.obj) - self.assertEqual('1.0', primitive['versioned_object.version']) + self.obj = fake_objects.ChildObject(scheduled_at=None, + uuid=uuid.uuid4(), + text='text', + integer=1) + self.parent = fake_objects.ParentObject(uuid=uuid.uuid4(), + child=self.obj, + scheduled_at=None) + self.parent_list = fake_objects.ParentObjectList(objects=[self.parent]) + + def test_serialize_init_current_has_no_manifest(self): + """Test that pinned to current version we have no manifest.""" + serializer = objects.base.CinderObjectSerializer('1.6') + # Serializer should not have a manifest + self.assertIsNone(serializer.manifest) + + def test_serialize_init_no_cap_has_no_manifest(self): + """Test that without cap we have no manifest.""" + serializer = objects.base.CinderObjectSerializer() + # Serializer should not have a manifest + self.assertIsNone(serializer.manifest) + + def test_serialize_init_pinned_has_manifest(self): + """Test that pinned to older version we have manifest.""" + objs_version = '1.5' + serializer = objects.base.CinderObjectSerializer(objs_version) + # Serializer should have the right manifest + self.assertDictEqual(fake_objects.MyHistory()[objs_version], + serializer.manifest) def test_serialize_entity_unknown_version(self): - serializer = objects.base.CinderObjectSerializer('0.9') + """Test that bad cap version will prevent serializer creation.""" + self.assertRaises(exception.CappedVersionUnknown, + objects.base.CinderObjectSerializer, '0.9') + + def test_serialize_entity_basic_no_backport(self): + """Test single element serializer with no backport.""" + serializer = objects.base.CinderObjectSerializer('1.6') + primitive = serializer.serialize_entity(self.context, self.obj) + self.assertEqual('1.2', primitive['versioned_object.version']) + data = primitive['versioned_object.data'] + self.assertEqual(1, data['integer']) + self.assertEqual('text', data['text']) + + def test_serialize_entity_basic_backport(self): + """Test single element serializer with backport.""" + serializer = objects.base.CinderObjectSerializer('1.5') primitive = serializer.serialize_entity(self.context, self.obj) self.assertEqual('1.1', primitive['versioned_object.version']) + data = primitive['versioned_object.data'] + self.assertNotIn('integer', data) + self.assertEqual('text', data['text']) + + def test_serialize_entity_full_no_backport(self): + """Test related elements serialization with no backport.""" + serializer = objects.base.CinderObjectSerializer('1.6') + primitive = serializer.serialize_entity(self.context, self.parent_list) + self.assertEqual('1.1', primitive['versioned_object.version']) + parent = primitive['versioned_object.data']['objects'][0] + self.assertEqual('1.1', parent['versioned_object.version']) + child = parent['versioned_object.data']['child'] + self.assertEqual('1.2', child['versioned_object.version']) + + def test_serialize_entity_full_backport_last_children(self): + """Test related elements serialization with backport of the last child. + + Test that using the manifest we properly backport a child object even + when all its parents have not changed their version. + """ + serializer = objects.base.CinderObjectSerializer('1.5') + primitive = serializer.serialize_entity(self.context, self.parent_list) + self.assertEqual('1.1', primitive['versioned_object.version']) + parent = primitive['versioned_object.data']['objects'][0] + self.assertEqual('1.1', parent['versioned_object.version']) + # Only the child has been backported + child = parent['versioned_object.data']['child'] + self.assertEqual('1.1', child['versioned_object.version']) + # Check that the backport has been properly done + data = child['versioned_object.data'] + self.assertNotIn('integer', data) + self.assertEqual('text', data['text']) + + def test_serialize_entity_full_backport(self): + """Test backport of the whole tree of related elements.""" + serializer = objects.base.CinderObjectSerializer('1.3') + primitive = serializer.serialize_entity(self.context, self.parent_list) + # List has been backported + self.assertEqual('1.0', primitive['versioned_object.version']) + parent = primitive['versioned_object.data']['objects'][0] + # Parent has been backported as well + self.assertEqual('1.0', parent['versioned_object.version']) + # And the backport has been properly done + data = parent['versioned_object.data'] + self.assertNotIn('scheduled_at', data) + # And child as well + child = parent['versioned_object.data']['child'] + self.assertEqual('1.1', child['versioned_object.version']) + # Check that the backport has been properly done + data = child['versioned_object.data'] + self.assertNotIn('integer', data) + self.assertEqual('text', data['text']) diff -Nru cinder-8.0.0/cinder/tests/unit/objects/test_objects.py cinder-8.1.0/cinder/tests/unit/objects/test_objects.py --- cinder-8.0.0/cinder/tests/unit/objects/test_objects.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/objects/test_objects.py 2016-08-09 15:32:57.000000000 +0000 @@ -24,21 +24,21 @@ object_data = { 'Backup': '1.4-cae44fe34d5a870110ba93adebc1edca', 'BackupImport': '1.4-cae44fe34d5a870110ba93adebc1edca', - 'BackupList': '1.0-24591dabe26d920ce0756fe64cd5f3aa', + 'BackupList': '1.0-7350483276ddb74960c8c39b69192eaa', 'CGSnapshot': '1.0-78b91e76cb4c56e9cf5c9c41e208c05a', 'CGSnapshotList': '1.0-e8c3f4078cd0ee23487b34d173eec776', 'ConsistencyGroup': '1.2-3aeb6b25664057e8078bd6d45bf23e0a', 'ConsistencyGroupList': '1.1-73916823b697dfa0c7f02508d87e0f28', 'Service': '1.3-66c8e1683f58546c54551e9ff0a3b111', - 'ServiceList': '1.1-cb758b200f0a3a90efabfc5aa2ffb627', + 'ServiceList': '1.1-07d2be494d704784ad2af4d4c91e68e5', 'Snapshot': '1.0-404c1a8b48a808aa0b7cc92cd3ec1e57', - 'SnapshotList': '1.0-71661e7180ef6cc51501704a9bea4bf1', + 'SnapshotList': '1.0-58441afd20ddf9417b8879aa6de1ee6f', 'Volume': '1.3-264388ec57bc4c3353c89f93bebf9482', + 'VolumeList': '1.1-8859f973dc02e9eb4582063a171bd0f1', 'VolumeAttachment': '1.0-8fc9a9ac6f554fdf2a194d25dbf28a3b', - 'VolumeAttachmentList': '1.0-307d2b6c8dd55ef854f6386898e9e98e', - 'VolumeList': '1.1-03ba6cb8c546683e64e15c50042cb1a3', + 'VolumeAttachmentList': '1.0-4ef79b3824e5d1717ebe0d0558ddff96', 'VolumeType': '1.0-dd980cfd1eef2dcce941a981eb469fc8', - 'VolumeTypeList': '1.1-8a1016c03570dc13b9a33fe04a6acb2c', + 'VolumeTypeList': '1.1-68a4549e98563caec82a2018638fa69c', } diff -Nru cinder-8.0.0/cinder/tests/unit/objects/test_volume.py cinder-8.1.0/cinder/tests/unit/objects/test_volume.py --- cinder-8.0.0/cinder/tests/unit/objects/test_volume.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/objects/test_volume.py 2016-08-09 15:32:57.000000000 +0000 @@ -378,8 +378,7 @@ # finish_volume_migration ignore_keys = ('id', 'provider_location', '_name_id', 'migration_status', 'display_description', 'status', - 'volume_type_id', 'volume_glance_metadata', - 'volume_type') + 'volume_glance_metadata', 'volume_type') dest_vol_dict = {k: updated_dest_volume[k] for k in updated_dest_volume.keys() if k not in ignore_keys} diff -Nru cinder-8.0.0/cinder/tests/unit/scheduler/test_scheduler.py cinder-8.1.0/cinder/tests/unit/scheduler/test_scheduler.py --- cinder-8.0.0/cinder/tests/unit/scheduler/test_scheduler.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/scheduler/test_scheduler.py 2016-08-09 15:32:57.000000000 +0000 @@ -23,6 +23,7 @@ from cinder import context from cinder import db from cinder import exception +from cinder import objects from cinder.objects import fields from cinder.scheduler import driver from cinder.scheduler import filter_scheduler @@ -70,20 +71,26 @@ sleep_mock.assert_called_once_with(CONF.periodic_interval) self.assertFalse(self.manager._startup_delay) + @mock.patch('cinder.objects.service.Service.get_minimum_rpc_version') + @mock.patch('cinder.objects.service.Service.get_minimum_obj_version') @mock.patch('cinder.rpc.LAST_RPC_VERSIONS', {'cinder-volume': '1.3'}) - @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-volume': '1.5'}) - def test_reset(self): + @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-volume': '1.3'}) + def test_reset(self, get_min_obj, get_min_rpc): mgr = self.manager_cls() volume_rpcapi = mgr.driver.volume_rpcapi self.assertEqual('1.3', volume_rpcapi.client.version_cap) - self.assertEqual('1.5', + self.assertEqual('1.3', volume_rpcapi.client.serializer._base.version_cap) + get_min_obj.return_value = objects.base.OBJ_VERSIONS.get_current() mgr.reset() volume_rpcapi = mgr.driver.volume_rpcapi - self.assertIsNone(volume_rpcapi.client.version_cap) - self.assertIsNone(volume_rpcapi.client.serializer._base.version_cap) + self.assertEqual(get_min_rpc.return_value, + volume_rpcapi.client.version_cap) + self.assertEqual(get_min_obj.return_value, + volume_rpcapi.client.serializer._base.version_cap) + self.assertIsNone(volume_rpcapi.client.serializer._base.manifest) @mock.patch('cinder.scheduler.driver.Scheduler.' 'update_service_capabilities') diff -Nru cinder-8.0.0/cinder/tests/unit/test_backup_google.py cinder-8.1.0/cinder/tests/unit/test_backup_google.py --- cinder-8.0.0/cinder/tests/unit/test_backup_google.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_backup_google.py 2016-08-09 15:32:57.000000000 +0000 @@ -205,6 +205,20 @@ self.assertEqual('gcscinderbucket', backup.container) @gcs_client + @mock.patch('httplib2.proxy_info_from_url') + def test_backup_proxy_configured(self, mock_proxy_info): + google_dr.CONF.set_override("backup_gcs_proxy_url", + "http://myproxy.example.com") + google_dr.GoogleBackupDriver(self.ctxt) + mock_proxy_info.assert_called_with("http://myproxy.example.com") + + @gcs_client + @mock.patch('httplib2.proxy_info_from_environment') + def test_backup_proxy_environment(self, mock_proxy_env): + google_dr.GoogleBackupDriver(self.ctxt) + mock_proxy_env.assert_called_once_with() + + @gcs_client @mock.patch('cinder.backup.drivers.google.GoogleBackupDriver.' '_send_progress_end') @mock.patch('cinder.backup.drivers.google.GoogleBackupDriver.' diff -Nru cinder-8.0.0/cinder/tests/unit/test_backup.py cinder-8.1.0/cinder/tests/unit/test_backup.py --- cinder-8.0.0/cinder/tests/unit/test_backup.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_backup.py 2016-08-09 15:32:57.000000000 +0000 @@ -25,6 +25,7 @@ from oslo_utils import importutils from oslo_utils import timeutils +import cinder from cinder.backup import api from cinder.backup import manager from cinder import context @@ -34,7 +35,9 @@ from cinder.objects import fields from cinder import test from cinder.tests.unit.backup import fake_service_with_verify as fake_service +from cinder.tests.unit import fake_driver from cinder.tests.unit import utils +from cinder.volume import driver CONF = cfg.CONF @@ -201,8 +204,15 @@ class BackupTestCase(BaseBackupTest): """Test Case for backups.""" + @mock.patch.object(cinder.tests.unit.fake_driver.FakeISCSIDriver, + 'set_initialized') + @mock.patch.object(cinder.tests.unit.fake_driver.FakeISCSIDriver, + 'do_setup') + @mock.patch.object(cinder.tests.unit.fake_driver.FakeISCSIDriver, + 'check_for_setup_error') @mock.patch('cinder.context.get_admin_context') - def test_init_host(self, mock_get_admin_context): + def test_init_host(self, mock_get_admin_context, mock_check, mock_setup, + mock_set_initialized): """Test stuck volumes and backups. Make sure stuck volumes and backups are reset to correct @@ -244,8 +254,14 @@ temp_snapshot_id=temp_snap.id) mock_get_admin_context.side_effect = get_admin_context + self.volume = importutils.import_object(CONF.volume_manager) + self.backup_mgr.volume_managers = {'driver': self.volume} self.backup_mgr.init_host() + mock_setup.assert_called_once_with(self.ctxt) + mock_check.assert_called_once_with() + mock_set_initialized.assert_called_once_with() + vol1 = db.volume_get(self.ctxt, vol1_id) self.assertEqual('available', vol1['status']) vol2 = db.volume_get(self.ctxt, vol2_id) @@ -293,29 +309,39 @@ mock_add_threadpool.assert_has_calls(calls, any_order=True) self.assertEqual(2, mock_add_threadpool.call_count) + @mock.patch('cinder.objects.service.Service.get_minimum_rpc_version') + @mock.patch('cinder.objects.service.Service.get_minimum_obj_version') @mock.patch('cinder.rpc.LAST_RPC_VERSIONS', {'cinder-backup': '1.3', 'cinder-volume': '1.7'}) - @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-backup': '1.5', - 'cinder-volume': '1.4'}) - def test_reset(self): + @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-backup': '1.2', + 'cinder-volume': '1.3'}) + def test_reset(self, get_min_obj, get_min_rpc): + get_min_obj.return_value = 'liberty' backup_mgr = manager.BackupManager() backup_rpcapi = backup_mgr.backup_rpcapi volume_rpcapi = backup_mgr.volume_rpcapi self.assertEqual('1.3', backup_rpcapi.client.version_cap) - self.assertEqual('1.5', + self.assertEqual('1.2', backup_rpcapi.client.serializer._base.version_cap) self.assertEqual('1.7', volume_rpcapi.client.version_cap) - self.assertEqual('1.4', + self.assertEqual('1.3', volume_rpcapi.client.serializer._base.version_cap) + get_min_obj.return_value = objects.base.OBJ_VERSIONS.get_current() backup_mgr.reset() backup_rpcapi = backup_mgr.backup_rpcapi volume_rpcapi = backup_mgr.volume_rpcapi - self.assertIsNone(backup_rpcapi.client.version_cap) - self.assertIsNone(backup_rpcapi.client.serializer._base.version_cap) - self.assertIsNone(volume_rpcapi.client.version_cap) - self.assertIsNone(volume_rpcapi.client.serializer._base.version_cap) + self.assertEqual(get_min_rpc.return_value, + backup_rpcapi.client.version_cap) + self.assertEqual(get_min_obj.return_value, + backup_rpcapi.client.serializer._base.version_cap) + self.assertIsNone(backup_rpcapi.client.serializer._base.manifest) + self.assertEqual(get_min_rpc.return_value, + volume_rpcapi.client.version_cap) + self.assertEqual(get_min_obj.return_value, + volume_rpcapi.client.serializer._base.version_cap) + self.assertIsNone(volume_rpcapi.client.serializer._base.manifest) def test_is_working(self): self.assertTrue(self.backup_mgr.is_working()) @@ -598,6 +624,109 @@ self.assertEqual('backing-up', vol['previous_status']) backup = db.backup_get(self.ctxt, backup.id) self.assertEqual(fields.BackupStatus.AVAILABLE, backup['status']) + self.assertEqual(vol_size, backup['size']) + + @mock.patch.object(fake_driver.FakeISCSIDriver, 'create_snapshot') + def test_create_temp_snapshot(self, mock_create_snapshot): + volume_manager = importutils.import_object(CONF.volume_manager) + volume_manager.driver.set_initialized() + vol_size = 1 + vol_id = self._create_volume_db_entry(size=vol_size, + previous_status='in-use') + vol = objects.Volume.get_by_id(self.ctxt, vol_id) + mock_create_snapshot.return_value = {'provider_id': + 'fake_provider_id'} + + temp_snap = volume_manager.driver._create_temp_snapshot( + self.ctxt, vol) + + self.assertEqual('available', temp_snap['status']) + self.assertEqual('fake_provider_id', temp_snap['provider_id']) + + @mock.patch.object(fake_driver.FakeISCSIDriver, 'create_cloned_volume') + def test_create_temp_cloned_volume(self, mock_create_cloned_volume): + volume_manager = importutils.import_object(CONF.volume_manager) + volume_manager.driver.set_initialized() + vol_size = 1 + vol_id = self._create_volume_db_entry(size=vol_size, + previous_status='in-use') + vol = objects.Volume.get_by_id(self.ctxt, vol_id) + mock_create_cloned_volume.return_value = {'provider_id': + 'fake_provider_id'} + + temp_vol = volume_manager.driver._create_temp_cloned_volume( + self.ctxt, vol) + + self.assertEqual('available', temp_vol['status']) + self.assertEqual('fake_provider_id', temp_vol['provider_id']) + + @mock.patch.object(fake_driver.FakeISCSIDriver, + 'create_volume_from_snapshot') + def test_create_temp_volume_from_snapshot(self, mock_create_vol_from_snap): + volume_manager = importutils.import_object(CONF.volume_manager) + volume_manager.driver.set_initialized() + vol_size = 1 + vol_id = self._create_volume_db_entry(size=vol_size, + previous_status='in-use') + vol = objects.Volume.get_by_id(self.ctxt, vol_id) + snap = self._create_snapshot_db_entry(volume_id = vol_id) + mock_create_vol_from_snap.return_value = {'provider_id': + 'fake_provider_id'} + + temp_vol = volume_manager.driver._create_temp_volume_from_snapshot( + self.ctxt, vol, snap) + + self.assertEqual('available', temp_vol['status']) + self.assertEqual('fake_provider_id', temp_vol['provider_id']) + + @mock.patch('cinder.utils.brick_get_connector_properties') + @mock.patch('cinder.volume.rpcapi.VolumeAPI.get_backup_device') + @mock.patch('cinder.utils.temporary_chown') + @mock.patch('six.moves.builtins.open') + def test_create_backup_with_temp_snapshot(self, mock_open, + mock_temporary_chown, + mock_get_backup_device, + mock_get_conn): + """Test backup in-use volume using temp snapshot.""" + self.override_config('backup_use_same_host', True) + self.backup_mgr._setup_volume_drivers() + vol_size = 1 + vol_id = self._create_volume_db_entry(size=vol_size, + previous_status='in-use') + backup = self._create_backup_db_entry(volume_id=vol_id) + snap = self._create_snapshot_db_entry(volume_id = vol_id) + + vol = objects.Volume.get_by_id(self.ctxt, vol_id) + mock_get_backup_device.return_value = {'backup_device': snap, + 'secure_enabled': False, + 'is_snapshot': True, } + + attach_info = { + 'device': {'path': '/dev/null'}, + 'conn': {'data': {}}, + 'connector': mock.Mock()} + mock_detach_snapshot = self.mock_object(driver.BaseVD, + '_detach_snapshot') + mock_attach_snapshot = self.mock_object(driver.BaseVD, + '_attach_snapshot') + mock_attach_snapshot.return_value = attach_info + properties = {} + mock_get_conn.return_value = properties + mock_open.return_value = open('/dev/null', 'rb') + + self.backup_mgr.create_backup(self.ctxt, backup) + mock_temporary_chown.assert_called_once_with('/dev/null') + mock_attach_snapshot.assert_called_once_with(self.ctxt, snap, + properties) + mock_get_backup_device.assert_called_once_with(self.ctxt, backup, vol) + mock_get_conn.assert_called_once_with() + mock_detach_snapshot.assert_called_once_with(self.ctxt, attach_info, + snap, properties, False) + vol = objects.Volume.get_by_id(self.ctxt, vol_id) + self.assertEqual('in-use', vol['status']) + self.assertEqual('backing-up', vol['previous_status']) + backup = db.backup_get(self.ctxt, backup.id) + self.assertEqual(fields.BackupStatus.AVAILABLE, backup['status']) self.assertEqual(vol_size, backup['size']) @mock.patch('cinder.volume.utils.notify_about_backup_usage') diff -Nru cinder-8.0.0/cinder/tests/unit/test_cmd.py cinder-8.1.0/cinder/tests/unit/test_cmd.py --- cinder-8.0.0/cinder/tests/unit/test_cmd.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_cmd.py 2016-08-09 15:32:57.000000000 +0000 @@ -925,11 +925,11 @@ lun.assert_called_once_with(tpg_new, storage_object=mock.sentinel.so_new) self.assertEqual(1, tpg_new.enable) - network_portal.assert_any_call(tpg_new, ip, 3260, - mode='any') if ip == '::0': - network_portal.assert_any_call(tpg_new, ip, 3260, mode='any') + ip = '[::0]' + + network_portal.assert_any_call(tpg_new, ip, 3260, mode='any') def test_create_rtslib_error_network_portal_ipv4(self): with mock.patch('sys.stdout', new=six.StringIO()): @@ -956,12 +956,6 @@ tpg_new = tpg.return_value lun.return_value = mock.sentinel.lun_new - def network_portal_exception(*args, **kwargs): - if set([tpg_new, '::0', 3260]).issubset(list(args)): - raise rtslib_fb.utils.RTSLibError() - else: - pass - cinder_rtstool.create(mock.sentinel.backing_device, mock.sentinel.name, mock.sentinel.userid, @@ -981,11 +975,11 @@ lun.assert_called_once_with(tpg_new, storage_object=mock.sentinel.so_new) self.assertEqual(1, tpg_new.enable) - network_portal.assert_any_call(tpg_new, ip, 3260, - mode='any') if ip == '::0': - network_portal.assert_any_call(tpg_new, ip, 3260, mode='any') + ip = '[::0]' + + network_portal.assert_any_call(tpg_new, ip, 3260, mode='any') def test_create_ipv4(self): self._test_create('0.0.0.0') @@ -993,11 +987,7 @@ def test_create_ipv6(self): self._test_create('::0') - @mock.patch.object(cinder_rtstool, 'rtslib_fb', autospec=True) - def test_create_ips_and_port(self, mock_rtslib): - port = 3261 - ips = ['ip1', 'ip2', 'ip3'] - + def _test_create_ips_and_port(self, mock_rtslib, port, ips, expected_ips): mock_rtslib.BlockStorageObject.return_value = mock.sentinel.bso mock_rtslib.Target.return_value = mock.sentinel.target_new mock_rtslib.FabricModule.return_value = mock.sentinel.iscsi_fabric @@ -1021,10 +1011,24 @@ storage_object=mock.sentinel.bso) mock_rtslib.NetworkPortal.assert_has_calls( - map(lambda ip: mock.call(tpg_new, ip, port, mode='any'), ips), - any_order=True + map(lambda ip: mock.call(tpg_new, ip, port, mode='any'), + expected_ips), any_order=True ) + @mock.patch.object(cinder_rtstool, 'rtslib_fb', autospec=True) + def test_create_ips_and_port_ipv4(self, mock_rtslib): + ips = ['10.0.0.2', '10.0.0.3', '10.0.0.4'] + port = 3261 + self._test_create_ips_and_port(mock_rtslib, port, ips, ips) + + @mock.patch.object(cinder_rtstool, 'rtslib_fb', autospec=True) + def test_create_ips_and_port_ipv6(self, mock_rtslib): + ips = ['fe80::fc16:3eff:fecb:ad2f'] + expected_ips = ['[fe80::fc16:3eff:fecb:ad2f]'] + port = 3261 + self._test_create_ips_and_port(mock_rtslib, port, ips, + expected_ips) + @mock.patch.object(rtslib_fb.root, 'RTSRoot') def test_add_initiator_rtslib_error(self, rtsroot): rtsroot.side_effect = rtslib_fb.utils.RTSLibError() diff -Nru cinder-8.0.0/cinder/tests/unit/test_coho.py cinder-8.1.0/cinder/tests/unit/test_coho.py --- cinder-8.0.0/cinder/tests/unit/test_coho.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_coho.py 2016-08-09 15:32:57.000000000 +0000 @@ -356,7 +356,6 @@ def test_rpc_client_error_in_receive_fragment(self): """Ensure exception is raised when malformed packet is recieved.""" - mock_sendrcd = self.mock_object(coho.Client, '_sendrecord') mock_socket = self.mock_object(socket, 'socket') mock_socket.return_value.recv.return_value = INVALID_HEADER_BIN @@ -372,3 +371,33 @@ mock.call().bind(('', 0)), mock.call().connect((ADDR, RPC_PORT)), mock.call().recv(4)]) + + def test_rpc_client_recovery_on_broken_pipe(self): + """Ensure RPC retry on broken pipe error. + + When the cluster closes the TCP socket, try reconnecting + and retrying the command before returing error for the operation. + """ + mock_socket = self.mock_object(socket, 'socket') + mock_make_call = self.mock_object(coho.Client, '_make_call') + socket_error = socket.error('[Errno 32] Broken pipe') + socket_error.errno = errno.EPIPE + mock_make_call.side_effect = socket_error + rpc_client = coho.CohoRPCClient(ADDR, RPC_PORT) + + with self.assertRaisesRegex(exception.CohoException, + "Failed to establish.*"): + rpc_client.create_snapshot('src', 'dest', 0) + + self.assertEqual(mock_make_call.call_count, coho.COHO_MAX_RETRIES) + self.assertEqual(mock_socket.call_count, coho.COHO_MAX_RETRIES + 1) + + # assert that on a none EPIPE error it only tries once + socket_error.errno = errno.EINVAL + mock_make_call.side_effect = socket_error + with self.assertRaisesRegex(exception.CohoException, + "Unable to send request.*"): + rpc_client.delete_snapshot('src') + + self.assertEqual(mock_make_call.call_count, coho.COHO_MAX_RETRIES + 1) + self.assertEqual(mock_socket.call_count, coho.COHO_MAX_RETRIES + 1) diff -Nru cinder-8.0.0/cinder/tests/unit/test_dellscapi.py cinder-8.1.0/cinder/tests/unit/test_dellscapi.py --- cinder-8.0.0/cinder/tests/unit/test_dellscapi.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_dellscapi.py 2016-08-09 15:32:57.000000000 +0000 @@ -6012,6 +6012,7 @@ self.assertDictEqual(self.SCREPL[0], ret) payload['Type'] = 'Synchronous' payload['ReplicateActiveReplay'] = True + payload['SyncMode'] = 'HighAvailability' ret = self.scapi.create_replication(self.VOLUME, str(destssn), qosnode, @@ -6078,6 +6079,7 @@ payload['Type'] = 'Synchronous' payload['ReplicateActiveReplay'] = True + payload['SyncMode'] = 'HighAvailability' ret = self.scapi.create_replication(self.VOLUME, str(destssn), qosnode, diff -Nru cinder-8.0.0/cinder/tests/unit/test_emc_vnx.py cinder-8.1.0/cinder/tests/unit/test_emc_vnx.py --- cinder-8.0.0/cinder/tests/unit/test_emc_vnx.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_emc_vnx.py 2016-08-09 15:32:57.000000000 +0000 @@ -6331,6 +6331,33 @@ self.assertEqual('192.168.1.2', cli_client.active_storage_ip) self.assertEqual('192.168.1.2', cli_client.primary_storage_ip) + def test_extract_provider_location_type(self): + self.assertEqual( + 'lun', + emc_vnx_cli.EMCVnxCliBase.extract_provider_location( + 'system^FNM11111|type^lun|id^1|version^05.03.00', 'type')) + + def test_extract_provider_location_type_none(self): + self.assertIsNone( + emc_vnx_cli.EMCVnxCliBase.extract_provider_location( + None, 'type')) + + def test_extract_provider_location_type_empty_str(self): + self.assertIsNone( + emc_vnx_cli.EMCVnxCliBase.extract_provider_location( + '', 'type')) + + def test_extract_provider_location_type_not_available(self): + self.assertIsNone( + emc_vnx_cli.EMCVnxCliBase.extract_provider_location( + 'system^FNM11111|id^1', 'type')) + + def test_extract_provider_location_type_error_format(self): + self.assertIsNone( + emc_vnx_cli.EMCVnxCliBase.extract_provider_location( + 'abc^|def|^gh|^^|^|', 'type')) + + VNXError = emc_vnx_cli.VNXError diff -Nru cinder-8.0.0/cinder/tests/unit/test_hpe3par.py cinder-8.1.0/cinder/tests/unit/test_hpe3par.py --- cinder-8.0.0/cinder/tests/unit/test_hpe3par.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_hpe3par.py 2016-08-09 15:32:57.000000000 +0000 @@ -78,6 +78,8 @@ SYNC_MODE = 1 PERIODIC_MODE = 2 SYNC_PERIOD = 900 +# EXISTENT_PATH error code returned from hpe3parclient +EXISTENT_PATH = 73 class Comment(object): @@ -1683,6 +1685,29 @@ expected + self.standard_logout) + def test_delete_volume_online_clone_active(self): + # setup_mock_client drive with default configuration + # and return the mock HTTP 3PAR client + mock_client = self.setup_driver() + with mock.patch.object(hpecommon.HPE3PARCommon, + '_create_client') as mock_create_client: + mock_create_client.return_value = mock_client + ex = hpeexceptions.HTTPConflict("Online clone is active.") + ex._error_code = 151 + mock_client.deleteVolume = mock.Mock(side_effect=ex) + mock_client.isOnlinePhysicalCopy.return_value = True + self.driver.delete_volume(self.volume) + + expected = [ + mock.call.deleteVolume(self.VOLUME_3PAR_NAME), + mock.call.isOnlinePhysicalCopy(self.VOLUME_3PAR_NAME), + mock.call.stopOnlinePhysicalCopy(self.VOLUME_3PAR_NAME)] + + mock_client.assert_has_calls( + self.standard_login + + expected + + self.standard_logout) + @mock.patch.object(volume_types, 'get_volume_type') def test_delete_volume_replicated(self, _mock_volume_types): # setup_mock_client drive with default configuration @@ -2577,7 +2602,7 @@ # and return the mock HTTP 3PAR client mock_client = self.setup_driver() mock_client.getHostVLUNs.return_value = [ - {'active': True, + {'active': False, 'volumeName': self.VOLUME_3PAR_NAME, 'lun': None, 'type': 0}] @@ -2601,7 +2626,7 @@ mock.call.deleteVLUN( self.VOLUME_3PAR_NAME, None, - self.FAKE_HOST), + hostname=self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), mock.call.deleteHost(self.FAKE_HOST), mock.call.removeVolumeMetaData( @@ -4695,7 +4720,7 @@ mock_client = self.setup_driver() effects = [ - [{'active': True, 'volumeName': self.VOLUME_3PAR_NAME, + [{'active': False, 'volumeName': self.VOLUME_3PAR_NAME, 'lun': None, 'type': 0}], hpeexceptions.HTTPNotFound, hpeexceptions.HTTPNotFound] @@ -4714,7 +4739,7 @@ mock.call.deleteVLUN( self.VOLUME_3PAR_NAME, None, - self.FAKE_HOST), + hostname=self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), mock.call.deleteHost(self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), @@ -4776,7 +4801,7 @@ mock_client = self.setup_driver() effects = [ - [{'active': True, 'volumeName': self.VOLUME_3PAR_NAME, + [{'active': False, 'volumeName': self.VOLUME_3PAR_NAME, 'lun': None, 'type': 0}], hpeexceptions.HTTPNotFound, hpeexceptions.HTTPNotFound] @@ -4795,7 +4820,7 @@ mock.call.deleteVLUN( self.VOLUME_3PAR_NAME, None, - self.FAKE_HOST), + hostname=self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), mock.call.deleteHost(self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), @@ -4845,7 +4870,7 @@ # mock more than one vlun on the host (don't even try to remove host) mock_client.getHostVLUNs.return_value = \ [ - {'active': True, + {'active': False, 'volumeName': self.VOLUME_3PAR_NAME, 'lun': None, 'type': 0}, {'active': True, @@ -4865,7 +4890,7 @@ mock.call.deleteVLUN( self.VOLUME_3PAR_NAME, None, - self.FAKE_HOST), + hostname=self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST), mock.call.getHostVLUNs(self.FAKE_HOST)] @@ -4915,7 +4940,8 @@ 'serialNumber': '1234', 'licenseInfo': { 'licenses': [{'name': 'Remote Copy'}, - {'name': 'Thin Provisioning (102400G)'}] + {'name': 'Thin Provisioning (102400G)'}, + {'name': 'System Reporter'}] } } @@ -5190,6 +5216,72 @@ expected + self.standard_logout) + def test_get_volume_stats4(self): + # Testing get_volume_stats() when System Reporter license is not active + # setup_mock_client drive with the configuration + # and return the mock HTTP 3PAR client + config = self.setup_configuration() + config.filter_function = FILTER_FUNCTION + config.goodness_function = GOODNESS_FUNCTION + mock_client = self.setup_driver(config=config) + mock_client.getCPG.return_value = self.cpgs[0] + # Purposely left out the System Reporter license in + # getStorageSystemInfo to test sr_support + mock_client.getStorageSystemInfo.return_value = { + 'id': self.CLIENT_ID, + 'serialNumber': '1234', + 'licenseInfo': { + 'licenses': [{'name': 'Remote Copy'}, + {'name': 'Priority Optimization'}, + {'name': 'Thin Provisioning'}] + } + } + + # cpg has no limit + mock_client.getCPGAvailableSpace.return_value = { + "capacityEfficiency": {u'compaction': 594.4}, + "rawFreeMiB": 1024.0 * 6, + "usableFreeMiB": 1024.0 * 3 + } + + with mock.patch.object(hpecommon.HPE3PARCommon, + '_create_client') as mock_create_client: + mock_create_client.return_value = mock_client + + stats = self.driver.get_volume_stats(True) + self.assertEqual('FC', stats['storage_protocol']) + self.assertEqual('12345', stats['array_id']) + self.assertTrue(stats['pools'][0]['thin_provisioning_support']) + self.assertTrue(stats['pools'][0]['QoS_support']) + self.assertEqual(24.0, stats['pools'][0]['total_capacity_gb']) + self.assertEqual(3.0, stats['pools'][0]['free_capacity_gb']) + self.assertEqual(87.5, stats['pools'][0]['capacity_utilization']) + self.assertEqual(3, stats['pools'][0]['total_volumes']) + self.assertEqual(GOODNESS_FUNCTION, + stats['pools'][0]['goodness_function']) + self.assertEqual(FILTER_FUNCTION, + stats['pools'][0]['filter_function']) + self.assertIsNone(stats['pools'][0][THROUGHPUT]) + self.assertIsNone(stats['pools'][0][BANDWIDTH]) + self.assertIsNone(stats['pools'][0][LATENCY]) + self.assertIsNone(stats['pools'][0][IO_SIZE]) + self.assertIsNone(stats['pools'][0][QUEUE_LENGTH]) + self.assertIsNone(stats['pools'][0][AVG_BUSY_PERC]) + + expected = [ + mock.call.getStorageSystemInfo(), + mock.call.getCPG(HPE3PAR_CPG), + mock.call.getCPGAvailableSpace(HPE3PAR_CPG), + mock.call.getCPG(HPE3PAR_CPG2), + mock.call.getCPGAvailableSpace(HPE3PAR_CPG2)] + + mock_client.assert_has_calls( + self.get_id_login + + self.standard_logout + + self.standard_login + + expected + + self.standard_logout) + def test_create_host(self): # setup_mock_client drive with default configuration # and return the mock HTTP 3PAR client @@ -5280,6 +5372,67 @@ self.assertEqual('fakehost.foo', host['name']) + def test_concurrent_create_host(self): + # tests concurrent requests to create host + # setup_mock_client driver with default configuration + # and return the mock HTTP 3PAR client + mock_client = self.setup_driver() + mock_client.getVolume.return_value = {'userCPG': HPE3PAR_CPG} + mock_client.getCPG.return_value = {} + mock_client.queryHost.side_effect = [ + None, + {'members': [{'name': self.FAKE_HOST}] + }] + mock_client.createHost.side_effect = [ + hpeexceptions.HTTPConflict( + {'code': EXISTENT_PATH, + 'desc': 'host WWN/iSCSI name already used by another host'})] + mock_client.getHost.side_effect = [ + hpeexceptions.HTTPNotFound('fake'), + {'name': self.FAKE_HOST, + 'FCPaths': [{'driverVersion': None, + 'firmwareVersion': None, + 'hostSpeed': 0, + 'model': None, + 'portPos': {'cardPort': 1, 'node': 1, + 'slot': 2}, + 'vendor': None, + 'wwn': self.wwn[0]}, + {'driverVersion': None, + 'firmwareVersion': None, + 'hostSpeed': 0, + 'model': None, + 'portPos': {'cardPort': 1, 'node': 0, + 'slot': 2}, + 'vendor': None, + 'wwn': self.wwn[1]}]}] + + with mock.patch.object(hpecommon.HPE3PARCommon, + '_create_client') as mock_create_client: + mock_create_client.return_value = mock_client + common = self.driver._login() + host = self.driver._create_host( + common, + self.volume, + self.connector) + expected = [ + mock.call.getVolume('osv-0DM4qZEVSKON-DXN-NwVpw'), + mock.call.getCPG(HPE3PAR_CPG), + mock.call.getHost(self.FAKE_HOST), + mock.call.queryHost(wwns=['123456789012345', + '123456789054321']), + mock.call.createHost( + self.FAKE_HOST, + FCWwns=['123456789012345', '123456789054321'], + optional={'domain': None, 'persona': 2}), + mock.call.queryHost(wwns=['123456789012345', + '123456789054321']), + mock.call.getHost(self.FAKE_HOST)] + + mock_client.assert_has_calls(expected) + + self.assertEqual(self.FAKE_HOST, host['name']) + def test_create_modify_host(self): # setup_mock_client drive with default configuration # and return the mock HTTP 3PAR client @@ -5890,6 +6043,72 @@ self.assertEqual(24.0, stats['pools'][0]['total_capacity_gb']) self.assertEqual(3.0, stats['pools'][0]['free_capacity_gb']) self.assertEqual(87.5, stats['pools'][0]['capacity_utilization']) + self.assertEqual(3, stats['pools'][0]['total_volumes']) + self.assertEqual(GOODNESS_FUNCTION, + stats['pools'][0]['goodness_function']) + self.assertEqual(FILTER_FUNCTION, + stats['pools'][0]['filter_function']) + self.assertIsNone(stats['pools'][0][THROUGHPUT]) + self.assertIsNone(stats['pools'][0][BANDWIDTH]) + self.assertIsNone(stats['pools'][0][LATENCY]) + self.assertIsNone(stats['pools'][0][IO_SIZE]) + self.assertIsNone(stats['pools'][0][QUEUE_LENGTH]) + self.assertIsNone(stats['pools'][0][AVG_BUSY_PERC]) + + expected = [ + mock.call.getStorageSystemInfo(), + mock.call.getCPG(HPE3PAR_CPG), + mock.call.getCPGAvailableSpace(HPE3PAR_CPG), + mock.call.getCPG(HPE3PAR_CPG2), + mock.call.getCPGAvailableSpace(HPE3PAR_CPG2)] + + mock_client.assert_has_calls( + self.get_id_login + + self.standard_logout + + self.standard_login + + expected + + self.standard_logout) + + def test_get_volume_stats4(self): + # Testing get_volume_stats() when System Reporter license is not active + # setup_mock_client drive with the configuration + # and return the mock HTTP 3PAR client + config = self.setup_configuration() + config.filter_function = FILTER_FUNCTION + config.goodness_function = GOODNESS_FUNCTION + mock_client = self.setup_driver(config=config) + mock_client.getCPG.return_value = self.cpgs[0] + # Purposely left out the System Reporter license in + # getStorageSystemInfo to test sr_support + mock_client.getStorageSystemInfo.return_value = { + 'id': self.CLIENT_ID, + 'serialNumber': '1234', + 'licenseInfo': { + 'licenses': [{'name': 'Remote Copy'}, + {'name': 'Priority Optimization'}, + {'name': 'Thin Provisioning'}] + } + } + + # cpg has no limit + mock_client.getCPGAvailableSpace.return_value = { + "capacityEfficiency": {u'compaction': 594.4}, + "rawFreeMiB": 1024.0 * 6, + "usableFreeMiB": 1024.0 * 3 + } + + with mock.patch.object(hpecommon.HPE3PARCommon, + '_create_client') as mock_create_client: + mock_create_client.return_value = mock_client + + stats = self.driver.get_volume_stats(True) + self.assertEqual('iSCSI', stats['storage_protocol']) + self.assertEqual('12345', stats['array_id']) + self.assertTrue(stats['pools'][0]['thin_provisioning_support']) + self.assertTrue(stats['pools'][0]['QoS_support']) + self.assertEqual(24.0, stats['pools'][0]['total_capacity_gb']) + self.assertEqual(3.0, stats['pools'][0]['free_capacity_gb']) + self.assertEqual(87.5, stats['pools'][0]['capacity_utilization']) self.assertEqual(3, stats['pools'][0]['total_volumes']) self.assertEqual(GOODNESS_FUNCTION, stats['pools'][0]['goodness_function']) diff -Nru cinder-8.0.0/cinder/tests/unit/test_huawei_drivers.py cinder-8.1.0/cinder/tests/unit/test_huawei_drivers.py --- cinder-8.0.0/cinder/tests/unit/test_huawei_drivers.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_huawei_drivers.py 2016-08-09 15:32:57.000000000 +0000 @@ -250,6 +250,20 @@ } } +fake_fabric_mapping_no_ports = { + 'swd1': { + 'target_port_wwn_list': [], + 'initiator_port_wwn_list': ['10000090fa0d6754'] + } +} + +fake_fabric_mapping_no_wwn = { + 'swd1': { + 'target_port_wwn_list': ['2000643e8c4c5f66'], + 'initiator_port_wwn_list': [] + } +} + CHANGE_OPTS = {'policy': ('1', '2'), 'partitionid': (['1', 'partition001'], ['2', 'partition002']), 'cacheid': (['1', 'cache001'], ['2', 'cache002']), @@ -272,6 +286,17 @@ } """ +FAKE_GET_HOST_RESPONSE = """ +{ + "error": { + "code": 0 + }, + "data":{"NAME": "ubuntuc001", + "ID": "1", + "ISADD2HOSTGROUP": "true"} +} +""" + # A fake response of success response storage FAKE_COMMON_SUCCESS_RESPONSE = """ { @@ -1028,7 +1053,7 @@ }, { "RUNNINGSTATUS":"10", - "WWN":"2009643e8c4c5f67", + "WWN":"2000643e8c4c5f67", "PARENTID":"0A.1", "ID": "1114369", "RUNSPEED": "16000" @@ -1235,6 +1260,10 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/iscsi_initiator/PUT'] = ( FAKE_ISCSI_INITIATOR_RESPONSE) +MAP_COMMAND_TO_FAKE_RESPONSE['/iscsi_initiator?PARENTTYPE=21&PARENTID' + '=1/GET'] = ( + FAKE_ISCSI_INITIATOR_RESPONSE) + MAP_COMMAND_TO_FAKE_RESPONSE['/iscsi_initiator/remove_iscsi_from_host/PUT'] = ( FAKE_COMMON_SUCCESS_RESPONSE) @@ -1248,6 +1277,9 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/host/1/DELETE'] = ( FAKE_COMMON_SUCCESS_RESPONSE) +MAP_COMMAND_TO_FAKE_RESPONSE['/host/1/GET'] = ( + FAKE_GET_HOST_RESPONSE) + MAP_COMMAND_TO_FAKE_RESPONSE['/host'] = ( FAKE_CREATE_HOST_RESPONSE) @@ -1310,6 +1342,9 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/1/DELETE'] = ( FAKE_COMMON_SUCCESS_RESPONSE) +MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/REMOVE_ASSOCIATE/PUT'] = ( + FAKE_COMMON_SUCCESS_RESPONSE) + MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate/lungroup?TYPE=256&' 'ASSOCIATEOBJTYPE=245&ASSOCIATEOBJID=1/GET'] = ( FAKE_GET_MAPPING_VIEW_RESPONSE) @@ -1323,9 +1358,28 @@ FAKE_GET_MAPPING_VIEW_RESPONSE) MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate?TYPE=245&' + 'ASSOCIATEOBJTYPE=257&ASSOCIATEOBJID=0/GET'] = ( + FAKE_GET_MAPPING_VIEW_RESPONSE) + +MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate?TYPE=245&' 'ASSOCIATEOBJTYPE=257&ASSOCIATEOBJID=11/GET'] = ( FAKE_GET_MAPPING_VIEW_RESPONSE) +FAKE_GET_ENGINES_RESPONSE = """ +{ + "error":{ + "code": 0 + }, + "data":[{ + "NODELIST": "[]", + "ID": "0" + }] +} +""" + +MAP_COMMAND_TO_FAKE_RESPONSE['/storageengine/GET'] = ( + FAKE_GET_ENGINES_RESPONSE) + MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/associate?ASSOCIATEOBJTYPE=245&' 'ASSOCIATEOBJID=1&range=[0-8191]/GET'] = ( FAKE_GET_MAPPING_VIEW_RESPONSE) @@ -1501,6 +1555,8 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/PortGroup/POST'] = FAKE_CREATE_PORTG +MAP_COMMAND_TO_FAKE_RESPONSE['/PortGroup/1/DELETE'] = ( + FAKE_COMMON_SUCCESS_RESPONSE) FAKE_GET_PORTG_FROM_PORT = """ { @@ -1746,6 +1802,39 @@ MAP_COMMAND_TO_FAKE_RESPONSE['/REPLICATIONPAIR/switch/PUT'] = ( FAKE_SWITCH_PAIR_RESPONSE) +FAKE_PORTS_IN_PG_RESPONSE = """ +{ + "data": [{ + "ID": "1114114", + "WWN": "2002643e8c4c5f66" + }, + { + "ID": "1114113", + "WWN": "2001643e8c4c5f66" + }], + "error": { + "code": 0, + "description": "0" + } +} +""" + +MAP_COMMAND_TO_FAKE_RESPONSE['/fc_port/associate?TYPE=213&ASSOCIATEOBJTYPE=' + '257&ASSOCIATEOBJID=0/GET'] = ( + FAKE_PORTS_IN_PG_RESPONSE) + +MAP_COMMAND_TO_FAKE_RESPONSE['/portgroup/associate/fc_port?TYPE=257&ASSOCIA' + 'TEOBJTYPE=212&ASSOCIATEOBJID=1114369/GET'] = ( + FAKE_PORTS_IN_PG_RESPONSE) + +MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate/portgroup?TYPE=245&ASSOC' + 'IATEOBJTYPE=257&ASSOCIATEOBJID=1114114/GET'] = ( + FAKE_SWITCH_PAIR_RESPONSE) + +MAP_COMMAND_TO_FAKE_RESPONSE['/mappingview/associate/portgroup?TYPE=245&ASSOC' + 'IATEOBJTYPE=257&ASSOCIATEOBJID=1114113/GET'] = ( + FAKE_COMMON_SUCCESS_RESPONSE) + def Fake_sleep(time): pass @@ -3261,6 +3350,23 @@ side_effect=exception.VolumeBackendAPIException(data='err'))) common_driver.split(replica_id) + @mock.patch.object(replication.PairOp, 'split') + @ddt.data(constants.REPLICA_RUNNING_STATUS_SPLIT, + constants.REPLICA_RUNNING_STATUS_INVALID, + constants.REPLICA_RUNNING_STATUS_ERRUPTED) + def test_replication_driver_split_already_disabled(self, mock_status, + mock_op_split): + replica_id = TEST_PAIR_ID + op = replication.PairOp(self.driver.client) + common_driver = replication.ReplicaCommonDriver(self.configuration, op) + + pair_info = json.loads(FAKE_GET_PAIR_NORMAL_RESPONSE)['data'] + pair_info['RUNNINGSTATUS'] = mock_status + self.mock_object(rest_client.RestClient, 'get_pair_by_id', mock.Mock( + return_value=pair_info)) + common_driver.split(replica_id) + self.assertFalse(mock_op_split.called) + def test_replication_base_op(self): replica_id = '1' op = replication.AbsReplicaOp(None) @@ -3328,6 +3434,7 @@ return fake_fabric_mapping +@ddt.ddt class HuaweiFCDriverTestCase(test.TestCase): def setUp(self): @@ -3377,6 +3484,27 @@ FakeConnector) self.assertEqual(1, iscsi_properties['data']['target_lun']) + def test_initialize_connection_fail_no_online_wwns_in_host(self): + self.mock_object(rest_client.RestClient, 'get_online_free_wwns', + mock.Mock(return_value=[])) + self.assertRaises(exception.VolumeBackendAPIException, + self.driver.initialize_connection, + test_volume, FakeConnector) + + def test_initialize_connection_no_local_ini_tgt_map(self): + self.mock_object(rest_client.RestClient, 'get_init_targ_map', + mock.Mock(return_value=('', ''))) + self.mock_object(huawei_driver.HuaweiFCDriver, '_get_same_hostid', + mock.Mock(return_value='')) + self.mock_object(rest_client.RestClient, 'change_hostlun_id', + mock.Mock(return_value=None)) + self.mock_object(rest_client.RestClient, 'do_mapping', + mock.Mock(return_value={'lun_id': '1', + 'view_id': '1', + 'aval_luns': '[1]'})) + + self.driver.initialize_connection(hyper_volume, FakeConnector) + def test_hypermetro_connection_success(self): self.mock_object(rest_client.RestClient, 'find_array_version', mock.Mock(return_value='V300R003C00')) @@ -3389,6 +3517,21 @@ self.driver.terminate_connection(test_volume, FakeConnector) self.assertTrue(self.driver.client.terminateFlag) + def test_terminate_connection_portgroup_associated(self): + self.mock_object(rest_client.RestClient, + 'is_portgroup_associated_to_view', + mock.Mock(return_value=True)) + self.mock_object(huawei_driver.HuaweiFCDriver, + '_delete_zone_and_remove_fc_initiators', + mock.Mock(return_value=({}, 1))) + self.driver.terminate_connection(test_volume, FakeConnector) + + def test_terminate_connection_fc_initiators_exist_in_host(self): + self.mock_object(rest_client.RestClient, + 'check_fc_initiators_exist_in_host', + mock.Mock(return_value=True)) + self.driver.terminate_connection(test_volume, FakeConnector) + def test_terminate_connection_hypermetro_in_metadata(self): self.driver.terminate_connection(hyper_volume, FakeConnector) @@ -3650,16 +3793,45 @@ self.assertEqual(target_port_wwns, tgt_wwns) self.assertEqual({}, init_targ_map) + @ddt.data(fake_fabric_mapping_no_ports, fake_fabric_mapping_no_wwn) + def test_filter_by_fabric_fail(self, ddt_map): + self.mock_object( + FCSanLookupService, 'get_device_mapping_from_network', + mock.Mock(return_value=ddt_map)) + fake_lookup_service = FCSanLookupService() + zone_helper = fc_zone_helper.FCZoneHelper( + fake_lookup_service, self.driver.client) + self.assertRaises(exception.VolumeBackendAPIException, + zone_helper._filter_by_fabric, ['10000090fa0d6754'], + None) + @mock.patch.object(rest_client.RestClient, 'get_all_engines', return_value=[{'NODELIST': '["0A"]', 'ID': '0'}, {'NODELIST': '["0B"]', 'ID': '1'}]) - def test_build_ini_targ_map_engie_not_recorded(self, mock_engines): + @mock.patch.object(fc_zone_helper.FCZoneHelper, '_build_contr_port_map', + return_value={'0B': ['2000643e8c4c5f67']}) + def test_build_ini_targ_map_engie_not_recorded(self, mock_engines, map): fake_lookup_service = FCSanLookupService() zone_helper = fc_zone_helper.FCZoneHelper( fake_lookup_service, self.driver.client) (tgt_wwns, portg_id, init_targ_map) = zone_helper.build_ini_targ_map( ['10000090fa0d6754'], '1', '11') + expected_wwns = ['2000643e8c4c5f67', '2000643e8c4c5f66'] + expected_map = {'10000090fa0d6754': expected_wwns} + self.assertEqual(expected_wwns, tgt_wwns) + self.assertEqual(expected_map, init_targ_map) + + @mock.patch.object(rest_client.RestClient, 'get_all_engines', + return_value=[{'NODELIST': '["0A", "0B"]', 'ID': '0'}]) + def test_build_ini_targ_map_no_map(self, mock_engines): + fake_lookup_service = FCSanLookupService() + + zone_helper = fc_zone_helper.FCZoneHelper( + fake_lookup_service, self.driver.client) + # Host with id '5' has no map on the array. + (tgt_wwns, portg_id, init_targ_map) = zone_helper.build_ini_targ_map( + ['10000090fa0d6754'], '5', '11') expected_wwns = ['2000643e8c4c5f66'] expected_map = {'10000090fa0d6754': ['2000643e8c4c5f66']} self.assertEqual(expected_wwns, tgt_wwns) @@ -3667,7 +3839,10 @@ @mock.patch.object(rest_client.RestClient, 'get_all_engines', return_value=[{'NODELIST': '["0A", "0B"]', 'ID': '0'}]) - def test_build_ini_targ_map_no_map(self, mock_engines): + @mock.patch.object(rest_client.RestClient, 'get_tgt_port_group', + return_value='0') + @mock.patch.object(rest_client.RestClient, 'delete_portgroup') + def test_build_ini_targ_map_exist_portg(self, delete, engines, portg): fake_lookup_service = FCSanLookupService() zone_helper = fc_zone_helper.FCZoneHelper( @@ -3679,6 +3854,7 @@ expected_map = {'10000090fa0d6754': ['2000643e8c4c5f66']} self.assertEqual(expected_wwns, tgt_wwns) self.assertEqual(expected_map, init_targ_map) + self.assertEqual(1, delete.call_count) def test_get_init_targ_map(self): fake_lookup_service = FCSanLookupService() @@ -3692,6 +3868,16 @@ self.assertEqual(expected_wwns, tgt_wwns) self.assertEqual(expected_map, init_targ_map) + def test_get_init_targ_map_no_host(self): + fake_lookup_service = FCSanLookupService() + + zone_helper = fc_zone_helper.FCZoneHelper( + fake_lookup_service, self.driver.client) + ret = zone_helper.get_init_targ_map( + ['10000090fa0d6754'], None) + expected_ret = ([], None, {}) + self.assertEqual(expected_ret, ret) + def test_multi_resturls_success(self): self.driver.client.test_multi_url_flag = True lun_info = self.driver.create_volume(test_volume) diff -Nru cinder-8.0.0/cinder/tests/unit/test_netapp_nfs.py cinder-8.1.0/cinder/tests/unit/test_netapp_nfs.py --- cinder-8.0.0/cinder/tests/unit/test_netapp_nfs.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_netapp_nfs.py 2016-08-09 15:32:57.000000000 +0000 @@ -1314,71 +1314,6 @@ self.assertRaises(OSError, drv._copy_from_img_service, context, volume, image_service, image_id) - def test_copyoffload_frm_cache_success(self): - drv = self._driver - context = object() - volume = {'id': 'vol_id', 'name': 'name'} - image_service = object() - image_id = 'image_id' - drv.zapi_client.get_ontapi_version = mock.Mock(return_value=(1, 20)) - nfs_base.NetAppNfsDriver.copy_image_to_volume = mock.Mock() - drv._get_provider_location = mock.Mock(return_value='share') - drv._get_vol_for_share = mock.Mock(return_value='vol') - drv._update_stale_vols = mock.Mock() - drv._find_image_in_cache = mock.Mock(return_value=[('share', 'img')]) - drv._copy_from_cache = mock.Mock(return_value=True) - - drv.copy_image_to_volume(context, volume, image_service, image_id) - drv._copy_from_cache.assert_called_once_with(volume, - image_id, - [('share', 'img')]) - - def test_copyoffload_frm_img_service_success(self): - drv = self._driver - context = object() - volume = {'id': 'vol_id', 'name': 'name'} - image_service = object() - image_id = 'image_id' - drv._client = mock.Mock() - drv.zapi_client.get_ontapi_version = mock.Mock(return_value=(1, 20)) - nfs_base.NetAppNfsDriver.copy_image_to_volume = mock.Mock() - drv._get_provider_location = mock.Mock(return_value='share') - drv._get_vol_for_share = mock.Mock(return_value='vol') - drv._update_stale_vols = mock.Mock() - drv._find_image_in_cache = mock.Mock(return_value=False) - drv._copy_from_img_service = mock.Mock() - - drv.copy_image_to_volume(context, volume, image_service, image_id) - drv._copy_from_img_service.assert_called_once_with(context, - volume, - image_service, - image_id) - - def test_cache_copyoffload_workflow_success(self): - drv = self._driver - volume = {'id': 'vol_id', 'name': 'name', 'size': 1} - image_id = 'image_id' - cache_result = [('ip1:/openstack', 'img-cache-imgid')] - drv._get_ip_verify_on_cluster = mock.Mock(return_value='ip1') - drv._get_host_ip = mock.Mock(return_value='ip2') - drv._get_export_path = mock.Mock(return_value='/exp_path') - drv._execute = mock.Mock() - drv._register_image_in_cache = mock.Mock() - drv._get_provider_location = mock.Mock(return_value='/share') - drv._post_clone_image = mock.Mock() - - copied = drv._copy_from_cache(volume, image_id, cache_result) - self.assertTrue(copied) - drv._get_ip_verify_on_cluster.assert_any_call('ip1') - drv._get_export_path.assert_called_with('vol_id') - drv._execute.assert_called_once_with('cof_path', 'ip1', 'ip1', - '/openstack/img-cache-imgid', - '/exp_path/name', - run_as_root=False, - check_exit_code=0) - drv._post_clone_image.assert_called_with(volume) - drv._get_provider_location.assert_called_with('vol_id') - @mock.patch.object(image_utils, 'qemu_img_info') def test_img_service_raw_copyoffload_workflow_success(self, mock_qemu_img_info): diff -Nru cinder-8.0.0/cinder/tests/unit/test_pure.py cinder-8.1.0/cinder/tests/unit/test_pure.py --- cinder-8.0.0/cinder/tests/unit/test_pure.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_pure.py 2016-08-09 15:32:57.000000000 +0000 @@ -1510,10 +1510,13 @@ self.driver.unmanage_snapshot, SNAPSHOT) - def _test_retype_repl(self, mock_is_repl, is_vol_repl, repl_cabability): + def _test_retype_repl(self, mock_is_repl, is_vol_repl, + repl_cabability, volume_id=None): mock_is_repl.return_value = is_vol_repl context = mock.MagicMock() volume = fake_volume.fake_volume_obj(context) + if volume_id: + volume.id = volume_id new_type = { 'extra_specs': { pure.EXTRA_SPECS_REPL_ENABLED: @@ -1534,32 +1537,28 @@ def test_retype_non_repl_to_non_repl(self, mock_is_replicated_type): self._test_retype_repl(mock_is_replicated_type, False, False) - @mock.patch(BASE_DRIVER_OBJ + '._enable_replication') - @mock.patch(BASE_DRIVER_OBJ + '._disable_replication') @mock.patch(BASE_DRIVER_OBJ + '._is_volume_replicated_type', autospec=True) - def test_retype_non_repl_to_repl(self, - mock_is_replicated_type, - mock_replication_disable, - mock_replication_enable): + def test_retype_non_repl_to_repl(self, mock_is_replicated_type): context, volume = self._test_retype_repl(mock_is_replicated_type, False, - True) - self.assertFalse(mock_replication_disable.called) - mock_replication_enable.assert_called_with(volume) + True, + volume_id=VOLUME_ID) + self.array.set_pgroup.assert_called_once_with( + pure.REPLICATION_CG_NAME, + addvollist=[VOLUME_PURITY_NAME] + ) - @mock.patch(BASE_DRIVER_OBJ + '._enable_replication') - @mock.patch(BASE_DRIVER_OBJ + '._disable_replication') @mock.patch(BASE_DRIVER_OBJ + '._is_volume_replicated_type', autospec=True) - def test_retype_repl_to_non_repl(self, - mock_is_replicated_type, - mock_replication_disable, - mock_replication_enable): + def test_retype_repl_to_non_repl(self, mock_is_replicated_type,): context, volume = self._test_retype_repl(mock_is_replicated_type, True, - False) - self.assertFalse(mock_replication_enable.called) - mock_replication_disable.assert_called_with(volume) + False, + volume_id=VOLUME_ID) + self.array.set_pgroup.assert_called_once_with( + pure.REPLICATION_CG_NAME, + remvollist=[VOLUME_PURITY_NAME] + ) @mock.patch('cinder.volume.volume_types.get_volume_type') def test_is_vol_replicated_no_extra_specs(self, mock_get_vol_type): @@ -1572,10 +1571,20 @@ def test_is_vol_replicated_has_repl_extra_specs(self, mock_get_vol_type): mock_get_vol_type.return_value = REPLICATED_VOL_TYPE volume = fake_volume.fake_volume_obj(mock.MagicMock()) + volume.volume_type_id = REPLICATED_VOL_TYPE['id'] actual = self.driver._is_volume_replicated_type(volume) self.assertTrue(actual) @mock.patch('cinder.volume.volume_types.get_volume_type') + def test_is_vol_replicated_none_type(self, mock_get_vol_type): + mock_get_vol_type.side_effect = exception.InvalidVolumeType(reason='') + volume = fake_volume.fake_volume_obj(mock.MagicMock()) + volume.volume_type = None + volume.volume_type_id = None + actual = self.driver._is_volume_replicated_type(volume) + self.assertFalse(actual) + + @mock.patch('cinder.volume.volume_types.get_volume_type') def test_is_vol_replicated_has_other_extra_specs(self, mock_get_vol_type): vtype_test = deepcopy(NON_REPLICATED_VOL_TYPE) vtype_test["extra_specs"] = {"some_key": "some_value"} diff -Nru cinder-8.0.0/cinder/tests/unit/test_quota.py cinder-8.1.0/cinder/tests/unit/test_quota.py --- cinder-8.0.0/cinder/tests/unit/test_quota.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_quota.py 2016-08-09 15:32:57.000000000 +0000 @@ -37,8 +37,6 @@ import cinder.tests.unit.image.fake from cinder import volume -from keystonemiddleware import auth_token - CONF = cfg.CONF @@ -1407,7 +1405,7 @@ keystone_patcher.start() self.addCleanup(keystone_patcher.stop) - self.fixture = self.useFixture(config_fixture.Config(auth_token.CONF)) + self.fixture = self.useFixture(config_fixture.Config(CONF)) self.fixture.config(auth_uri=self.auth_url, group='keystone_authtoken') self.driver = quota.NestedDbQuotaDriver() diff -Nru cinder-8.0.0/cinder/tests/unit/test_quota_utils.py cinder-8.1.0/cinder/tests/unit/test_quota_utils.py --- cinder-8.0.0/cinder/tests/unit/test_quota_utils.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_quota_utils.py 2016-08-09 15:32:57.000000000 +0000 @@ -21,7 +21,6 @@ from cinder import test from keystoneclient import exceptions -from keystonemiddleware import auth_token from oslo_config import cfg from oslo_config import fixture as config_fixture @@ -43,7 +42,7 @@ self.auth_url = 'http://localhost:5000' self.context = context.RequestContext('fake_user', 'fake_proj_id') - self.fixture = self.useFixture(config_fixture.Config(auth_token.CONF)) + self.fixture = self.useFixture(config_fixture.Config(CONF)) self.fixture.config(auth_uri=self.auth_url, group='keystone_authtoken') @mock.patch('keystoneclient.client.Client') diff -Nru cinder-8.0.0/cinder/tests/unit/test_rbd.py cinder-8.1.0/cinder/tests/unit/test_rbd.py --- cinder-8.0.0/cinder/tests/unit/test_rbd.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_rbd.py 2016-08-09 15:32:57.000000000 +0000 @@ -422,6 +422,21 @@ @common_mocks @mock.patch('cinder.objects.Volume.get_by_id') + def test_delete_notfound_on_remove_snapshot(self, volume_get_by_id): + volume_get_by_id.return_value = self.volume_a + proxy = self.mock_proxy.return_value + proxy.__enter__.return_value = proxy + + proxy.remove_snap.side_effect = ( + self.mock_rbd.ImageNotFound) + + self.driver.delete_snapshot(self.snapshot) + + proxy.remove_snap.assert_called_with(self.snapshot.name) + proxy.unprotect_snap.assert_called_with(self.snapshot.name) + + @common_mocks + @mock.patch('cinder.objects.Volume.get_by_id') def test_delete_unprotected_snapshot(self, volume_get_by_id): volume_get_by_id.return_value = self.volume_a proxy = self.mock_proxy.return_value diff -Nru cinder-8.0.0/cinder/tests/unit/test_rpc.py cinder-8.1.0/cinder/tests/unit/test_rpc.py --- cinder-8.0.0/cinder/tests/unit/test_rpc.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_rpc.py 2016-08-09 15:32:57.000000000 +0000 @@ -14,6 +14,7 @@ import mock +from cinder.objects import base from cinder import rpc from cinder import test @@ -36,14 +37,14 @@ @mock.patch('cinder.objects.Service.get_minimum_rpc_version', return_value='1.2') @mock.patch('cinder.objects.Service.get_minimum_obj_version', - return_value='1.7') + return_value='1.3') @mock.patch('cinder.rpc.get_client') def test_init(self, get_client, get_min_obj, get_min_rpc): def fake_get_client(target, version_cap, serializer): self.assertEqual(FakeAPI.TOPIC, target.topic) self.assertEqual(FakeAPI.RPC_API_VERSION, target.version) self.assertEqual('1.2', version_cap) - self.assertEqual('1.7', serializer.version_cap) + self.assertEqual('1.3', serializer.version_cap) get_client.side_effect = fake_get_client FakeAPI() @@ -64,6 +65,23 @@ get_client.side_effect = fake_get_client FakeAPI() + @mock.patch('cinder.objects.Service.get_minimum_rpc_version', + return_value=None) + @mock.patch('cinder.objects.Service.get_minimum_obj_version', + return_value=None) + @mock.patch('cinder.objects.base.CinderObjectSerializer') + @mock.patch('cinder.rpc.get_client') + def test_init_none_caps(self, get_client, serializer, get_min_obj, + get_min_rpc): + """Test that with no service latest versions are selected.""" + FakeAPI() + serializer.assert_called_once_with(base.OBJ_VERSIONS.get_current()) + get_client.assert_called_once_with(mock.ANY, + version_cap=FakeAPI.RPC_API_VERSION, + serializer=serializer.return_value) + self.assertTrue(get_min_obj.called) + self.assertTrue(get_min_rpc.called) + @mock.patch('cinder.objects.Service.get_minimum_rpc_version') @mock.patch('cinder.objects.Service.get_minimum_obj_version') @mock.patch('cinder.rpc.get_client') diff -Nru cinder-8.0.0/cinder/tests/unit/test_service.py cinder-8.1.0/cinder/tests/unit/test_service.py --- cinder-8.0.0/cinder/tests/unit/test_service.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_service.py 2016-08-09 15:32:57.000000000 +0000 @@ -136,7 +136,12 @@ binary=self.binary, topic=self.topic) - self.assertTrue(app) + self.assertIsNotNone(app) + + # Check that we have the service ID + self.assertTrue(hasattr(app, 'service_id')) + # Check that the entry has been really created in the DB + objects.Service.get_by_id(context.get_admin_context(), app.service_id) def test_report_state_newly_disconnected(self): service_ref = {'host': self.host, diff -Nru cinder-8.0.0/cinder/tests/unit/test_solidfire.py cinder-8.1.0/cinder/tests/unit/test_solidfire.py --- cinder-8.0.0/cinder/tests/unit/test_solidfire.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_solidfire.py 2016-08-09 15:32:57.000000000 +0000 @@ -24,6 +24,7 @@ from cinder import exception from cinder.objects import fields from cinder import test +from cinder.tests.unit.image import fake as fake_image from cinder.volume import configuration as conf from cinder.volume.drivers import solidfire from cinder.volume import qos_specs @@ -87,7 +88,7 @@ 325355), 'is_public': True, 'owner': 'testprjid'} - self.fake_image_service = 'null' + self.fake_image_service = fake_image.FakeImageService() def fake_build_endpoint_info(obj, **kwargs): endpoint = {} @@ -959,7 +960,19 @@ 'fake')) @mock.patch.object(solidfire.SolidFireDriver, '_create_template_account') - def test_clone_image_authorization(self, _mock_create_template_account): + @mock.patch.object(solidfire.SolidFireDriver, '_create_image_volume') + def test_clone_image_authorization(self, + _mock_create_image_volume, + _mock_create_template_account): + fake_sf_vref = { + 'status': 'active', 'volumeID': 1, + 'attributes': { + 'image_info': + {'image_updated_at': '2014-12-17T00:16:23+00:00', + 'image_id': '155d900f-4e14-4e4c-a73d-069cbf4541e6', + 'image_name': 'fake-image', + 'image_created_at': '2014-12-17T00:16:23+00:00'}}} + _mock_create_image_volume.return_value = fake_sf_vref _mock_create_template_account.return_value = 1 self.configuration.sf_allow_template_caching = True @@ -967,14 +980,24 @@ # Make sure if it's NOT public and we're NOT the owner it # doesn't try and cache - _fake_image_meta = {'id': '17c550bb-a411-44c0-9aaf-0d96dd47f501', - 'updated_at': datetime.datetime(2013, 9, - 28, 15, - 27, 36, - 325355), - 'properties': {'virtual_size': 1}, - 'is_public': False, - 'owner': 'wrong-owner'} + timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3) + _fake_image_meta = { + 'id': '155d900f-4e14-4e4c-a73d-069cbf4541e6', + 'name': 'fakeimage123456', + 'created_at': timestamp, + 'updated_at': timestamp, + 'deleted_at': None, + 'deleted': False, + 'status': 'active', + 'visibility': 'private', + 'protected': False, + 'container_format': 'raw', + 'disk_format': 'raw', + 'owner': 'wrong-owner', + 'properties': {'kernel_id': 'nokernel', + 'ramdisk_id': 'nokernel', + 'architecture': 'x86_64'}} + with mock.patch.object(sfv, '_do_clone_volume', return_value=('fe', 'fi', 'fo')): self.assertEqual((None, False), @@ -982,32 +1005,39 @@ self.mock_volume, 'fake', _fake_image_meta, - 'fake')) + self.fake_image_service)) # And is_public False, but the correct owner does work _fake_image_meta['owner'] = 'testprjid' - self.assertEqual(('fo', True), sfv.clone_image(self.ctxt, - self.mock_volume, - 'fake', - _fake_image_meta, - 'fake')) + self.assertEqual( + ('fo', True), + sfv.clone_image( + self.ctxt, + self.mock_volume, + 'fake', + _fake_image_meta, + self.fake_image_service)) # And is_public True, even if not the correct owner _fake_image_meta['is_public'] = True _fake_image_meta['owner'] = 'wrong-owner' - self.assertEqual(('fo', True), sfv.clone_image(self.ctxt, - self.mock_volume, - 'fake', - _fake_image_meta, - 'fake')) + self.assertEqual( + ('fo', True), + sfv.clone_image(self.ctxt, + self.mock_volume, + 'fake', + _fake_image_meta, + self.fake_image_service)) # And using the new V2 visibility tag _fake_image_meta['visibility'] = 'public' _fake_image_meta['owner'] = 'wrong-owner' - self.assertEqual(('fo', True), sfv.clone_image(self.ctxt, - self.mock_volume, - 'fake', - _fake_image_meta, - 'fake')) + self.assertEqual( + ('fo', True), + sfv.clone_image(self.ctxt, + self.mock_volume, + 'fake', + _fake_image_meta, + self.fake_image_service)) def test_create_template_no_account(self): sfv = solidfire.SolidFireDriver(configuration=self.configuration) diff -Nru cinder-8.0.0/cinder/tests/unit/test_test.py cinder-8.1.0/cinder/tests/unit/test_test.py --- cinder-8.0.0/cinder/tests/unit/test_test.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_test.py 2016-08-09 15:32:57.000000000 +0000 @@ -71,9 +71,3 @@ mock_call = mock.MagicMock(return_value=None) mock_call(1, 'foobar', a='123') mock_call.assert_called_once_with(1, 'foobar', a='123') - - def test_invalid_assert_calls(self): - mock_call = mock.MagicMock() - self.assertRaises(AttributeError, lambda: mock_call.assert_called) - self.assertRaises(AttributeError, - lambda: mock_call.assert_once_called_with) diff -Nru cinder-8.0.0/cinder/tests/unit/test_utils.py cinder-8.1.0/cinder/tests/unit/test_utils.py --- cinder-8.0.0/cinder/tests/unit/test_utils.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_utils.py 2016-08-09 15:32:57.000000000 +0000 @@ -364,15 +364,6 @@ self.assertEqual('sudo cinder-rootwrap /path/to/conf', utils.get_root_helper()) - def test_list_of_dicts_to_dict(self): - a = {'id': '1', 'color': 'orange'} - b = {'id': '2', 'color': 'blue'} - c = {'id': '3', 'color': 'green'} - lst = [a, b, c] - - resp = utils.list_of_dicts_to_dict(lst, 'id') - self.assertEqual(c['id'], resp['3']['id']) - class TemporaryChownTestCase(test.TestCase): @mock.patch('os.stat') diff -Nru cinder-8.0.0/cinder/tests/unit/test_vmware_vmdk.py cinder-8.1.0/cinder/tests/unit/test_vmware_vmdk.py --- cinder-8.0.0/cinder/tests/unit/test_vmware_vmdk.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_vmware_vmdk.py 2016-08-09 15:32:57.000000000 +0000 @@ -54,7 +54,7 @@ """Unit tests for VMwareVcVmdkDriver.""" IP = 'localhost' - PORT = 443 + PORT = 2321 USERNAME = 'username' PASSWORD = 'password' VOLUME_FOLDER = 'cinder-volumes' @@ -84,6 +84,7 @@ self._config = mock.Mock(spec=configuration.Configuration) self._config.vmware_host_ip = self.IP + self._config.vmware_host_port = self.PORT self._config.vmware_host_username = self.USERNAME self._config.vmware_host_password = self.PASSWORD self._config.vmware_wsdl_location = None @@ -400,12 +401,14 @@ @mock.patch.object(VMDK_DRIVER, '_create_virtual_disk_from_sparse_image') @mock.patch.object(VMDK_DRIVER, '_create_virtual_disk_from_preallocated_image') + @mock.patch.object(VMDK_DRIVER, '_get_storage_profile_id') @mock.patch.object(VMDK_DRIVER, '_select_ds_for_volume') @mock.patch.object(VMDK_DRIVER, '_delete_temp_backing') def _test_create_volume_from_non_stream_optimized_image( self, delete_tmp_backing, select_ds_for_volume, + get_storage_profile_id, create_disk_from_preallocated_image, create_disk_from_sparse_image, vops, @@ -440,10 +443,13 @@ vops.get_host.return_value = host vops.get_dc.return_value = dc_ref - vmdk_path = mock.Mock() + vmdk_path = mock.Mock(spec=volumeops.FlatExtentVirtualDiskPath) create_disk_from_sparse_image.return_value = vmdk_path create_disk_from_preallocated_image.return_value = vmdk_path + profile_id = mock.sentinel.profile_id + get_storage_profile_id.return_value = profile_id + if disk_conversion: rp = mock.sentinel.rp folder = mock.sentinel.folder @@ -484,9 +490,10 @@ context, image_service, image_id, image_size_in_bytes, dc_ref, ds_name, folder_path, disk_name, adapter_type) + get_storage_profile_id.assert_called_once_with(volume) vops.attach_disk_to_backing.assert_called_once_with( backing, image_size_in_bytes / units.Ki, disk_type, - adapter_type, vmdk_path.get_descriptor_ds_file_path()) + adapter_type, profile_id, vmdk_path.get_descriptor_ds_file_path()) if disk_conversion: select_ds_for_volume.assert_called_once_with(volume) @@ -780,7 +787,7 @@ select_ds_for_volume.assert_called_once_with(volume) vops.get_create_spec.assert_called_once_with( - volume['name'], 0, disk_type, summary.name, profileId=profile_id, + volume['name'], 0, disk_type, summary.name, profile_id=profile_id, adapter_type=adapter_type, extra_config=extra_config) self.assertEqual(vm_create_spec, import_spec.configSpec) download_image.assert_called_with( @@ -790,7 +797,7 @@ image_id, session=session, host=self._config.vmware_host_ip, - port=443, + port=self._config.vmware_host_port, resource_pool=rp, vm_folder=folder, vm_import_spec=import_spec, @@ -849,7 +856,7 @@ volume['project_id'], session=session, host=self._config.vmware_host_ip, - port=443, + port=self._config.vmware_host_port, vm=backing, vmdk_file_path=vmdk_file_path, vmdk_size=volume['size'] * units.Gi, @@ -1362,9 +1369,11 @@ extra_config=extra_config) file_open.assert_called_once_with(tmp_file_path, "rb") download_data.assert_called_once_with( - context, self.IMG_TX_TIMEOUT, tmp_file, session=session, - host=self.IP, port=self.PORT, resource_pool=rp, vm_folder=folder, - vm_import_spec=import_spec, image_size=file_size_bytes) + context, self._config.vmware_image_transfer_timeout_secs, tmp_file, + session=session, host=self._config.vmware_host_ip, + port=self._config.vmware_host_port, resource_pool=rp, + vm_folder=folder, vm_import_spec=import_spec, + image_size=file_size_bytes) download_data.side_effect = exceptions.VimException("error") backing = mock.sentinel.backing @@ -2028,10 +2037,18 @@ vops.get_entity_name.assert_called_once_with(dc_ref) cookies = session.vim.client.options.transport.cookiejar download_flat_image.assert_called_once_with( - context, self.IMG_TX_TIMEOUT, image_service, image_id, - image_size=image_size_in_bytes, host=self.IP, port=self.PORT, - data_center_name=dc_name, datastore_name=ds_name, cookies=cookies, - file_path=upload_file_path, cacerts=expected_cacerts) + context, + self._config.vmware_image_transfer_timeout_secs, + image_service, + image_id, + image_size=image_size_in_bytes, + host=self._config.vmware_host_ip, + port=self._config.vmware_host_port, + data_center_name=dc_name, + datastore_name=ds_name, + cookies=cookies, + file_path=upload_file_path, + cacerts=expected_cacerts) @mock.patch.object(VMDK_DRIVER, 'volumeops') @mock.patch.object(VMDK_DRIVER, 'session') @@ -2424,11 +2441,12 @@ @mock.patch.object(VMDK_DRIVER, '_create_backing') @mock.patch.object(VMDK_DRIVER, 'volumeops') @mock.patch.object(VMDK_DRIVER, '_get_ds_name_folder_path') + @mock.patch.object(VMDK_DRIVER, '_get_storage_profile_id') @mock.patch('cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver.' '_get_disk_type') def test_manage_existing( - self, get_disk_type, get_ds_name_folder_path, vops, - create_backing, get_existing): + self, get_disk_type, get_storage_profile_id, + get_ds_name_folder_path, vops, create_backing, get_existing): vm = mock.sentinel.vm src_path = mock.sentinel.src_path @@ -2448,6 +2466,9 @@ folder_path = "%s/" % volume['name'] get_ds_name_folder_path.return_value = (ds_name, folder_path) + profile_id = mock.sentinel.profile_id + get_storage_profile_id.return_value = profile_id + disk_type = mock.sentinel.disk_type get_disk_type.return_value = disk_type @@ -2461,9 +2482,10 @@ dest_path = "[%s] %s%s.vmdk" % (ds_name, folder_path, volume['name']) vops.move_vmdk_file.assert_called_once_with( src_dc, src_path, dest_path, dest_dc_ref=dest_dc) + get_storage_profile_id.assert_called_once_with(volume) vops.attach_disk_to_backing.assert_called_once_with( backing, disk_device.capacityInKB, disk_type, 'lsiLogic', - dest_path) + profile_id, dest_path) vops.update_backing_disk_uuid.assert_called_once_with(backing, volume['id']) @@ -2481,6 +2503,7 @@ self._config.vmware_task_poll_interval, wsdl_loc=self._config.safe_get('vmware_wsdl_location'), pbm_wsdl_loc=None, + port=self._config.vmware_host_port, cacert=self._config.vmware_ca_file, insecure=self._config.vmware_insecure) diff -Nru cinder-8.0.0/cinder/tests/unit/test_vmware_volumeops.py cinder-8.1.0/cinder/tests/unit/test_vmware_volumeops.py --- cinder-8.0.0/cinder/tests/unit/test_vmware_volumeops.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_vmware_volumeops.py 2016-08-09 15:32:57.000000000 +0000 @@ -740,9 +740,11 @@ size_kb = units.Ki controller_key = 200 disk_type = 'thick' + profile_id = mock.sentinel.profile_id spec = self.vops._create_virtual_disk_config_spec(size_kb, disk_type, controller_key, + profile_id, None) cf.create.side_effect = None @@ -756,6 +758,9 @@ backing = device.backing self.assertEqual('', backing.fileName) self.assertEqual('persistent', backing.diskMode) + disk_profiles = spec.profile + self.assertEqual(1, len(disk_profiles)) + self.assertEqual(profile_id, disk_profiles[0].profileId) def test_create_specs_for_ide_disk_add(self): factory = self.session.vim.client.factory @@ -764,8 +769,9 @@ size_kb = 1 disk_type = 'thin' adapter_type = 'ide' + profile_id = mock.sentinel.profile_id ret = self.vops._create_specs_for_disk_add(size_kb, disk_type, - adapter_type) + adapter_type, profile_id) factory.create.side_effect = None self.assertEqual(1, len(ret)) @@ -783,8 +789,9 @@ size_kb = 2 * units.Ki disk_type = 'thin' adapter_type = 'lsiLogicsas' + profile_id = mock.sentinel.profile_id ret = self.vops._create_specs_for_disk_add(size_kb, disk_type, - adapter_type) + adapter_type, profile_id) factory.create.side_effect = None self.assertEqual(2, len(ret)) @@ -834,17 +841,17 @@ size_kb = 1024 disk_type = 'thin' ds_name = 'nfs-1' - profileId = mock.sentinel.profile_id + profile_id = mock.sentinel.profile_id adapter_type = 'busLogic' extra_config = mock.sentinel.extra_config self.vops.get_create_spec(name, size_kb, disk_type, ds_name, - profileId, adapter_type, extra_config) + profile_id, adapter_type, extra_config) get_create_spec_disk_less.assert_called_once_with( - name, ds_name, profileId=profileId, extra_config=extra_config) + name, ds_name, profileId=profile_id, extra_config=extra_config) create_specs_for_disk_add.assert_called_once_with( - size_kb, disk_type, adapter_type) + size_kb, disk_type, adapter_type, profile_id) @mock.patch('cinder.volume.drivers.vmware.volumeops.VMwareVolumeOps.' 'get_create_spec') @@ -871,7 +878,7 @@ profile_id, adapter_type, extra_config) self.assertEqual(mock.sentinel.result, ret) get_create_spec.assert_called_once_with( - name, size_kb, disk_type, ds_name, profileId=profile_id, + name, size_kb, disk_type, ds_name, profile_id=profile_id, adapter_type=adapter_type, extra_config=extra_config) self.session.invoke_api.assert_called_once_with(self.session.vim, 'CreateVM_Task', @@ -1296,14 +1303,16 @@ size_in_kb = units.Ki disk_type = "thin" adapter_type = "ide" - vmdk_ds_file_path = mock.Mock() + profile_id = mock.sentinel.profile_id + vmdk_ds_file_path = mock.sentinel.vmdk_ds_file_path self.vops.attach_disk_to_backing(backing, size_in_kb, disk_type, - adapter_type, vmdk_ds_file_path) + adapter_type, profile_id, + vmdk_ds_file_path) self.assertEqual(disk_add_config_specs, reconfig_spec.deviceChange) - create_spec.assert_called_once_with(size_in_kb, disk_type, - adapter_type, - vmdk_ds_file_path) + create_spec.assert_called_once_with( + size_in_kb, disk_type, adapter_type, profile_id, + vmdk_ds_file_path=vmdk_ds_file_path) self.session.invoke_api.assert_called_once_with(self.session.vim, "ReconfigVM_Task", backing, @@ -1958,6 +1967,8 @@ self.assertTrue(volumeops.VirtualDiskAdapterType.is_valid("busLogic")) self.assertTrue(volumeops.VirtualDiskAdapterType.is_valid( "lsiLogicsas")) + self.assertTrue( + volumeops.VirtualDiskAdapterType.is_valid("paraVirtual")) self.assertTrue(volumeops.VirtualDiskAdapterType.is_valid("ide")) self.assertFalse(volumeops.VirtualDiskAdapterType.is_valid("pvscsi")) @@ -1965,6 +1976,7 @@ volumeops.VirtualDiskAdapterType.validate("lsiLogic") volumeops.VirtualDiskAdapterType.validate("busLogic") volumeops.VirtualDiskAdapterType.validate("lsiLogicsas") + volumeops.VirtualDiskAdapterType.validate("paraVirtual") volumeops.VirtualDiskAdapterType.validate("ide") self.assertRaises(vmdk_exceptions.InvalidAdapterTypeException, volumeops.VirtualDiskAdapterType.validate, @@ -1980,6 +1992,9 @@ self.assertEqual("lsiLogic", volumeops.VirtualDiskAdapterType.get_adapter_type( "lsiLogicsas")) + self.assertEqual("lsiLogic", + volumeops.VirtualDiskAdapterType.get_adapter_type( + "paraVirtual")) self.assertEqual("ide", volumeops.VirtualDiskAdapterType.get_adapter_type( "ide")) @@ -2001,6 +2016,9 @@ self.assertEqual(volumeops.ControllerType.LSI_LOGIC_SAS, volumeops.ControllerType.get_controller_type( 'lsiLogicsas')) + self.assertEqual(volumeops.ControllerType.PARA_VIRTUAL, + volumeops.ControllerType.get_controller_type( + 'paraVirtual')) self.assertEqual(volumeops.ControllerType.IDE, volumeops.ControllerType.get_controller_type( 'ide')) @@ -2015,5 +2033,7 @@ volumeops.ControllerType.BUS_LOGIC)) self.assertTrue(volumeops.ControllerType.is_scsi_controller( volumeops.ControllerType.LSI_LOGIC_SAS)) + self.assertTrue(volumeops.ControllerType.is_scsi_controller( + volumeops.ControllerType.PARA_VIRTUAL)) self.assertFalse(volumeops.ControllerType.is_scsi_controller( volumeops.ControllerType.IDE)) diff -Nru cinder-8.0.0/cinder/tests/unit/test_volume.py cinder-8.1.0/cinder/tests/unit/test_volume.py --- cinder-8.0.0/cinder/tests/unit/test_volume.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/test_volume.py 2016-08-09 15:32:57.000000000 +0000 @@ -437,20 +437,89 @@ self.volume.delete_volume(self.context, vol3['id']) self.volume.delete_volume(self.context, vol4['id']) + @mock.patch.object(driver.BaseVD, "update_provider_info") + def test_init_host_sync_provider_info(self, mock_update): + vol0 = tests_utils.create_volume( + self.context, size=1, host=CONF.host) + vol1 = tests_utils.create_volume( + self.context, size=1, host=CONF.host) + snap0 = tests_utils.create_snapshot(self.context, vol0.id) + snap1 = tests_utils.create_snapshot(self.context, vol1.id) + # Return values for update_provider_info + volumes = [{'id': vol0.id, 'provider_id': '1 2 xxxx'}, + {'id': vol1.id, 'provider_id': '3 4 yyyy'}] + snapshots = [{'id': snap0.id, 'provider_id': '5 6 xxxx'}, + {'id': snap1.id, 'provider_id': '7 8 yyyy'}] + mock_update.return_value = (volumes, snapshots) + # initialize + self.volume.init_host() + # Grab volume and snapshot objects + vol0_obj = objects.Volume.get_by_id(context.get_admin_context(), + vol0.id) + vol1_obj = objects.Volume.get_by_id(context.get_admin_context(), + vol1.id) + snap0_obj = objects.Snapshot.get_by_id(self.context, snap0.id) + snap1_obj = objects.Snapshot.get_by_id(self.context, snap1.id) + # Check updated provider ids + self.assertEqual('1 2 xxxx', vol0_obj.provider_id) + self.assertEqual('3 4 yyyy', vol1_obj.provider_id) + self.assertEqual('5 6 xxxx', snap0_obj.provider_id) + self.assertEqual('7 8 yyyy', snap1_obj.provider_id) + # Clean up + self.volume.delete_snapshot(self.context, snap0_obj) + self.volume.delete_snapshot(self.context, snap1_obj) + self.volume.delete_volume(self.context, vol0.id) + self.volume.delete_volume(self.context, vol1.id) + + @mock.patch.object(driver.BaseVD, "update_provider_info") + def test_init_host_sync_provider_info_no_update(self, mock_update): + vol0 = tests_utils.create_volume( + self.context, size=1, host=CONF.host) + vol1 = tests_utils.create_volume( + self.context, size=1, host=CONF.host) + snap0 = tests_utils.create_snapshot(self.context, vol0.id) + snap1 = tests_utils.create_snapshot(self.context, vol1.id) + mock_update.return_value = ([], []) + # initialize + self.volume.init_host() + # Grab volume and snapshot objects + vol0_obj = objects.Volume.get_by_id(context.get_admin_context(), + vol0.id) + vol1_obj = objects.Volume.get_by_id(context.get_admin_context(), + vol1.id) + snap0_obj = objects.Snapshot.get_by_id(self.context, snap0.id) + snap1_obj = objects.Snapshot.get_by_id(self.context, snap1.id) + # Check provider ids are not changed + self.assertIsNone(vol0_obj.provider_id) + self.assertIsNone(vol1_obj.provider_id) + self.assertIsNone(snap0_obj.provider_id) + self.assertIsNone(snap1_obj.provider_id) + # Clean up + self.volume.delete_snapshot(self.context, snap0_obj) + self.volume.delete_snapshot(self.context, snap1_obj) + self.volume.delete_volume(self.context, vol0.id) + self.volume.delete_volume(self.context, vol1.id) + + @mock.patch('cinder.objects.service.Service.get_minimum_rpc_version') + @mock.patch('cinder.objects.service.Service.get_minimum_obj_version') @mock.patch('cinder.rpc.LAST_RPC_VERSIONS', {'cinder-scheduler': '1.3'}) - @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-scheduler': '1.5'}) - def test_reset(self): + @mock.patch('cinder.rpc.LAST_OBJ_VERSIONS', {'cinder-scheduler': '1.3'}) + def test_reset(self, get_min_obj, get_min_rpc): vol_mgr = vol_manager.VolumeManager() scheduler_rpcapi = vol_mgr.scheduler_rpcapi self.assertEqual('1.3', scheduler_rpcapi.client.version_cap) - self.assertEqual('1.5', + self.assertEqual('1.3', scheduler_rpcapi.client.serializer._base.version_cap) + get_min_obj.return_value = objects.base.OBJ_VERSIONS.get_current() vol_mgr.reset() scheduler_rpcapi = vol_mgr.scheduler_rpcapi - self.assertIsNone(scheduler_rpcapi.client.version_cap) - self.assertIsNone(scheduler_rpcapi.client.serializer._base.version_cap) + self.assertEqual(get_min_rpc.return_value, + scheduler_rpcapi.client.version_cap) + self.assertEqual(get_min_obj.return_value, + scheduler_rpcapi.client.serializer._base.version_cap) + self.assertIsNone(scheduler_rpcapi.client.serializer._base.manifest) @mock.patch.object(vol_manager.VolumeManager, 'update_service_capabilities') @@ -6360,6 +6429,26 @@ mock_volume_get.assert_called_with(self.context, vol['id']) + def test_create_temp_cloned_volume(self): + with mock.patch.object( + self.volume.driver, + 'create_cloned_volume') as mock_create_cloned_volume: + model_update = {'provider_location': 'dummy'} + mock_create_cloned_volume.return_value = model_update + vol = tests_utils.create_volume(self.context, + status='backing-up') + cloned_vol = self.volume.driver._create_temp_cloned_volume( + self.context, vol) + self.assertEqual('dummy', cloned_vol['provider_location']) + self.assertEqual('available', cloned_vol['status']) + + mock_create_cloned_volume.return_value = None + vol = tests_utils.create_volume(self.context, + status='backing-up') + cloned_vol = self.volume.driver._create_temp_cloned_volume( + self.context, vol) + self.assertEqual('available', cloned_vol['status']) + @mock.patch.object(utils, 'temporary_chown') @mock.patch('six.moves.builtins.open') @mock.patch.object(os_brick.initiator.connector, @@ -6405,73 +6494,6 @@ self.volume.driver._delete_temp_volume.assert_called_once_with( self.context, temp_vol) - @mock.patch.object(cinder.volume.driver.VolumeDriver, - 'backup_use_temp_snapshot', - return_value=True) - @mock.patch.object(utils, 'temporary_chown') - @mock.patch('six.moves.builtins.open') - @mock.patch.object(os_brick.initiator.connector.LocalConnector, - 'connect_volume') - @mock.patch.object(os_brick.initiator.connector.LocalConnector, - 'check_valid_device', - return_value=True) - @mock.patch.object(os_brick.initiator.connector, - 'get_connector_properties', - return_value={}) - @mock.patch.object(db.sqlalchemy.api, 'volume_get') - def test_backup_volume_inuse_temp_snapshot(self, mock_volume_get, - mock_get_connector_properties, - mock_check_device, - mock_connect_volume, - mock_file_open, - mock_temporary_chown, - mock_temp_snapshot): - vol = tests_utils.create_volume(self.context, - status='backing-up', - previous_status='in-use') - self.context.user_id = fake.user_id - self.context.project_id = fake.project_id - backup = tests_utils.create_backup(self.context, - vol['id']) - backup_obj = objects.Backup.get_by_id(self.context, backup.id) - attach_info = {'device': {'path': '/dev/null'}, - 'driver_volume_type': 'LOCAL', - 'data': {}} - backup_service = mock.Mock() - - self.volume.driver.terminate_connection_snapshot = mock.MagicMock() - self.volume.driver.initialize_connection_snapshot = mock.MagicMock() - self.volume.driver.create_snapshot = mock.MagicMock() - self.volume.driver.delete_snapshot = mock.MagicMock() - self.volume.driver.create_export_snapshot = mock.MagicMock() - self.volume.driver.remove_export_snapshot = mock.MagicMock() - - mock_volume_get.return_value = vol - mock_connect_volume.return_value = {'type': 'local', - 'path': '/dev/null'} - f = mock_file_open.return_value = open('/dev/null', 'rb') - - self.volume.driver._connect_device - backup_service.backup(backup_obj, f, None) - self.volume.driver.initialize_connection_snapshot.return_value = ( - attach_info) - self.volume.driver.create_export_snapshot.return_value = ( - {'provider_location': '/dev/null', - 'provider_auth': 'xxxxxxxx'}) - - self.volume.driver.backup_volume(self.context, backup_obj, - backup_service) - - mock_volume_get.assert_called_with(self.context, vol['id']) - self.assertTrue(self.volume.driver.create_snapshot.called) - self.assertTrue(self.volume.driver.create_export_snapshot.called) - self.assertTrue( - self.volume.driver.initialize_connection_snapshot.called) - self.assertTrue( - self.volume.driver.terminate_connection_snapshot.called) - self.assertTrue(self.volume.driver.remove_export_snapshot.called) - self.assertTrue(self.volume.driver.delete_snapshot.called) - @mock.patch.object(utils, 'temporary_chown') @mock.patch.object(os_brick.initiator.connector, 'get_connector_properties') diff -Nru cinder-8.0.0/cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py cinder-8.1.0/cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py --- cinder-8.0.0/cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py 2016-08-09 15:32:57.000000000 +0000 @@ -38,6 +38,7 @@ FLEXVOL = 'openstack-flexvol' NFS_FILE_PATH = 'nfsvol' PATH = '/vol/%s/%s' % (POOL_NAME, LUN_NAME) +IMAGE_FILE_ID = 'img-cache-imgid' LUN_METADATA = { 'OsType': None, 'SpaceReserved': 'true', diff -Nru cinder-8.0.0/cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_cmode.py cinder-8.1.0/cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_cmode.py --- cinder-8.0.0/cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_cmode.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/volume/drivers/netapp/dataontap/test_nfs_cmode.py 2016-08-09 15:32:57.000000000 +0000 @@ -55,6 +55,7 @@ self.driver.vserver = fake.VSERVER_NAME self.driver.ssc_enabled = True self.driver.perf_library = mock.Mock() + self.driver.zapi_client = mock.Mock() def get_config_cmode(self): config = na_fakes.create_configuration_cmode() @@ -65,6 +66,7 @@ config.netapp_transport_type = 'http' config.netapp_server_port = '80' config.netapp_vserver = fake.VSERVER_NAME + config.netapp_copyoffload_tool_path = 'copyoffload_tool_path' return config @mock.patch.object(perf_cmode, 'PerformanceCmodeLibrary', mock.Mock()) @@ -174,7 +176,6 @@ ssc_cmode, 'check_ssc_api_permissions') mock_start_periodic_tasks = self.mock_object( self.driver, '_start_periodic_tasks') - self.driver.zapi_client = mock.Mock() self.driver.check_for_setup_error() @@ -188,7 +189,6 @@ fake_volume = {'provider_location': fake_provider_location} self.mock_object(self.driver, '_delete_backing_file_for_volume') self.mock_object(na_utils, 'get_valid_qos_policy_group_info') - self.driver.zapi_client = mock.Mock() mock_prov_deprov = self.mock_object(self.driver, '_post_prov_deprov_in_ssc') @@ -235,7 +235,6 @@ def test_delete_volume_on_filer(self): mock_get_vs_ip = self.mock_object(self.driver, '_get_export_ip_path') mock_get_vs_ip.return_value = (fake.VSERVER_NAME, '/%s' % fake.FLEXVOL) - self.driver.zapi_client = mock.Mock() mock_zapi_delete = self.driver.zapi_client.delete_file self.driver._delete_volume_on_filer(fake.NFS_VOLUME) @@ -285,7 +284,6 @@ def test_delete_snapshot_on_filer(self): mock_get_vs_ip = self.mock_object(self.driver, '_get_export_ip_path') mock_get_vs_ip.return_value = (fake.VSERVER_NAME, '/%s' % fake.FLEXVOL) - self.driver.zapi_client = mock.Mock() mock_zapi_delete = self.driver.zapi_client.delete_file self.driver._delete_snapshot_on_filer(fake.test_snapshot) @@ -298,7 +296,6 @@ mock_get_info = self.mock_object(na_utils, 'get_valid_qos_policy_group_info') mock_get_info.return_value = fake.QOS_POLICY_GROUP_INFO - self.driver.zapi_client = mock.Mock() mock_provision_qos = self.driver.zapi_client.provision_qos_policy_group mock_set_policy = self.mock_object(self.driver, '_set_qos_policy_group_on_volume') @@ -323,7 +320,6 @@ mock_get_info = self.mock_object(na_utils, 'get_valid_qos_policy_group_info') mock_get_info.return_value = fake.QOS_POLICY_GROUP_INFO - self.driver.zapi_client = mock.Mock() mock_provision_qos = self.driver.zapi_client.provision_qos_policy_group mock_set_policy = self.mock_object(self.driver, '_set_qos_policy_group_on_volume') @@ -354,7 +350,6 @@ mock_get_info = self.mock_object(na_utils, 'get_valid_qos_policy_group_info') mock_get_info.side_effect = exception.Invalid - self.driver.zapi_client = mock.Mock() mock_provision_qos = self.driver.zapi_client.provision_qos_policy_group mock_set_policy = self.mock_object(self.driver, '_set_qos_policy_group_on_volume') @@ -383,7 +378,6 @@ mock_extract_host = self.mock_object(volume_utils, 'extract_host') mock_extract_host.return_value = fake.NFS_SHARE - self.driver.zapi_client = mock.Mock() mock_get_flex_vol_name =\ self.driver.zapi_client.get_vol_by_junc_vserver mock_get_flex_vol_name.return_value = fake.FLEXVOL @@ -410,7 +404,6 @@ mock_extract_host = self.mock_object(volume_utils, 'extract_host') - self.driver.zapi_client = mock.Mock() mock_get_flex_vol_name =\ self.driver.zapi_client.get_vol_by_junc_vserver @@ -432,7 +425,6 @@ mock_extract_host = self.mock_object(volume_utils, 'extract_host') - self.driver.zapi_client = mock.Mock() mock_get_flex_vol_name =\ self.driver.zapi_client.get_vol_by_junc_vserver @@ -452,7 +444,6 @@ 'get_valid_qos_policy_group_info') mock_get_info.return_value = fake.QOS_POLICY_GROUP_INFO - self.driver.zapi_client = mock.Mock() mock_mark_for_deletion =\ self.driver.zapi_client.mark_qos_policy_group_for_deletion @@ -507,7 +498,6 @@ def test_start_periodic_tasks(self): - self.driver.zapi_client = mock.Mock() mock_remove_unused_qos_policy_groups = self.mock_object( self.driver.zapi_client, 'remove_unused_qos_policy_groups') @@ -618,3 +608,181 @@ def test_get_vol_for_share_no_ssc_vols(self): with mock.patch.object(self.driver, 'ssc_vols', None): self.assertIsNone(self.driver._get_vol_for_share(fake.NFS_SHARE)) + + def test_find_image_location_with_local_copy(self): + local_share = '/share' + cache_result = [ + ('ip1:/openstack', 'img-cache-imgid'), + ('ip2:/openstack', 'img-cache-imgid'), + (local_share, 'img-cache-imgid'), + ('ip3:/openstack', 'img-cache-imgid'), + ] + self.driver._get_provider_location = mock.Mock( + return_value=local_share) + + cache_copy, found_local_copy = self.driver._find_image_location( + cache_result, fake.VOLUME_ID) + + self.assertEqual(cache_result[2], cache_copy) + self.assertTrue(found_local_copy) + self.driver._get_provider_location.assert_called_once_with( + fake.VOLUME_ID) + + def test_find_image_location_with_remote_copy(self): + cache_result = [('ip1:/openstack', 'img-cache-imgid')] + self.driver._get_provider_location = mock.Mock(return_value='/share') + + cache_copy, found_local_copy = self.driver._find_image_location( + cache_result, fake.VOLUME_ID) + + self.assertEqual(cache_result[0], cache_copy) + self.assertFalse(found_local_copy) + self.driver._get_provider_location.assert_called_once_with( + fake.VOLUME_ID) + + def test_find_image_location_without_cache_copy(self): + cache_result = [] + self.driver._get_provider_location = mock.Mock(return_value='/share') + + cache_copy, found_local_copy = self.driver._find_image_location( + cache_result, fake.VOLUME_ID) + + self.assertIsNone(cache_copy) + self.assertFalse(found_local_copy) + self.driver._get_provider_location.assert_called_once_with( + fake.VOLUME_ID) + + def test_clone_file_dest_exists(self): + self.driver._get_vserver_and_exp_vol = mock.Mock( + return_value=(fake.VSERVER_NAME, fake.EXPORT_PATH)) + self.driver.zapi_client.clone_file = mock.Mock() + + self.driver._clone_file_dst_exists( + fake.NFS_SHARE, fake.IMAGE_FILE_ID, fake.VOLUME['name'], + dest_exists=True) + + self.driver._get_vserver_and_exp_vol.assert_called_once_with( + share=fake.NFS_SHARE) + self.driver.zapi_client.clone_file.assert_called_once_with( + fake.EXPORT_PATH, fake.IMAGE_FILE_ID, fake.VOLUME['name'], + fake.VSERVER_NAME, dest_exists=True) + + def test_get_source_ip_and_path(self): + self.driver._get_ip_verify_on_cluster = mock.Mock( + return_value=fake.SHARE_IP) + + src_ip, src_path = self.driver._get_source_ip_and_path( + fake.NFS_SHARE, fake.IMAGE_FILE_ID) + + self.assertEqual(fake.SHARE_IP, src_ip) + assert_path = fake.EXPORT_PATH + '/' + fake.IMAGE_FILE_ID + self.assertEqual(assert_path, src_path) + self.driver._get_ip_verify_on_cluster.assert_called_once_with( + fake.SHARE_IP) + + def test_get_destination_ip_and_path(self): + self.driver._get_ip_verify_on_cluster = mock.Mock( + return_value=fake.SHARE_IP) + self.driver._get_host_ip = mock.Mock(return_value='host.ip') + self.driver._get_export_path = mock.Mock(return_value=fake.EXPORT_PATH) + + dest_ip, dest_path = self.driver._get_destination_ip_and_path( + fake.VOLUME) + + self.assertEqual(fake.SHARE_IP, dest_ip) + assert_path = fake.EXPORT_PATH + '/' + fake.LUN_NAME + self.assertEqual(assert_path, dest_path) + self.driver._get_ip_verify_on_cluster.assert_called_once_with( + 'host.ip') + self.driver._get_host_ip.assert_called_once_with(fake.VOLUME_ID) + self.driver._get_export_path.assert_called_once_with(fake.VOLUME_ID) + + def test_copy_from_remote_cache(self): + source_ip = '192.0.1.1' + source_path = '/openstack/img-cache-imgid' + cache_copy = ('192.0.1.1:/openstack', fake.IMAGE_FILE_ID) + dest_path = fake.EXPORT_PATH + '/' + fake.VOLUME['name'] + self.driver._execute = mock.Mock() + self.driver._get_source_ip_and_path = mock.Mock( + return_value=(source_ip, source_path)) + self.driver._get_destination_ip_and_path = mock.Mock( + return_value=(fake.SHARE_IP, dest_path)) + self.driver._register_image_in_cache = mock.Mock() + + self.driver._copy_from_remote_cache( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_copy) + + self.driver._execute.assert_called_once_with( + 'copyoffload_tool_path', source_ip, fake.SHARE_IP, + source_path, dest_path, run_as_root=False, check_exit_code=0) + self.driver._get_source_ip_and_path.assert_called_once_with( + cache_copy[0], fake.IMAGE_FILE_ID) + self.driver._get_destination_ip_and_path.assert_called_once_with( + fake.VOLUME) + self.driver._register_image_in_cache.assert_called_once_with( + fake.VOLUME, fake.IMAGE_FILE_ID) + + def test_copy_from_cache_workflow_remote_location(self): + cache_result = [('ip1:/openstack', fake.IMAGE_FILE_ID), + ('ip2:/openstack', fake.IMAGE_FILE_ID), + ('ip3:/openstack', fake.IMAGE_FILE_ID)] + self.driver._find_image_location = mock.Mock(return_value=[ + cache_result[0], False]) + self.driver._copy_from_remote_cache = mock.Mock() + self.driver._post_clone_image = mock.Mock() + + copied = self.driver._copy_from_cache( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result) + + self.assertTrue(copied) + self.driver._copy_from_remote_cache.assert_called_once_with( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result[0]) + self.driver._post_clone_image.assert_called_once_with(fake.VOLUME) + + def test_copy_from_cache_workflow_local_location(self): + local_share = '/share' + cache_result = [ + ('ip1:/openstack', 'img-cache-imgid'), + ('ip2:/openstack', 'img-cache-imgid'), + (local_share, 'img-cache-imgid'), + ('ip3:/openstack', 'img-cache-imgid'), + ] + self.driver._find_image_location = mock.Mock(return_value=[ + cache_result[2], True]) + self.driver._clone_file_dst_exists = mock.Mock() + self.driver._post_clone_image = mock.Mock() + + copied = self.driver._copy_from_cache( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result) + + self.assertTrue(copied) + self.driver._clone_file_dst_exists.assert_called_once_with( + local_share, fake.IMAGE_FILE_ID, fake.VOLUME['name'], + dest_exists=True) + self.driver._post_clone_image.assert_called_once_with(fake.VOLUME) + + def test_copy_from_cache_workflow_no_location(self): + cache_result = [] + self.driver._find_image_location = mock.Mock( + return_value=(None, False)) + + copied = self.driver._copy_from_cache( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result) + + self.assertFalse(copied) + + def test_copy_from_cache_workflow_exception(self): + cache_result = [('ip1:/openstack', fake.IMAGE_FILE_ID)] + self.driver._find_image_location = mock.Mock(return_value=[ + cache_result[0], False]) + self.driver._copy_from_remote_cache = mock.Mock( + side_effect=Exception) + self.driver._post_clone_image = mock.Mock() + + copied = self.driver._copy_from_cache( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result) + + self.assertFalse(copied) + self.driver._copy_from_remote_cache.assert_called_once_with( + fake.VOLUME, fake.IMAGE_FILE_ID, cache_result[0]) + self.assertFalse(self.driver._post_clone_image.called) diff -Nru cinder-8.0.0/cinder/tests/unit/zonemanager/test_brcd_fc_san_lookup_service.py cinder-8.1.0/cinder/tests/unit/zonemanager/test_brcd_fc_san_lookup_service.py --- cinder-8.0.0/cinder/tests/unit/zonemanager/test_brcd_fc_san_lookup_service.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/tests/unit/zonemanager/test_brcd_fc_san_lookup_service.py 2016-08-09 15:32:54.000000000 +0000 @@ -1,4 +1,4 @@ -# (c) Copyright 2014 Brocade Communications Systems Inc. +# (c) Copyright 2016 Brocade Communications Systems Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may @@ -18,16 +18,13 @@ """Unit tests for brcd fc san lookup service.""" import mock -from oslo_concurrency import processutils as putils from oslo_config import cfg +from oslo_utils import importutils -from cinder import exception -from cinder import ssh_utils from cinder import test from cinder.volume import configuration as conf import cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service \ as brcd_lookup -from cinder.zonemanager.drivers.brocade import fc_zone_constants parsed_switch_port_wwns = ['20:1a:00:05:1e:e8:e3:29', @@ -76,6 +73,10 @@ self.configuration.set_default('fc_fabric_names', 'BRCD_FAB_2', 'fc-zone-manager') self.configuration.fc_fabric_names = 'BRCD_FAB_2' + self.configuration.brcd_sb_connector = ('cinder.tests.unit.zonemanager' + '.test_brcd_fc_san_lookup_' + 'service' + '.FakeBrcdFCZoneClientCLI') self.create_configuration() # override some of the functions @@ -98,46 +99,57 @@ config = conf.Configuration(fc_fabric_opts, 'BRCD_FAB_2') self.fabric_configs = {'BRCD_FAB_2': config} + def get_client(self, protocol='HTTPS'): + conn = ('cinder.tests.unit.zonemanager.' + 'test_brcd_fc_san_lookup_service.' + + ('FakeBrcdFCZoneClientCLI' if protocol == "CLI" + else 'FakeBrcdHttpFCZoneClient')) + client = importutils.import_object( + conn, + ipaddress="10.24.48.213", + username="admin", + password="password", + key="/home/stack/.ssh/id_rsa", + port=22, + vfid="2", + protocol=protocol + ) + return client + @mock.patch.object(brcd_lookup.BrcdFCSanLookupService, - 'get_nameserver_info') - @mock.patch('cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service' - '.ssh_utils.SSHPool') - def test_get_device_mapping_from_network(self, mock_ssh_pool, - get_nameserver_info_mock): + '_get_southbound_client') + def test_get_device_mapping_from_network(self, get_southbound_client_mock): initiator_list = [parsed_switch_port_wwns[1]] target_list = [parsed_switch_port_wwns[0], '20240002ac000a40'] - get_nameserver_info_mock.return_value = parsed_switch_port_wwns + get_southbound_client_mock.return_value = self.get_client("HTTPS") device_map = self.get_device_mapping_from_network( initiator_list, target_list) self.assertDictMatch(_device_map_to_verify, device_map) - @mock.patch.object(brcd_lookup.BrcdFCSanLookupService, '_get_switch_data') - def test_get_nameserver_info(self, get_switch_data_mock): - ns_info_list = [] - - get_switch_data_mock.return_value = (switch_data) - # get_switch_data will be called twice with the results appended - ns_info_list_expected = (parsed_switch_port_wwns + - parsed_switch_port_wwns) - - ns_info_list = self.get_nameserver_info(None) - self.assertEqual(ns_info_list_expected, ns_info_list) - - @mock.patch.object(putils, 'ssh_execute', return_value=(switch_data, '')) - @mock.patch.object(ssh_utils.SSHPool, 'item') - def test__get_switch_data(self, ssh_pool_mock, ssh_execute_mock): - actual_switch_data = self._get_switch_data(ssh_pool_mock, - fc_zone_constants.NS_SHOW) - self.assertEqual(actual_switch_data, switch_data) - ssh_execute_mock.side_effect = putils.ProcessExecutionError() - self.assertRaises(exception.FCSanLookupServiceException, - self._get_switch_data, ssh_pool_mock, - fc_zone_constants.NS_SHOW) - - def test__parse_ns_output(self): - invalid_switch_data = ' N 011a00;20:1a:00:05:1e:e8:e3:29' - return_wwn_list = [] - return_wwn_list = self._parse_ns_output(switch_data) - self.assertEqual(parsed_switch_port_wwns, return_wwn_list) - self.assertRaises(exception.InvalidParameterValue, - self._parse_ns_output, invalid_switch_data) + +class FakeClient(object): + def is_supported_firmware(self): + return True + + def get_nameserver_info(self): + ns_info_list_expected = (parsed_switch_port_wwns) + return ns_info_list_expected + + def close_connection(self): + pass + + def cleanup(self): + pass + + +class FakeBrcdFCZoneClientCLI(FakeClient): + def __init__(self, ipaddress, username, + password, port, key, vfid, protocol): + self.firmware_supported = True + + +class FakeBrcdHttpFCZoneClient(FakeClient): + + def __init__(self, ipaddress, username, + password, port, key, vfid, protocol): + self.firmware_supported = True diff -Nru cinder-8.0.0/cinder/utils.py cinder-8.1.0/cinder/utils.py --- cinder-8.0.0/cinder/utils.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/utils.py 2016-08-09 15:32:57.000000000 +0000 @@ -275,24 +275,6 @@ return (begin, end) -def list_of_dicts_to_dict(seq, key): - """Convert list of dicts to an indexed dict. - - Takes a list of dicts, and converts it to a nested dict - indexed by - - :param seq: list of dicts - :parm key: key in dicts to index by - - example: - lst = [{'id': 1, ...}, {'id': 2, ...}...] - key = 'id' - returns {1:{'id': 1, ...}, 2:{'id':2, ...} - - """ - return {d[key]: dict(d, index=d[key]) for (i, d) in enumerate(seq)} - - class ProtectedExpatParser(expatreader.ExpatParser): """An expat parser which disables DTD's and entities by default.""" diff -Nru cinder-8.0.0/cinder/volume/api.py cinder-8.1.0/cinder/volume/api.py --- cinder-8.0.0/cinder/volume/api.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/volume/api.py 2016-08-09 15:32:57.000000000 +0000 @@ -711,7 +711,8 @@ def create_snapshot_in_db(self, context, volume, name, description, force, metadata, - cgsnapshot_id): + cgsnapshot_id, + commit_quota=True): check_policy(context, 'create_snapshot', volume) if volume['status'] == 'maintenance': @@ -737,45 +738,47 @@ 'vol_status': volume['status']} raise exception.InvalidVolume(reason=msg) - try: - if CONF.no_snapshot_gb_quota: - reserve_opts = {'snapshots': 1} - else: - reserve_opts = {'snapshots': 1, 'gigabytes': volume['size']} - QUOTAS.add_volume_type_opts(context, - reserve_opts, - volume.get('volume_type_id')) - reservations = QUOTAS.reserve(context, **reserve_opts) - except exception.OverQuota as e: - overs = e.kwargs['overs'] - usages = e.kwargs['usages'] - quotas = e.kwargs['quotas'] - - def _consumed(name): - return (usages[name]['reserved'] + usages[name]['in_use']) - - for over in overs: - if 'gigabytes' in over: - msg = _LW("Quota exceeded for %(s_pid)s, tried to create " - "%(s_size)sG snapshot (%(d_consumed)dG of " - "%(d_quota)dG already consumed).") - LOG.warning(msg, {'s_pid': context.project_id, - 's_size': volume['size'], - 'd_consumed': _consumed(over), - 'd_quota': quotas[over]}) - raise exception.VolumeSizeExceedsAvailableQuota( - requested=volume['size'], - consumed=_consumed('gigabytes'), - quota=quotas['gigabytes']) - elif 'snapshots' in over: - msg = _LW("Quota exceeded for %(s_pid)s, tried to create " - "snapshot (%(d_consumed)d snapshots " - "already consumed).") - - LOG.warning(msg, {'s_pid': context.project_id, - 'd_consumed': _consumed(over)}) - raise exception.SnapshotLimitExceeded( - allowed=quotas[over]) + if commit_quota: + try: + if CONF.no_snapshot_gb_quota: + reserve_opts = {'snapshots': 1} + else: + reserve_opts = {'snapshots': 1, + 'gigabytes': volume['size']} + QUOTAS.add_volume_type_opts(context, + reserve_opts, + volume.get('volume_type_id')) + reservations = QUOTAS.reserve(context, **reserve_opts) + except exception.OverQuota as e: + overs = e.kwargs['overs'] + usages = e.kwargs['usages'] + quotas = e.kwargs['quotas'] + + def _consumed(name): + return (usages[name]['reserved'] + usages[name]['in_use']) + + for over in overs: + if 'gigabytes' in over: + msg = _LW("Quota exceeded for %(s_pid)s, tried to " + "create %(s_size)sG snapshot (%(d_consumed)d" + "G of %(d_quota)dG already consumed).") + LOG.warning(msg, {'s_pid': context.project_id, + 's_size': volume['size'], + 'd_consumed': _consumed(over), + 'd_quota': quotas[over]}) + raise exception.VolumeSizeExceedsAvailableQuota( + requested=volume['size'], + consumed=_consumed('gigabytes'), + quota=quotas['gigabytes']) + elif 'snapshots' in over: + msg = _LW("Quota exceeded for %(s_pid)s, tried to " + "create snapshot (%(d_consumed)d snapshots " + "already consumed).") + + LOG.warning(msg, {'s_pid': context.project_id, + 'd_consumed': _consumed(over)}) + raise exception.SnapshotLimitExceeded( + allowed=quotas[over]) self._check_metadata_properties(metadata) @@ -798,14 +801,16 @@ snapshot = objects.Snapshot(context=context, **kwargs) snapshot.create() - QUOTAS.commit(context, reservations) + if commit_quota: + QUOTAS.commit(context, reservations) except Exception: with excutils.save_and_reraise_exception(): try: if snapshot.obj_attr_is_set('id'): snapshot.destroy() finally: - QUOTAS.rollback(context, reservations) + if commit_quota: + QUOTAS.rollback(context, reservations) return snapshot @@ -1520,22 +1525,24 @@ extra_specs = volume_types.get_volume_type_extra_specs( volume_type['id']) volume_type['extra_specs'] = extra_specs - if availability_zone is None: - elevated = context.elevated() - try: - svc_host = volume_utils.extract_host(host, 'backend') - service = objects.Service.get_by_args( - elevated, svc_host, 'cinder-volume') - except exception.ServiceNotFound: - with excutils.save_and_reraise_exception(): - LOG.error(_LE('Unable to find service: %(service)s for ' - 'given host: %(host)s.'), - {'service': CONF.volume_topic, 'host': host}) - if service.disabled: - LOG.error(_LE('Unable to manage_existing volume on a disabled ' - 'service.')) - raise exception.ServiceUnavailable() + elevated = context.elevated() + try: + svc_host = volume_utils.extract_host(host, 'backend') + service = objects.Service.get_by_args( + elevated, svc_host, 'cinder-volume') + except exception.ServiceNotFound: + with excutils.save_and_reraise_exception(): + LOG.error(_LE('Unable to find service: %(service)s for ' + 'given host: %(host)s.'), + {'service': CONF.volume_topic, 'host': host}) + + if service.disabled: + LOG.error(_LE('Unable to manage_existing volume on a disabled ' + 'service.')) + raise exception.ServiceUnavailable() + + if availability_zone is None: availability_zone = service.get('availability_zone') manage_what = { @@ -1590,7 +1597,8 @@ snapshot_object = self.create_snapshot_in_db(context, volume, name, description, False, - metadata, None) + metadata, None, + commit_quota=False) self.volume_rpcapi.manage_existing_snapshot(context, snapshot_object, ref, host) return snapshot_object diff -Nru cinder-8.0.0/cinder/volume/driver.py cinder-8.1.0/cinder/volume/driver.py --- cinder-8.0.0/cinder/volume/driver.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/driver.py 2016-08-09 15:32:57.000000000 +0000 @@ -276,6 +276,7 @@ CONF = cfg.CONF CONF.register_opts(volume_opts) CONF.register_opts(iser_opts) +CONF.import_opt('backup_use_same_host', 'cinder.backup.api') @six.add_metaclass(abc.ABCMeta) @@ -979,7 +980,7 @@ LOG.error(err_msg) raise exception.VolumeBackendAPIException(data=ex_msg) raise exception.VolumeBackendAPIException(data=err_msg) - return (self._connect_device(conn), snapshot) + return self._connect_device(conn) def _connect_device(self, conn): # Use Brick's code to do attach/detach @@ -1036,8 +1037,7 @@ """ backup_device = None is_snapshot = False - if (self.backup_use_temp_snapshot() and - self.snapshot_remote_attachable()): + if self.backup_use_temp_snapshot() and CONF.backup_use_same_host: (backup_device, is_snapshot) = ( self._get_backup_volume_temp_snapshot(context, backup)) else: @@ -1252,6 +1252,9 @@ enforce_multipath = self.configuration.enforce_multipath_for_image_xfer properties = utils.brick_get_connector_properties(use_multipath, enforce_multipath) + # TODO(xyang): Lots of code including this function is no longer used + # by the backup code path since Mitaka. We will need to do a code + # cleanup to avoid confusion. (Bug #1599629) if is_snapshot: attach_info, device = self._attach_snapshot(context, device, properties) @@ -1323,7 +1326,9 @@ temp_snap_ref = objects.Snapshot(context=context, **kwargs) temp_snap_ref.create() try: - self.create_snapshot(temp_snap_ref) + model_update = self.create_snapshot(temp_snap_ref) + if model_update: + temp_snap_ref.update(model_update) except Exception: with excutils.save_and_reraise_exception(): with temp_snap_ref.obj_as_admin(): @@ -1345,18 +1350,23 @@ 'status': 'creating', 'attach_status': 'detached', 'availability_zone': volume.availability_zone, + 'volume_type_id': volume.volume_type_id, } temp_vol_ref = self.db.volume_create(context, temp_volume) try: - self.create_cloned_volume(temp_vol_ref, volume) + # Some drivers return None, because they do not need to update the + # model for the volume. For those cases we set the model_update to + # an empty dictionary. + model_update = self.create_cloned_volume(temp_vol_ref, + volume) or {} except Exception: with excutils.save_and_reraise_exception(): self.db.volume_destroy(context.elevated(), temp_vol_ref['id']) - self.db.volume_update(context, temp_vol_ref['id'], - {'status': 'available'}) - return temp_vol_ref + model_update['status'] = 'available' + self.db.volume_update(context, temp_vol_ref['id'], model_update) + return self.db.volume_get(context, temp_vol_ref['id']) def _create_temp_volume_from_snapshot(self, context, volume, snapshot): temp_volume = { @@ -1368,18 +1378,20 @@ 'status': 'creating', 'attach_status': 'detached', 'availability_zone': volume.availability_zone, + 'volume_type_id': volume.volume_type_id, } temp_vol_ref = self.db.volume_create(context, temp_volume) try: - self.create_volume_from_snapshot(temp_vol_ref, snapshot) + model_update = self.create_volume_from_snapshot(temp_vol_ref, + snapshot) or {} except Exception: with excutils.save_and_reraise_exception(): self.db.volume_destroy(context.elevated(), temp_vol_ref['id']) - self.db.volume_update(context, temp_vol_ref['id'], - {'status': 'available'}) - return temp_vol_ref + model_update['status'] = 'available' + self.db.volume_update(context, temp_vol_ref['id'], model_update) + return self.db.volume_get(context, temp_vol_ref['id']) def _delete_temp_snapshot(self, context, snapshot): self.delete_snapshot(snapshot) diff -Nru cinder-8.0.0/cinder/volume/drivers/coho.py cinder-8.1.0/cinder/volume/drivers/coho.py --- cinder-8.0.0/cinder/volume/drivers/coho.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/coho.py 2016-08-09 15:32:57.000000000 +0000 @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import errno import os import six import socket @@ -24,6 +25,7 @@ from cinder import exception from cinder.i18n import _ +from cinder import utils from cinder.volume.drivers import nfs # @@ -55,6 +57,8 @@ COHO1_DELETE_SNAPSHOT = 2 COHO1_CREATE_VOLUME_FROM_SNAPSHOT = 3 +COHO_MAX_RETRIES = 5 + # # Simple RPC Client # @@ -226,8 +230,24 @@ self.unpacker.reset(reply) xid, verf = self.unpack_replyheader() + @utils.synchronized('coho-rpc', external=True) def _call(self, proc, args): - self._make_call(proc, args) + for retry in range(COHO_MAX_RETRIES): + try: + self._make_call(proc, args) + break + except socket.error as e: + if e.errno == errno.EPIPE: + # Reopen connection to cluster and retry + self.init_socket() + else: + msg = (_('Unable to send requests: %s') % + six.text_type(e)) + raise exception.CohoException(msg) + else: + msg = _('Failed to establish a stable connection') + raise exception.CohoException(msg) + res = self.unpacker.unpack_uint() if res != SUCCESS: raise exception.CohoException(os.strerror(res)) diff -Nru cinder-8.0.0/cinder/volume/drivers/dell/dell_storagecenter_api.py cinder-8.1.0/cinder/volume/drivers/dell/dell_storagecenter_api.py --- cinder-8.0.0/cinder/volume/drivers/dell/dell_storagecenter_api.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/dell/dell_storagecenter_api.py 2016-08-09 15:32:57.000000000 +0000 @@ -1,4 +1,4 @@ -# Copyright 2015 Dell Inc. +# Copyright 2016 Dell Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain @@ -414,8 +414,10 @@ def _check_version_fail(self, payload, response): try: # Is it even our error? - if response.text.startswith('Invalid API version specified, ' - 'the version must be in the range ['): + result = self._get_json(response).get('result') + if result and result.startswith( + 'Invalid API version specified, ' + 'the version must be in the range ['): # We're looking for something very specific. The except # will catch any errors. # Update our version and update our header. @@ -2645,7 +2647,12 @@ payload['StorageCenter'] = self.find_sc() # Have to replicate the active replay. payload['ReplicateActiveReplay'] = replicate_active or synchronous - payload['Type'] = 'Synchronous' if synchronous else 'Asynchronous' + if synchronous: + payload['Type'] = 'Synchronous' + # If our type is synchronous we prefer high availability be set. + payload['SyncMode'] = 'HighAvailability' + else: + payload['Type'] = 'Asynchronous' destinationvolumeattributes = {} destinationvolumeattributes['CreateSourceVolumeFolderPath'] = True destinationvolumeattributes['Notes'] = self.notes diff -Nru cinder-8.0.0/cinder/volume/drivers/emc/emc_vnx_cli.py cinder-8.1.0/cinder/volume/drivers/emc/emc_vnx_cli.py --- cinder-8.0.0/cinder/volume/drivers/emc/emc_vnx_cli.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/emc/emc_vnx_cli.py 2016-08-09 15:32:57.000000000 +0000 @@ -2515,7 +2515,7 @@ # Reraise the original exception pass if volume['provider_location']: - lun_type = self._extract_provider_location( + lun_type = self.extract_provider_location( volume['provider_location'], 'type') if lun_type == 'smp': self._client.delete_snapshot( @@ -2648,7 +2648,7 @@ src_id, dst_id, new_volume_name, rate=self._get_migration_rate(volume)) - lun_type = self._extract_provider_location( + lun_type = self.extract_provider_location( volume['provider_location'], 'type') # A smp will become a LUN after migration if lun_type == 'smp': @@ -2666,7 +2666,8 @@ def update_migrated_volume(self, context, volume, new_volume, original_volume_status): """Updates metadata after host-assisted migration.""" - lun_type = self._extract_provider_location( + + lun_type = self.extract_provider_location( new_volume['provider_location'], 'type') volume_metadata = self._get_volume_metadata(volume) model_update = {'provider_location': @@ -2749,7 +2750,7 @@ new_provisioning, new_tiering = ( self._get_extra_spec_value(new_specs)) - lun_type = self._extract_provider_location( + lun_type = self.extract_provider_location( volume['provider_location'], 'type') if volume['host'] != host['host']: @@ -3077,7 +3078,8 @@ return model_update - def _get_volume_metadata(self, volume): + @staticmethod + def _get_volume_metadata(volume): # Since versionedobjects is partially merged, metadata # may come from 'volume_metadata' or 'metadata', here # we need to take care both of them. @@ -3094,7 +3096,7 @@ def _get_base_lun_name(self, volume): """Returns base LUN name for SMP or LUN.""" - base_name = self._extract_provider_location( + base_name = self.extract_provider_location( volume['provider_location'], 'base_lun_name') if base_name is None or base_name == 'None': return volume['name'] @@ -3125,7 +3127,8 @@ pl_dict[key] = value return self.dumps_provider_location(pl_dict) - def _extract_provider_location(self, provider_location, key='id'): + @staticmethod + def extract_provider_location(provider_location, key='id'): """Extracts value of the specified field from provider_location string. :param provider_location: provider_location string @@ -3133,12 +3136,14 @@ :return: value of the specified field if it exists, otherwise, None is returned """ - - kvps = provider_location.split('|') - for kvp in kvps: - fields = kvp.split('^') - if len(fields) == 2 and fields[0] == key: - return fields[1] + ret = None + if provider_location is not None: + kvps = provider_location.split('|') + for kvp in kvps: + fields = kvp.split('^') + if len(fields) == 2 and fields[0] == key: + ret = fields[1] + return ret def _consistencygroup_creation_check(self, group): """Check extra spec for consistency group.""" @@ -3288,7 +3293,7 @@ try: provider_location = volume.get('provider_location') if provider_location: - lun_id = self._extract_provider_location( + lun_id = self.extract_provider_location( provider_location, 'id') if lun_id: @@ -3896,12 +3901,12 @@ 'type': tar_type, 'tier': tar_tier}) - do_migration = (tar_type is not None - and tar_type != vnx_lun.provision - or tar_pool != vnx_lun.pool_name) - change_tier = (tar_tier is not None - and not do_migration - and tar_tier != vnx_lun.tier) + do_migration = (tar_type is not None and + tar_type != vnx_lun.provision or + tar_pool != vnx_lun.pool_name) + change_tier = (tar_tier is not None and + not do_migration and + tar_tier != vnx_lun.tier) reason = None if do_migration: @@ -4360,8 +4365,8 @@ provider_location = source_volume.get('provider_location') if (not provider_location or - not self._extract_provider_location(provider_location, - 'version')): + not self.extract_provider_location(provider_location, + 'version')): LOG.warning(_LW("The source volume is a legacy volume. " "Create volume in the pool where the source " "volume %s is created."), diff -Nru cinder-8.0.0/cinder/volume/drivers/hpe/hpe_3par_common.py cinder-8.1.0/cinder/volume/drivers/hpe/hpe_3par_common.py --- cinder-8.0.0/cinder/volume/drivers/hpe/hpe_3par_common.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/hpe/hpe_3par_common.py 2016-08-09 15:32:57.000000000 +0000 @@ -231,10 +231,15 @@ 3.0.16 - Use same LUN ID for each VLUN path #1551994 3.0.17 - Don't fail on clearing 3PAR object volume key. bug #1546392 3.0.18 - create_cloned_volume account for larger size. bug #1554740 + 3.0.18.1 - Rework delete_vlun. Bug #1582922 (backported from Newton) + 3.0.18.2 - Driver no longer fails to initialize if System Reporter + license is missing. bug #1568078 (backported from Newton) + 3.0.18.3 - Fix delete volume when online clone is active. bug #1349639. + (backported from Newton) """ - VERSION = "3.0.18" + VERSION = "3.0.18.3" stats = {} @@ -267,6 +272,7 @@ PRIORITY_OPT_LIC = "Priority Optimization" THIN_PROV_LIC = "Thin Provisioning" REMOTE_COPY_LIC = "Remote Copy" + SYSTEM_REPORTER_LIC = "System Reporter" # Valid values for volume type extra specs # The first value in the list is the default value @@ -1221,6 +1227,7 @@ qos_support = True thin_support = True remotecopy_support = True + sr_support = True if 'licenseInfo' in info: if 'licenses' in info['licenseInfo']: valid_licenses = info['licenseInfo']['licenses'] @@ -1233,25 +1240,34 @@ remotecopy_support = self._check_license_enabled( valid_licenses, self.REMOTE_COPY_LIC, "Replication") + sr_support = self._check_license_enabled( + valid_licenses, self.SYSTEM_REPORTER_LIC, + "System_reporter_support") for cpg_name in self._client_conf['hpe3par_cpg']: try: + stat_capabilities = { + THROUGHPUT: None, + BANDWIDTH: None, + LATENCY: None, + IO_SIZE: None, + QUEUE_LENGTH: None, + AVG_BUSY_PERC: None + } cpg = self.client.getCPG(cpg_name) - if (self.API_VERSION >= SRSTATLD_API_VERSION): + if (self.API_VERSION >= SRSTATLD_API_VERSION and sr_support): interval = 'daily' history = '7d' - stat_capabilities = self.client.getCPGStatData(cpg_name, - interval, - history) - else: - stat_capabilities = { - THROUGHPUT: None, - BANDWIDTH: None, - LATENCY: None, - IO_SIZE: None, - QUEUE_LENGTH: None, - AVG_BUSY_PERC: None - } + try: + stat_capabilities = self.client.getCPGStatData( + cpg_name, + interval, + history) + except Exception as ex: + LOG.warning(_LW("Exception at getCPGStatData() " + "for cpg: '%(cpg_name)s' " + "Reason: '%(reason)s'") % + {'cpg_name': cpg_name, 'reason': ex}) if 'numTDVVs' in cpg: total_volumes = int( cpg['numFPVVs'] + cpg['numTPVVs'] + cpg['numTDVVs'] @@ -1390,26 +1406,17 @@ volume_name = self._get_3par_vol_name(volume['id']) vluns = self.client.getHostVLUNs(hostname) - # Find all the VLUNs associated with the volume. The VLUNs will then - # be split into groups based on the active status of the VLUN. If there - # are active VLUNs detected a delete will be attempted on them. If - # there are no active VLUNs but there are inactive VLUNs, then the - # inactive VLUNs will be deleted. The inactive VLUNs are the templates - # on the 3PAR backend. - active_volume_vluns = [] - inactive_volume_vluns = [] + # When deleteing VLUNs, you simply need to remove the template VLUN + # and any active VLUNs will be automatically removed. The template + # VLUN are marked as active: False + volume_vluns = [] for vlun in vluns: if volume_name in vlun['volumeName']: - if vlun['active']: - active_volume_vluns.append(vlun) - else: - inactive_volume_vluns.append(vlun) - if active_volume_vluns: - volume_vluns = active_volume_vluns - elif inactive_volume_vluns: - volume_vluns = inactive_volume_vluns + # template VLUNs are 'active' = False + if not vlun['active']: + volume_vluns.append(vlun) if not volume_vluns: msg = ( @@ -1419,17 +1426,14 @@ return # VLUN Type of MATCHED_SET 4 requires the port to be provided - removed_luns = [] for vlun in volume_vluns: - if self.VLUN_TYPE_MATCHED_SET == vlun['type']: - self.client.deleteVLUN(volume_name, vlun['lun'], hostname, - vlun['portPos']) + if 'portPos' in vlun: + self.client.deleteVLUN(volume_name, vlun['lun'], + hostname=hostname, + port=vlun['portPos']) else: - # This is HOST_SEES or a type that is not MATCHED_SET. - # By deleting one VLUN, all the others should be deleted, too. - if vlun['lun'] not in removed_luns: - self.client.deleteVLUN(volume_name, vlun['lun'], hostname) - removed_luns.append(vlun['lun']) + self.client.deleteVLUN(volume_name, vlun['lun'], + hostname=hostname) # Determine if there are other volumes attached to the host. # This will determine whether we should try removing host from host set @@ -2089,16 +2093,24 @@ self.client.removeVolumeFromVolumeSet(vvset_name, volume_name) self.client.deleteVolume(volume_name) - elif (ex.get_code() == 151): - # the volume is being operated on in a background - # task on the 3PAR. - # TODO(walter-boring) do a retry a few times. - # for now lets log a better message - msg = _("The volume is currently busy on the 3PAR" - " and cannot be deleted at this time. " - "You can try again later.") - LOG.error(msg) - raise exception.VolumeIsBusy(message=msg) + elif ex.get_code() == 151: + if self.client.isOnlinePhysicalCopy(volume_name): + LOG.debug("Found an online copy for %(volume)s", + {'volume': volume_name}) + # the volume is in process of being cloned. + # stopOnlinePhysicalCopy will also delete + # the volume once it stops the copy. + self.client.stopOnlinePhysicalCopy(volume_name) + else: + # the volume is being operated on in a background + # task on the 3PAR. + # TODO(walter-boring) do a retry a few times. + # for now lets log a better message + msg = _("The volume is currently busy on the 3PAR" + " and cannot be deleted at this time. " + "You can try again later.") + LOG.error(msg) + raise exception.VolumeIsBusy(message=msg) elif (ex.get_code() == 32): # Error 32 means that the volume has children diff -Nru cinder-8.0.0/cinder/volume/drivers/hpe/hpe_3par_fc.py cinder-8.1.0/cinder/volume/drivers/hpe/hpe_3par_fc.py --- cinder-8.0.0/cinder/volume/drivers/hpe/hpe_3par_fc.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/hpe/hpe_3par_fc.py 2016-08-09 15:32:57.000000000 +0000 @@ -35,9 +35,10 @@ hpeexceptions = None from oslo_log import log as logging +from oslo_utils.excutils import save_and_reraise_exception from cinder import exception -from cinder.i18n import _, _LI, _LW +from cinder.i18n import _, _LI, _LW, _LE from cinder.volume import driver from cinder.volume.drivers.hpe import hpe_3par_common as hpecommon from cinder.volume.drivers.san import san @@ -45,6 +46,9 @@ LOG = logging.getLogger(__name__) +# EXISTENT_PATH error code returned from hpe3parclient +EXISTENT_PATH = 73 + class HPE3PARFCDriver(driver.TransferVD, driver.ManageableVD, @@ -97,10 +101,13 @@ 3.0.4 - Adding manage/unmanage snapshot support 3.0.5 - Optimize array ID retrieval 3.0.6 - Update replication to version 2.1 + 3.0.6.1 - Handling HTTP conflict 409, host WWN/iSCSI name already used + by another host, while creating 3PAR FC Host. bug #1597454 + (backported from Newton) """ - VERSION = "3.0.6" + VERSION = "3.0.6.1" def __init__(self, *args, **kwargs): super(HPE3PARFCDriver, self).__init__(*args, **kwargs) @@ -385,16 +392,41 @@ return host_found else: persona_id = int(persona_id) - common.client.createHost(hostname, FCWwns=wwns, - optional={'domain': domain, - 'persona': persona_id}) + try: + common.client.createHost(hostname, FCWwns=wwns, + optional={'domain': domain, + 'persona': persona_id}) + except hpeexceptions.HTTPConflict as path_conflict: + msg = _LE("Create FC host caught HTTP conflict code: %s") + LOG.exception(msg, path_conflict.get_code()) + with save_and_reraise_exception(reraise=False) as ctxt: + if path_conflict.get_code() is EXISTENT_PATH: + # Handle exception : EXISTENT_PATH - host WWN/iSCSI + # name already used by another host + hosts = common.client.queryHost(wwns=wwns) + if hosts and hosts['members'] and ( + 'name' in hosts['members'][0]): + hostname = hosts['members'][0]['name'] + else: + # re rasise last caught exception + ctxt.reraise = True + else: + # re rasise last caught exception + # for other HTTP conflict + ctxt.reraise = True return hostname def _modify_3par_fibrechan_host(self, common, hostname, wwn): mod_request = {'pathOperation': common.client.HOST_EDIT_ADD, 'FCWWNs': wwn} - - common.client.modifyHost(hostname, mod_request) + try: + common.client.modifyHost(hostname, mod_request) + except hpeexceptions.HTTPConflict as path_conflict: + msg = _LE("Modify FC Host %(hostname)s caught " + "HTTP conflict code: %(code)s") + LOG.exception(msg, + {'hostname': hostname, + 'code': path_conflict.get_code()}) def _create_host(self, common, volume, connector): """Creates or modifies existing 3PAR host.""" @@ -414,8 +446,9 @@ domain, persona_id) host = common._get_3par_host(hostname) - - return self._add_new_wwn_to_host(common, host, connector['wwpns']) + return host + else: + return self._add_new_wwn_to_host(common, host, connector['wwpns']) def _add_new_wwn_to_host(self, common, host, wwns): """Add wwns to a host if one or more don't exist. diff -Nru cinder-8.0.0/cinder/volume/drivers/huawei/constants.py cinder-8.1.0/cinder/volume/drivers/huawei/constants.py --- cinder-8.0.0/cinder/volume/drivers/huawei/constants.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/huawei/constants.py 2016-08-09 15:32:57.000000000 +0000 @@ -92,6 +92,7 @@ REPLICA_RUNNING_STATUS_SYNCED = '24' REPLICA_RUNNING_STATUS_NORMAL = '1' REPLICA_RUNNING_STATUS_SPLIT = '26' +REPLICA_RUNNING_STATUS_ERRUPTED = '34' REPLICA_RUNNING_STATUS_INVALID = '35' REPLICA_HEALTH_STATUS_KEY = 'HEALTHSTATUS' diff -Nru cinder-8.0.0/cinder/volume/drivers/huawei/fc_zone_helper.py cinder-8.1.0/cinder/volume/drivers/huawei/fc_zone_helper.py --- cinder-8.0.0/cinder/volume/drivers/huawei/fc_zone_helper.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/huawei/fc_zone_helper.py 2016-08-09 15:32:57.000000000 +0000 @@ -54,7 +54,7 @@ views = self.client.get_views_by_portg(portg) if not views: LOG.debug("PortGroup %s doesn't belong to any view.", portg) - break + continue LOG.debug("PortGroup %(portg)s belongs to view %(views)s.", {"portg": portg, "views": views[0]}) @@ -95,6 +95,8 @@ return weighted_ports def _get_weighted_ports(self, contr_port_map, ports_info, contrs): + LOG.debug("_get_weighted_ports, we only select ports from " + "controllers: %s", contrs) weighted_ports = [] for contr in contrs: if contr in contr_port_map: @@ -130,20 +132,51 @@ 'initiators': fabric_connected_initiators}) return fabric_connected_ports, fabric_connected_initiators - def build_ini_targ_map(self, wwns, host_id, lun_id): + def _get_lun_engine_contrs(self, engines, lun_id): + contrs = [] + engine_id = None lun_info = self.client.get_lun_info(lun_id) lun_contr_id = lun_info['OWNINGCONTROLLER'] - engines = self.client.get_all_engines() - LOG.debug("Get array engines: %s", engines) - for engine in engines: contrs = json.loads(engine['NODELIST']) engine_id = engine['ID'] if lun_contr_id in contrs: - LOG.debug("LUN %(lun_id)s belongs to engine %(engine_id)s.", - {"lun_id": lun_id, "engine_id": engine_id}) break + LOG.debug("LUN %(lun_id)s belongs to engine %(engine_id)s. Engine " + "%(engine_id)s has controllers: %(contrs)s.", + {"lun_id": lun_id, "engine_id": engine_id, "contrs": contrs}) + return contrs, engine_id + + def _build_contr_port_map(self, fabric_connected_ports, ports_info): + contr_port_map = {} + for port in fabric_connected_ports: + contr = ports_info[port]['contr'] + if not contr_port_map.get(contr): + contr_port_map[contr] = [] + contr_port_map[contr].append(port) + LOG.debug("Controller port map: %s.", contr_port_map) + return contr_port_map + + def _create_new_portg(self, portg_name, engine_id): + portg_id = self.client.get_tgt_port_group(portg_name) + if portg_id: + LOG.debug("Found port group %s not belonged to any view, " + "deleting it.", portg_name) + ports = self.client.get_fc_ports_by_portgroup(portg_id) + for port_id in ports.values(): + self.client.remove_port_from_portgroup(portg_id, port_id) + self.client.delete_portgroup(portg_id) + description = constants.PORTGROUP_DESCRIP_PREFIX + engine_id + new_portg_id = self.client.create_portg(portg_name, description) + return new_portg_id + + def build_ini_targ_map(self, wwns, host_id, lun_id): + engines = self.client.get_all_engines() + LOG.debug("Get array engines: %s", engines) + + contrs, engine_id = self._get_lun_engine_contrs(engines, lun_id) + # Check if there is already a port group in the view. # If yes and have already considered the engine, # we won't change anything about the port group and zone. @@ -171,17 +204,15 @@ self._filter_by_fabric(wwns, ports_info.keys())) # Build a controller->ports map for convenience. - contr_port_map = {} - for port in fabric_connected_ports: - contr = ports_info[port]['contr'] - if not contr_port_map.get(contr): - contr_port_map[contr] = [] - contr_port_map[contr].append(port) - LOG.debug("Controller port map: %s.", contr_port_map) - + contr_port_map = self._build_contr_port_map(fabric_connected_ports, + ports_info) # Get the 'best' ports for the given controllers. weighted_ports = self._get_weighted_ports(contr_port_map, ports_info, contrs) + if not weighted_ports: + msg = _("No FC port can be used for LUN %s.") % lun_id + LOG.error(msg) + raise exception.VolumeBackendAPIException(data=msg) # Handle port group. port_list = [ports_info[port]['id'] for port in weighted_ports] @@ -193,16 +224,7 @@ # port group. weighted_ports.extend(list(ports.keys())) else: - portg_id = self.client.get_tgt_port_group(portg_name) - if portg_id: - LOG.debug("Found port group %s not belonged to any view, " - "deleting it.", portg_name) - ports = self.client.get_fc_ports_by_portgroup(portg_id) - for port_id in ports.values(): - self.client.remove_port_from_portgroup(portg_id, port_id) - self.client.delete_portgroup(portg_id) - description = constants.PORTGROUP_DESCRIP_PREFIX + engine_id - portg_id = self.client.create_portg(portg_name, description) + portg_id = self._create_new_portg(portg_name, engine_id) for port in port_list: self.client.add_port_to_portg(portg_id, port) diff -Nru cinder-8.0.0/cinder/volume/drivers/huawei/huawei_driver.py cinder-8.1.0/cinder/volume/drivers/huawei/huawei_driver.py --- cinder-8.0.0/cinder/volume/drivers/huawei/huawei_driver.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/huawei/huawei_driver.py 2016-08-09 15:32:57.000000000 +0000 @@ -1472,6 +1472,15 @@ {'snapshot_id': snapshot['id'], 'snapshot_name': snapshot_name}) + def remove_host_with_check(self, host_id): + wwns_in_host = ( + self.client.get_host_fc_initiators(host_id)) + iqns_in_host = ( + self.client.get_host_iscsi_initiators(host_id)) + if not (wwns_in_host or iqns_in_host or + self.client.is_host_associated_to_hostgroup(host_id)): + self.client.remove_host(host_id) + def _classify_volume(self, volumes): normal_volumes = [] replica_volumes = [] @@ -1828,8 +1837,14 @@ if self.fcsan: # Use FC switch. zone_helper = fc_zone_helper.FCZoneHelper(self.fcsan, self.client) - (tgt_port_wwns, portg_id, init_targ_map) = ( - zone_helper.build_ini_targ_map(wwns, host_id, lun_id)) + try: + (tgt_port_wwns, portg_id, init_targ_map) = ( + zone_helper.build_ini_targ_map(wwns, host_id, lun_id)) + except Exception as err: + self.remove_host_with_check(host_id) + msg = _('build_ini_targ_map fails. %s') % err + raise exception.VolumeBackendAPIException(data=msg) + for ini in init_targ_map: self.client.ensure_fc_initiator_added(ini, host_id) else: @@ -1874,13 +1889,12 @@ 'initiator_target_map': init_targ_map, 'map_info': map_info}, } - loc_tgt_wwn = fc_info['data']['target_wwn'] - local_ini_tgt_map = fc_info['data']['initiator_target_map'] - # Deal with hypermetro connection. metadata = huawei_utils.get_volume_metadata(volume) LOG.info(_LI("initialize_connection, metadata is: %s."), metadata) if 'hypermetro_id' in metadata: + loc_tgt_wwn = fc_info['data']['target_wwn'] + local_ini_tgt_map = fc_info['data']['initiator_target_map'] hyperm = hypermetro.HuaweiHyperMetro(self.client, self.rmt_client, self.configuration) diff -Nru cinder-8.0.0/cinder/volume/drivers/huawei/replication.py cinder-8.1.0/cinder/volume/drivers/huawei/replication.py --- cinder-8.0.0/cinder/volume/drivers/huawei/replication.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/huawei/replication.py 2016-08-09 15:32:57.000000000 +0000 @@ -186,7 +186,8 @@ def split(self, replica_id): running_status = (constants.REPLICA_RUNNING_STATUS_SPLIT, - constants.REPLICA_RUNNING_STATUS_INVALID) + constants.REPLICA_RUNNING_STATUS_INVALID, + constants.REPLICA_RUNNING_STATUS_ERRUPTED) info = self.op.get_replica_info(replica_id) if self.op.is_running_status(running_status, info): return diff -Nru cinder-8.0.0/cinder/volume/drivers/ibm/gpfs.py cinder-8.1.0/cinder/volume/drivers/ibm/gpfs.py --- cinder-8.0.0/cinder/volume/drivers/ibm/gpfs.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/ibm/gpfs.py 2016-08-09 15:32:57.000000000 +0000 @@ -610,10 +610,17 @@ else: path = mount_point + # -ignore_readdir_race is to prevent the command from exiting + # with nonzero RC when some files in the directory are removed + # by other delete operations. -quit is to end the execution as + # soon as we get one filename; it is not expected that two or + # more filenames found. (out, err) = self._execute('find', path, '-maxdepth', '1', - '-inum', inode, run_as_root=True) + '-ignore_readdir_race', + '-inum', inode, '-print0', '-quit', + run_as_root=True) if out: - fparent = out.split('\n', 1)[0] + fparent = out.split('\0', 1)[0] if mount_point is None: self._execute( diff -Nru cinder-8.0.0/cinder/volume/drivers/netapp/dataontap/nfs_cmode.py cinder-8.1.0/cinder/volume/drivers/netapp/dataontap/nfs_cmode.py --- cinder-8.0.0/cinder/volume/drivers/netapp/dataontap/nfs_cmode.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/netapp/dataontap/nfs_cmode.py 2016-08-09 15:32:57.000000000 +0000 @@ -434,7 +434,8 @@ 'using local image cache.'), {'img': image_id, 'vol': volume['id']}) # Image cache was not present, attempt copy offload workflow - if not copy_success and col_path and major == 1 and minor >= 20: + if (not copy_success and col_path and + major == 1 and minor >= 20): LOG.debug('No result found in image cache') self._copy_from_img_service(context, volume, image_service, image_id) @@ -465,42 +466,82 @@ """Try copying image file_name from cached file_name.""" LOG.debug("Trying copy from cache using copy offload.") copied = False - for res in cache_result: - try: - (share, file_name) = res - LOG.debug("Found cache file_name on share %s.", share) - if share != self._get_provider_location(volume['id']): - col_path = self.configuration.netapp_copyoffload_tool_path - src_ip = self._get_ip_verify_on_cluster( - share.split(':')[0]) - src_path = os.path.join(share.split(':')[1], file_name) - dst_ip = self._get_ip_verify_on_cluster(self._get_host_ip( - volume['id'])) - dst_path = os.path.join( - self._get_export_path(volume['id']), volume['name']) - # Always run copy offload as regular user, it's sufficient - # and rootwrap doesn't allow copy offload to run as root - # anyways. - self._execute(col_path, src_ip, dst_ip, - src_path, dst_path, - run_as_root=False, - check_exit_code=0) - self._register_image_in_cache(volume, image_id) - LOG.debug("Copied image from cache to volume %s using" - " copy offload.", volume['id']) - else: - self._clone_file_dst_exists(share, file_name, - volume['name'], - dest_exists=True) - LOG.debug("Copied image from cache to volume %s using" - " cloning.", volume['id']) - self._post_clone_image(volume) + cache_copy, found_local = self._find_image_location(cache_result, + volume['id']) + + try: + if found_local: + (nfs_share, file_name) = cache_copy + self._clone_file_dst_exists( + nfs_share, file_name, volume['name'], dest_exists=True) + LOG.debug("Copied image from cache to volume %s using " + "cloning.", volume['id']) copied = True - break - except Exception as e: - LOG.exception(_LE('Error in workflow copy from cache. %s.'), e) + elif cache_copy: + self._copy_from_remote_cache(volume, image_id, cache_copy) + copied = True + + if copied: + self._post_clone_image(volume) + + except Exception as e: + LOG.exception(_LE('Error in workflow copy from cache. %s.'), e) return copied + def _find_image_location(self, cache_result, volume_id): + """Finds the location of a cached image. + + Returns image location local to the NFS share, that matches the + volume_id, if it exists. Otherwise returns the last entry in + cache_result or None if cache_result is empty. + """ + + found_local_copy = False + cache_copy = None + provider_location = self._get_provider_location(volume_id) + for res in cache_result: + (share, file_name) = res + if share == provider_location: + cache_copy = res + found_local_copy = True + break + else: + cache_copy = res + return cache_copy, found_local_copy + + def _copy_from_remote_cache(self, volume, image_id, cache_copy): + """Copies the remote cached image to the provided volume. + + Executes the copy offload binary which copies the cached image to + the destination path of the provided volume. Also registers the new + copy of the image as a cached image. + """ + + (nfs_share, file_name) = cache_copy + col_path = self.configuration.netapp_copyoffload_tool_path + src_ip, src_path = self._get_source_ip_and_path(nfs_share, file_name) + dest_ip, dest_path = self._get_destination_ip_and_path(volume) + + # Always run copy offload as regular user, it's sufficient + # and rootwrap doesn't allow copy offload to run as root anyways. + self._execute(col_path, src_ip, dest_ip, src_path, dest_path, + run_as_root=False, check_exit_code=0) + self._register_image_in_cache(volume, image_id) + LOG.debug("Copied image from cache to volume %s using copy offload.", + volume['id']) + + def _get_source_ip_and_path(self, nfs_share, file_name): + src_ip = self._get_ip_verify_on_cluster(nfs_share.split(':')[0]) + src_path = os.path.join(nfs_share.split(':')[1], file_name) + return src_ip, src_path + + def _get_destination_ip_and_path(self, volume): + dest_ip = self._get_ip_verify_on_cluster( + self._get_host_ip(volume['id'])) + dest_path = os.path.join(self._get_export_path( + volume['id']), volume['name']) + return dest_ip, dest_path + def _clone_file_dst_exists(self, share, src_name, dst_name, dest_exists=False): """Clone file even if dest exists.""" diff -Nru cinder-8.0.0/cinder/volume/drivers/pure.py cinder-8.1.0/cinder/volume/drivers/pure.py --- cinder-8.0.0/cinder/volume/drivers/pure.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/pure.py 2016-08-09 15:32:57.000000000 +0000 @@ -1101,7 +1101,7 @@ self._disable_replication(volume) elif not previous_vol_replicated and new_vol_replicated: # Add to protection group. - self._enable_replication(volume) + self._enable_replication(self._get_current_array(), volume) return True, None @@ -1401,14 +1401,16 @@ def _is_volume_replicated_type(self, volume): ctxt = context.get_admin_context() - volume_type = volume_types.get_volume_type(ctxt, - volume["volume_type_id"]) replication_flag = False - specs = volume_type.get("extra_specs") - if specs and EXTRA_SPECS_REPL_ENABLED in specs: - replication_capability = specs[EXTRA_SPECS_REPL_ENABLED] - # Do not validate settings, ignore invalid. - replication_flag = (replication_capability == " True") + if volume["volume_type_id"]: + volume_type = volume_types.get_volume_type( + ctxt, volume["volume_type_id"]) + + specs = volume_type.get("extra_specs") + if specs and EXTRA_SPECS_REPL_ENABLED in specs: + replication_capability = specs[EXTRA_SPECS_REPL_ENABLED] + # Do not validate settings, ignore invalid. + replication_flag = (replication_capability == " True") return replication_flag def _find_failover_target(self, secondary): diff -Nru cinder-8.0.0/cinder/volume/drivers/rbd.py cinder-8.1.0/cinder/volume/drivers/rbd.py --- cinder-8.0.0/cinder/volume/drivers/rbd.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/rbd.py 2016-08-09 15:32:57.000000000 +0000 @@ -692,11 +692,11 @@ try: snaps = rbd_image.list_snaps() for snap in snaps: - if snap.name.endswith('.clone_snap'): + if snap['name'].endswith('.clone_snap'): LOG.debug("volume has clone snapshot(s)") # We grab one of these and use it when fetching parent # info in case the volume has been flattened. - clone_snap = snap.name + clone_snap = snap['name'] break raise exception.VolumeIsBusy(volume_name=volume_name) @@ -763,10 +763,13 @@ try: volume.unprotect_snap(snap_name) except self.rbd.InvalidArgument: - LOG.info(_LI("Unable to unprotect snapshot %s."), snap_name) + LOG.info( + _LI("InvalidArgument: Unable to unprotect snapshot %s."), + snap_name) except self.rbd.ImageNotFound: - LOG.info(_LI("Snapshot %s does not exist in backend."), - snap_name) + LOG.info( + _LI("ImageNotFound: Unable to unprotect snapshot %s."), + snap_name) except self.rbd.ImageBusy: children_list = self._get_children_info(volume, snap_name) @@ -779,7 +782,11 @@ 'snap': snap_name}) raise exception.SnapshotIsBusy(snapshot_name=snap_name) - volume.remove_snap(snap_name) + try: + volume.remove_snap(snap_name) + except self.rbd.ImageNotFound: + LOG.info(_LI("Snapshot %s does not exist in backend."), + snap_name) def retype(self, context, volume, new_type, diff, host): """Retypes a volume, allow Qos and extra_specs change.""" diff -Nru cinder-8.0.0/cinder/volume/drivers/solidfire.py cinder-8.1.0/cinder/volume/drivers/solidfire.py --- cinder-8.0.0/cinder/volume/drivers/solidfire.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/solidfire.py 2016-08-09 15:32:57.000000000 +0000 @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import inspect import json import math import random @@ -35,6 +36,7 @@ from cinder.i18n import _, _LE, _LW from cinder.image import image_utils from cinder.objects import fields +from cinder import utils from cinder.volume.drivers.san import san from cinder.volume import qos_specs from cinder.volume.targets import iscsi as iscsi_driver @@ -144,10 +146,11 @@ 2.0.0 - Move from httplib to requests 2.0.1 - Implement SolidFire Snapshots 2.0.2 - Implement secondary account - + 2.0.2.a - Backport lock decorator for SolidFire clone_image """ - VERSION = '2.0.2' + VERSION = '2.0.2.a' + driver_prefix = 'solidfire' sf_qos_dict = {'slow': {'minIOPS': 100, 'maxIOPS': 200, @@ -503,7 +506,10 @@ # NOTE(jdg): all attributes are copied via clone, need to do an update # to set any that were provided + qos = self._retrieve_qos_setting(vref) params = {'volumeID': sf_volume_id} + if qos: + params['qos'] = qos create_time = vref['created_at'].isoformat() attributes = {'uuid': vref['id'], 'is_clone': 'True', @@ -641,6 +647,24 @@ return self._issue_api_request( 'ListSnapshots', params, version='6.0')['result']['snapshots'] + def locked_image_id_operation(f, external=False): + def lvo_inner1(inst, *args, **kwargs): + lock_tag = inst.driver_prefix + call_args = inspect.getcallargs(f, inst, *args, **kwargs) + + if call_args.get('image_meta'): + image_id = call_args['image_meta']['id'] + else: + err_msg = _('The decorated method must accept image_meta.') + raise exception.VolumeBackendAPIException(data=err_msg) + + @utils.synchronized('%s-%s' % (lock_tag, image_id), + external=external) + def lvo_inner2(): + return f(inst, *args, **kwargs) + return lvo_inner2() + return lvo_inner1 + def _create_image_volume(self, context, image_meta, image_service, image_id): @@ -734,24 +758,22 @@ params = {'accountID': self.template_account_id} sf_vol = self._get_sf_volume(image_meta['id'], params) - if sf_vol is None: + if not sf_vol: + self._create_image_volume(context, + image_meta, + image_service, + image_meta['id']) return - # Check updated_at field, delete copy and update if needed - if sf_vol['attributes']['image_info']['image_updated_at'] == ( + if sf_vol['attributes']['image_info']['image_updated_at'] != ( image_meta['updated_at'].isoformat()): - return - else: - # Bummer, it's been updated, delete it params = {'accountID': self.template_account_id} params['volumeID'] = sf_vol['volumeID'] self._issue_api_request('DeleteVolume', params) - if not self._create_image_volume(context, - image_meta, - image_service, - image_meta['id']): - msg = _("Failed to create SolidFire Image-Volume") - raise exception.SolidFireAPIException(msg) + self._create_image_volume(context, + image_meta, + image_service, + image_meta['id']) def _get_sfaccounts_for_tenant(self, cinder_project_id): accounts = self._issue_api_request( @@ -978,6 +1000,7 @@ for vag in sorted_targets[:limit]: self._remove_vag(vag['volumeAccessGroupID']) + @locked_image_id_operation def clone_image(self, context, volume, image_location, image_meta, image_service): @@ -1012,21 +1035,9 @@ except exception.SolidFireAPIException: return None, False - try: - (data, sfaccount, model) = self._do_clone_volume(image_meta['id'], - volume) - except exception.VolumeNotFound: - if self._create_image_volume(context, - image_meta, - image_service, - image_meta['id']) is None: - # We failed, dump out - return None, False - - # Ok, should be good to go now, try it again - (data, sfaccount, model) = self._do_clone_volume(image_meta['id'], - volume) - + # Ok, should be good to go now, try it again + (data, sfaccount, model) = self._do_clone_volume(image_meta['id'], + volume) return model, True def _retrieve_qos_setting(self, volume): diff -Nru cinder-8.0.0/cinder/volume/drivers/vmware/vmdk.py cinder-8.1.0/cinder/volume/drivers/vmware/vmdk.py --- cinder-8.0.0/cinder/volume/drivers/vmware/vmdk.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/vmware/vmdk.py 2016-08-09 15:32:57.000000000 +0000 @@ -67,6 +67,9 @@ vmdk_opts = [ cfg.StrOpt('vmware_host_ip', help='IP address for connecting to VMware vCenter server.'), + cfg.PortOpt('vmware_host_port', + default=443, + help='Port number for connecting to VMware vCenter server.'), cfg.StrOpt('vmware_host_username', help='Username for authenticating with VMware vCenter ' 'server.'), @@ -255,7 +258,8 @@ 'vmware_host_password'] for param in required_params: if not getattr(self.configuration, param, None): - raise exception.InvalidInput(_("%s not set.") % param) + reason = _("%s not set.") % param + raise exception.InvalidInput(reason=reason) def check_for_setup_error(self): pass @@ -665,6 +669,7 @@ timeout = self.configuration.vmware_image_transfer_timeout_secs host_ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port ca_file = self.configuration.vmware_ca_file insecure = self.configuration.vmware_insecure cookies = self.session.vim.client.options.transport.cookiejar @@ -687,7 +692,7 @@ image_id, image_size=image_size_in_bytes, host=host_ip, - port=443, + port=port, data_center_name=dc_name, datastore_name=ds_name, cookies=cookies, @@ -932,9 +937,13 @@ {'path': vmdk_path.get_descriptor_ds_file_path(), 'backing': backing}) + profile_id = self._get_storage_profile_id(volume) self.volumeops.attach_disk_to_backing( - backing, image_size_in_bytes / units.Ki, disk_type, - adapter_type, vmdk_path.get_descriptor_ds_file_path()) + backing, + image_size_in_bytes / units.Ki, disk_type, + adapter_type, + profile_id, + vmdk_path.get_descriptor_ds_file_path()) attached = True if disk_conversion: @@ -1004,7 +1013,7 @@ dummy_disk_size, disk_type, summary.name, - profileId=profile_id, + profile_id=profile_id, adapter_type=adapter_type, extra_config=extra_config) # convert vm_create_spec to vm_import_spec @@ -1016,6 +1025,7 @@ # fetching image from glance will also create the backing timeout = self.configuration.vmware_image_transfer_timeout_secs host_ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port LOG.debug("Fetching glance image: %(id)s to server: %(host)s.", {'id': image_id, 'host': host_ip}) backing = image_transfer.download_stream_optimized_image( @@ -1025,7 +1035,7 @@ image_id, session=self.session, host=host_ip, - port=443, + port=port, resource_pool=rp, vm_folder=folder, vm_import_spec=vm_import_spec, @@ -1169,6 +1179,7 @@ # Upload image from vmdk timeout = self.configuration.vmware_image_transfer_timeout_secs host_ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port image_transfer.upload_image(context, timeout, @@ -1177,7 +1188,7 @@ volume['project_id'], session=self.session, host=host_ip, - port=443, + port=port, vm=backing, vmdk_file_path=vmdk_file_path, vmdk_size=volume['size'] * units.Gi, @@ -1432,6 +1443,7 @@ """Download virtual disk in streamOptimized format.""" timeout = self.configuration.vmware_image_transfer_timeout_secs host_ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port vmdk_ds_file_path = self.volumeops.get_vmdk_path(backing) with open(tmp_file_path, "wb") as tmp_file: @@ -1441,7 +1453,7 @@ tmp_file, session=self.session, host=host_ip, - port=443, + port=port, vm=backing, vmdk_file_path=vmdk_ds_file_path, vmdk_size=volume['size'] * units.Gi) @@ -1506,6 +1518,7 @@ timeout = self.configuration.vmware_image_transfer_timeout_secs host_ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port try: with open(tmp_file_path, "rb") as tmp_file: vm_ref = image_transfer.download_stream_optimized_data( @@ -1514,7 +1527,7 @@ tmp_file, session=self.session, host=host_ip, - port=443, + port=port, resource_pool=rp, vm_folder=folder, vm_import_spec=vm_import_spec, @@ -1728,11 +1741,13 @@ dest_dc_ref=dest_dc) # Attach the disk to be managed to volume backing. + profile_id = self._get_storage_profile_id(volume) self.volumeops.attach_disk_to_backing( backing, disk.capacityInKB, VMwareVcVmdkDriver._get_disk_type(volume), 'lsiLogic', + profile_id, dest_path.get_descriptor_ds_file_path()) self.volumeops.update_backing_disk_uuid(backing, volume['id']) @@ -1740,6 +1755,7 @@ def session(self): if not self._session: ip = self.configuration.vmware_host_ip + port = self.configuration.vmware_host_port username = self.configuration.vmware_host_username password = self.configuration.vmware_host_password api_retry_count = self.configuration.vmware_api_retry_count @@ -1753,6 +1769,7 @@ task_poll_interval, wsdl_loc=wsdl_loc, pbm_wsdl_loc=pbm_wsdl, + port=port, cacert=ca_file, insecure=insecure) return self._session diff -Nru cinder-8.0.0/cinder/volume/drivers/vmware/volumeops.py cinder-8.1.0/cinder/volume/drivers/vmware/volumeops.py --- cinder-8.0.0/cinder/volume/drivers/vmware/volumeops.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/drivers/vmware/volumeops.py 2016-08-09 15:32:57.000000000 +0000 @@ -183,6 +183,7 @@ LSI_LOGIC = "lsiLogic" BUS_LOGIC = "busLogic" LSI_LOGIC_SAS = "lsiLogicsas" + PARA_VIRTUAL = "paraVirtual" IDE = "ide" @staticmethod @@ -195,6 +196,7 @@ return adapter_type in [VirtualDiskAdapterType.LSI_LOGIC, VirtualDiskAdapterType.BUS_LOGIC, VirtualDiskAdapterType.LSI_LOGIC_SAS, + VirtualDiskAdapterType.PARA_VIRTUAL, VirtualDiskAdapterType.IDE] @staticmethod @@ -212,20 +214,23 @@ invalid_type=extra_spec_adapter_type) @staticmethod - def get_adapter_type(extra_spec_adapter_type): + def get_adapter_type(extra_spec_adapter): """Get the adapter type to be used in VirtualDiskSpec. - :param extra_spec_adapter_type: adapter type in the extra_spec + :param extra_spec_adapter: adapter type in the extra_spec :return: adapter type to be used in VirtualDiskSpec """ - VirtualDiskAdapterType.validate(extra_spec_adapter_type) - # We set the adapter type as lsiLogic for lsiLogicsas since it is not - # supported by VirtualDiskManager APIs. This won't be a problem because - # we attach the virtual disk to the correct controller type and the - # disk adapter type is always resolved using its controller key. - if extra_spec_adapter_type == VirtualDiskAdapterType.LSI_LOGIC_SAS: + VirtualDiskAdapterType.validate(extra_spec_adapter) + # We set the adapter type as lsiLogic for lsiLogicsas/paraVirtual + # since it is not supported by VirtualDiskManager APIs. This won't + # be a problem because we attach the virtual disk to the correct + # controller type and the disk adapter type is always resolved using + # its controller key. + if (extra_spec_adapter == VirtualDiskAdapterType.LSI_LOGIC_SAS or + extra_spec_adapter == VirtualDiskAdapterType.PARA_VIRTUAL): return VirtualDiskAdapterType.LSI_LOGIC - return extra_spec_adapter_type + else: + return extra_spec_adapter class ControllerType(object): @@ -234,12 +239,14 @@ LSI_LOGIC = 'VirtualLsiLogicController' BUS_LOGIC = 'VirtualBusLogicController' LSI_LOGIC_SAS = 'VirtualLsiLogicSASController' + PARA_VIRTUAL = 'ParaVirtualSCSIController' IDE = 'VirtualIDEController' CONTROLLER_TYPE_DICT = { VirtualDiskAdapterType.LSI_LOGIC: LSI_LOGIC, VirtualDiskAdapterType.BUS_LOGIC: BUS_LOGIC, VirtualDiskAdapterType.LSI_LOGIC_SAS: LSI_LOGIC_SAS, + VirtualDiskAdapterType.PARA_VIRTUAL: PARA_VIRTUAL, VirtualDiskAdapterType.IDE: IDE} @staticmethod @@ -264,7 +271,8 @@ """ return controller_type in [ControllerType.LSI_LOGIC, ControllerType.BUS_LOGIC, - ControllerType.LSI_LOGIC_SAS] + ControllerType.LSI_LOGIC_SAS, + ControllerType.PARA_VIRTUAL] class VMwareVolumeOps(object): @@ -678,7 +686,8 @@ return disk_device_bkng def _create_virtual_disk_config_spec(self, size_kb, disk_type, - controller_key, vmdk_ds_file_path): + controller_key, profile_id, + vmdk_ds_file_path): """Returns config spec for adding a virtual disk.""" cf = self._session.vim.client.factory @@ -699,15 +708,21 @@ if vmdk_ds_file_path is None: disk_spec.fileOperation = 'create' disk_spec.device = disk_device + if profile_id: + disk_profile = cf.create('ns0:VirtualMachineDefinedProfileSpec') + disk_profile.profileId = profile_id + disk_spec.profile = [disk_profile] + return disk_spec def _create_specs_for_disk_add(self, size_kb, disk_type, adapter_type, - vmdk_ds_file_path=None): + profile_id, vmdk_ds_file_path=None): """Create controller and disk config specs for adding a new disk. :param size_kb: disk size in KB :param disk_type: disk provisioning type :param adapter_type: disk adapter type + :param profile_id: storage policy profile identification :param vmdk_ds_file_path: Optional datastore file path of an existing virtual disk. If specified, file backing is not created for the virtual disk. @@ -725,6 +740,7 @@ disk_spec = self._create_virtual_disk_config_spec(size_kb, disk_type, controller_key, + profile_id, vmdk_ds_file_path) specs = [disk_spec] if controller_spec is not None: @@ -783,7 +799,7 @@ return create_spec def get_create_spec(self, name, size_kb, disk_type, ds_name, - profileId=None, adapter_type='lsiLogic', + profile_id=None, adapter_type='lsiLogic', extra_config=None): """Return spec for creating backing with a single disk. @@ -791,16 +807,16 @@ :param size_kb: disk size in KB :param disk_type: disk provisioning type :param ds_name: datastore name where the disk is to be provisioned - :param profileId: storage profile ID for the backing + :param profile_id: storage policy profile identification :param adapter_type: disk adapter type :param extra_config: key-value pairs to be written to backing's extra-config :return: spec for creation """ create_spec = self._get_create_spec_disk_less( - name, ds_name, profileId=profileId, extra_config=extra_config) + name, ds_name, profileId=profile_id, extra_config=extra_config) create_spec.deviceChange = self._create_specs_for_disk_add( - size_kb, disk_type, adapter_type) + size_kb, disk_type, adapter_type, profile_id) return create_spec def _create_backing_int(self, folder, resource_pool, host, create_spec): @@ -845,7 +861,7 @@ 'adapter_type': adapter_type}) create_spec = self.get_create_spec( - name, size_kb, disk_type, ds_name, profileId=profileId, + name, size_kb, disk_type, ds_name, profile_id=profileId, adapter_type=adapter_type, extra_config=extra_config) return self._create_backing_int(folder, resource_pool, host, create_spec) @@ -1206,13 +1222,14 @@ self._session.wait_for_task(reconfig_task) def attach_disk_to_backing(self, backing, size_in_kb, disk_type, - adapter_type, vmdk_ds_file_path): + adapter_type, profile_id, vmdk_ds_file_path): """Attach an existing virtual disk to the backing VM. :param backing: reference to the backing VM :param size_in_kb: disk size in KB :param disk_type: virtual disk type :param adapter_type: disk adapter type + :param profile_id: storage policy profile identification :param vmdk_ds_file_path: datastore file path of the virtual disk to be attached """ @@ -1225,10 +1242,12 @@ 'adapter_type': adapter_type}) cf = self._session.vim.client.factory reconfig_spec = cf.create('ns0:VirtualMachineConfigSpec') - specs = self._create_specs_for_disk_add(size_in_kb, - disk_type, - adapter_type, - vmdk_ds_file_path) + specs = self._create_specs_for_disk_add( + size_in_kb, + disk_type, + adapter_type, + profile_id, + vmdk_ds_file_path=vmdk_ds_file_path) reconfig_spec.deviceChange = specs self._reconfigure_backing(backing, reconfig_spec) LOG.debug("Backing VM: %s reconfigured with new disk.", backing) diff -Nru cinder-8.0.0/cinder/volume/flows/api/manage_existing.py cinder-8.1.0/cinder/volume/flows/api/manage_existing.py --- cinder-8.0.0/cinder/volume/flows/api/manage_existing.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/flows/api/manage_existing.py 2016-08-09 15:32:57.000000000 +0000 @@ -83,7 +83,7 @@ 'volume': volume, } - def revert(self, context, result, optional_args, **kwargs): + def revert(self, context, result, optional_args=None, **kwargs): # We never produced a result and therefore can't destroy anything. if isinstance(result, ft.Failure): return diff -Nru cinder-8.0.0/cinder/volume/flows/manager/manage_existing_snapshot.py cinder-8.1.0/cinder/volume/flows/manager/manage_existing_snapshot.py --- cinder-8.0.0/cinder/volume/flows/manager/manage_existing_snapshot.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/volume/flows/manager/manage_existing_snapshot.py 2016-08-09 15:32:57.000000000 +0000 @@ -17,7 +17,6 @@ import taskflow.engines from taskflow.patterns import linear_flow from taskflow.types import failure as ft -from taskflow.utils import misc from cinder import exception from cinder import flow_utils @@ -57,7 +56,7 @@ return snapshot_ref def revert(self, context, snapshot_id, result, **kwargs): - if isinstance(result, misc.Failure): + if isinstance(result, ft.Failure): return flow_common.error_out_snapshot(context, self.db, snapshot_id) @@ -162,7 +161,7 @@ def revert(self, context, result, optional_args, **kwargs): # We never produced a result and therefore can't destroy anything. - if isinstance(result, misc.Failure): + if isinstance(result, ft.Failure): return if optional_args['is_quota_committed']: diff -Nru cinder-8.0.0/cinder/volume/manager.py cinder-8.1.0/cinder/volume/manager.py --- cinder-8.0.0/cinder/volume/manager.py 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/cinder/volume/manager.py 2016-08-09 15:32:57.000000000 +0000 @@ -384,17 +384,18 @@ updates, snapshot_updates = self.driver.update_provider_info( volumes, snapshots) - host_vols = utils.list_of_dicts_to_dict(volumes, 'id') - for u in updates or []: - update = {} - # NOTE(JDG): Make sure returned item is in this hosts volumes - if host_vols.get(u['id'], None): - update['provider_id'] = u['provider_id'] - if update: - self.db.volume_update(ctxt, - u['id'], - update) + if updates: + for volume in volumes: + # NOTE(JDG): Make sure returned item is in this hosts volumes + update = ( + [updt for updt in updates if updt['id'] == + volume['id']][0]) + if update: + self.db.volume_update( + ctxt, + update['id'], + {'provider_id': update['provider_id']}) # NOTE(jdg): snapshots are slighty harder, because # we do not have a host column and of course no get @@ -411,8 +412,8 @@ if update: self.db.snapshot_update( ctxt, - updt['id'], - {'provider_id': updt['provider_id']}) + update['id'], + {'provider_id': update['provider_id']}) def init_host(self): """Perform any required initialization.""" @@ -1536,7 +1537,7 @@ except Exception as err: err_msg = (_('Terminate volume connection failed: %(err)s') % {'err': six.text_type(err)}) - LOG.error(err_msg, resource=volume_ref) + LOG.exception(err_msg, resource=volume_ref) raise exception.VolumeBackendAPIException(data=err_msg) LOG.info(_LI("Terminate volume connection completed successfully."), resource=volume_ref) @@ -3607,7 +3608,7 @@ return self.manager.thaw_host(context) def manage_existing_snapshot(self, ctxt, snapshot, ref=None): - return self.manager.manage_exisiting_snapshot(ctxt, snapshot, ref=ref) + return self.manager.manage_existing_snapshot(ctxt, snapshot, ref=ref) def get_capabilities(self, context, discover): return self.manager.get_capabilities(context, discover) diff -Nru cinder-8.0.0/cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py cinder-8.1.0/cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py --- cinder-8.0.0/cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/zonemanager/drivers/brocade/brcd_fc_san_lookup_service.py 2016-08-09 15:32:57.000000000 +0000 @@ -1,8 +1,6 @@ -# (c) Copyright 2014 Brocade Communications Systems Inc. +# (c) Copyright 2016 Brocade Communications Systems Inc. # All Rights Reserved. # -# Copyright 2014 OpenStack Foundation -# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -16,17 +14,13 @@ # under the License. # -from oslo_concurrency import processutils from oslo_log import log as logging from oslo_utils import excutils -import six +from oslo_utils import importutils from cinder import exception from cinder.i18n import _, _LE -from cinder import ssh_utils -from cinder import utils from cinder.zonemanager.drivers.brocade import brcd_fabric_opts as fabric_opts -import cinder.zonemanager.drivers.brocade.fc_zone_constants as zone_constant from cinder.zonemanager import fc_san_lookup_service as fc_service from cinder.zonemanager import utils as fczm_utils @@ -38,10 +32,11 @@ Version History: 1.0.0 - Initial version + 1.1 - Add support to use config option for switch southbound protocol """ - VERSION = "1.0.0" + VERSION = "1.1" def __init__(self, **kwargs): """Initializing the client.""" @@ -107,15 +102,6 @@ for fabric_name in fabrics: fabric_ip = self.fabric_configs[fabric_name].safe_get( 'fc_fabric_address') - fabric_user = self.fabric_configs[fabric_name].safe_get( - 'fc_fabric_user') - fabric_pwd = self.fabric_configs[fabric_name].safe_get( - 'fc_fabric_password') - fabric_port = self.fabric_configs[fabric_name].safe_get( - 'fc_fabric_port') - - ssh_pool = ssh_utils.SSHPool(fabric_ip, fabric_port, None, - fabric_user, password=fabric_pwd) # Get name server data from fabric and find the targets # logged in @@ -123,7 +109,8 @@ try: LOG.debug("Getting name server data for " "fabric %s", fabric_ip) - nsinfo = self.get_nameserver_info(ssh_pool) + conn = self._get_southbound_client(fabric_name) + nsinfo = conn.get_nameserver_info() except exception.FCSanLookupServiceException: with excutils.save_and_reraise_exception(): LOG.error(_LE("Failed collecting name server info from" @@ -172,69 +159,28 @@ LOG.debug("Device map for SAN context: %s", device_map) return device_map - def get_nameserver_info(self, ssh_pool): - """Get name server data from fabric. + def _get_southbound_client(self, fabric): + """Implementation to get SouthBound Connector. - This method will return the connected node port wwn list(local - and remote) for the given switch fabric + South bound connector will be + dynamically selected based on the configuration - :param ssh_pool: SSH connections for the current fabric + :param fabric: fabric information """ - cli_output = None - nsinfo_list = [] - try: - cli_output = self._get_switch_data(ssh_pool, - zone_constant.NS_SHOW) - except exception.FCSanLookupServiceException: - with excutils.save_and_reraise_exception(): - LOG.error(_LE("Failed collecting nsshow info for fabric")) - if cli_output: - nsinfo_list = self._parse_ns_output(cli_output) + fabric_info = self.fabric_configs[fabric] + fc_ip = fabric_info.safe_get('fc_fabric_address') + sb_connector = fabric_info.safe_get('fc_southbound_protocol') + if sb_connector is None: + sb_connector = self.configuration.brcd_sb_connector try: - cli_output = self._get_switch_data(ssh_pool, - zone_constant.NS_CAM_SHOW) - - except exception.FCSanLookupServiceException: - with excutils.save_and_reraise_exception(): - LOG.error(_LE("Failed collecting nscamshow")) - if cli_output: - nsinfo_list.extend(self._parse_ns_output(cli_output)) - LOG.debug("Connector returning nsinfo-%s", nsinfo_list) - return nsinfo_list - - def _get_switch_data(self, ssh_pool, cmd): - utils.check_ssh_injection([cmd]) - - with ssh_pool.item() as ssh: - try: - switch_data, err = processutils.ssh_execute(ssh, cmd) - except processutils.ProcessExecutionError as e: - msg = (_("SSH Command failed with error: '%(err)s', Command: " - "'%(command)s'") % {'err': six.text_type(e), - 'command': cmd}) - LOG.error(msg) - raise exception.FCSanLookupServiceException(message=msg) - - return switch_data - - def _parse_ns_output(self, switch_data): - """Parses name server data. - - Parses nameserver raw data and adds the device port wwns to the list - - :returns: list of device port wwn from ns info - """ - nsinfo_list = [] - lines = switch_data.split('\n') - for line in lines: - if not(" NL " in line or " N " in line): - continue - linesplit = line.split(';') - if len(linesplit) > 2: - node_port_wwn = linesplit[2].strip() - nsinfo_list.append(node_port_wwn) - else: - msg = _("Malformed nameserver string: %s") % line - LOG.error(msg) - raise exception.InvalidParameterValue(err=msg) - return nsinfo_list + conn_factory = importutils.import_object( + "cinder.zonemanager.drivers.brocade." + "brcd_fc_zone_connector_factory." + "BrcdFCZoneFactory") + client = conn_factory.get_connector(fabric_info, + sb_connector.upper()) + except Exception: + msg = _("Failed to create south bound connector for %s.") % fc_ip + LOG.exception(msg) + raise exception.FCZoneDriverException(msg) + return client diff -Nru cinder-8.0.0/cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py cinder-8.1.0/cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py --- cinder-8.0.0/cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/cinder/zonemanager/drivers/brocade/brcd_http_fc_zone_client.py 2016-08-09 15:32:57.000000000 +0000 @@ -859,7 +859,7 @@ "Error: %(error)s") % {'switch_id': self.switch_ip, 'protocol': self.protocol, - 'page': zone_constant.LOG_OUT_PAGE, + 'page': zone_constant.LOGOUT_PAGE, 'error': six.text_type(ex)}) LOG.error(msg) raise exception.BrocadeZoningHttpException(reason=msg) diff -Nru cinder-8.0.0/cinder.egg-info/pbr.json cinder-8.1.0/cinder.egg-info/pbr.json --- cinder-8.0.0/cinder.egg-info/pbr.json 2016-04-07 07:33:54.000000000 +0000 +++ cinder-8.1.0/cinder.egg-info/pbr.json 2016-08-09 15:34:50.000000000 +0000 @@ -1 +1 @@ -{"is_release": true, "git_version": "da90a31"} \ No newline at end of file +{"is_release": true, "git_version": "f9a5424"} \ No newline at end of file diff -Nru cinder-8.0.0/cinder.egg-info/PKG-INFO cinder-8.1.0/cinder.egg-info/PKG-INFO --- cinder-8.0.0/cinder.egg-info/PKG-INFO 2016-04-07 07:33:54.000000000 +0000 +++ cinder-8.1.0/cinder.egg-info/PKG-INFO 2016-08-09 15:34:50.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: cinder -Version: 8.0.0 +Version: 8.1.0 Summary: OpenStack Block Storage Home-page: http://www.openstack.org/ Author: OpenStack diff -Nru cinder-8.0.0/cinder.egg-info/requires.txt cinder-8.1.0/cinder.egg-info/requires.txt --- cinder-8.0.0/cinder.egg-info/requires.txt 2016-04-07 07:33:54.000000000 +0000 +++ cinder-8.1.0/cinder.egg-info/requires.txt 2016-08-09 15:34:50.000000000 +0000 @@ -1,6 +1,7 @@ pbr>=1.6 -Babel>=1.3 +Babel!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3,>=1.3 decorator>=3.4.0 +enum34 eventlet!=0.18.3,>=0.18.2 greenlet>=0.3.2 httplib2>=0.7.5 @@ -9,7 +10,7 @@ lxml>=2.3 oauth2client>=1.5.0 oslo.config>=3.7.0 -oslo.concurrency>=3.5.0 +oslo.concurrency>=3.7.1 oslo.context>=0.2.0 oslo.db>=4.1.0 oslo.log>=1.14.0 @@ -30,12 +31,13 @@ pyparsing>=2.0.1 python-barbicanclient>=3.3.0 python-glanceclient>=2.0.0 -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 +python-keystoneclient!=1.8.0,!=2.1.0,<3.0.0,>=1.6.0 python-novaclient!=2.33.0,>=2.29.0 python-swiftclient>=2.2.0 pytz>=2013.6 requests!=2.9.0,>=2.8.1 retrying!=1.3.0,>=1.2.3 +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3 taskflow>=1.26.0 rtslib-fb>=2.1.41 simplejson>=2.2.0 @@ -47,16 +49,10 @@ WebOb>=1.2.3 oslo.i18n>=2.1.0 oslo.vmware>=1.16.0 -os-brick>=1.0.0 +os-brick!=1.4.0,>=1.0.0 os-win>=0.2.3 tooz>=1.28.0 google-api-python-client>=1.4.2 [:(python_version!='2.7')] -Routes!=2.0,>=1.12.3 - -[:(python_version=='2.7' or python_version=='2.6' or python_version=='3.3')] -enum34 - -[:(python_version=='2.7')] -Routes!=2.0,!=2.1,>=1.12.3 +Routes!=2.0,!=2.3.0,>=1.12.3 diff -Nru cinder-8.0.0/cinder.egg-info/SOURCES.txt cinder-8.1.0/cinder.egg-info/SOURCES.txt --- cinder-8.0.0/cinder.egg-info/SOURCES.txt 2016-04-07 07:33:55.000000000 +0000 +++ cinder-8.1.0/cinder.egg-info/SOURCES.txt 2016-08-09 15:34:51.000000000 +0000 @@ -265,10 +265,6 @@ cinder/keymgr/key.py cinder/keymgr/key_mgr.py cinder/keymgr/not_implemented_key_mgr.py -cinder/locale/cinder-log-error.pot -cinder/locale/cinder-log-info.pot -cinder/locale/cinder-log-warning.pot -cinder/locale/cinder.pot cinder/locale/cs/LC_MESSAGES/cinder-log-error.po cinder/locale/cs/LC_MESSAGES/cinder-log-info.po cinder/locale/cs/LC_MESSAGES/cinder-log-warning.po @@ -357,6 +353,7 @@ cinder/tests/unit/fake_hpe_client_exceptions.py cinder/tests/unit/fake_hpe_lefthand_client.py cinder/tests/unit/fake_notifier.py +cinder/tests/unit/fake_objects.py cinder/tests/unit/fake_service.py cinder/tests/unit/fake_snapshot.py cinder/tests/unit/fake_utils.py @@ -1012,9 +1009,11 @@ releasenotes/notes/add-del-volumeTypeAccess-b1c8cb14a9d14db3.yaml releasenotes/notes/add-google-backup-driver-d1e7ac33d5780b79.yaml releasenotes/notes/add-tegile-driver-b7919c5f30911998.yaml +releasenotes/notes/allow-admin-quota-operations-c1c2236711224023.yaml releasenotes/notes/backup-snapshots-2f547c8788bc11e1.yaml releasenotes/notes/backup_driver_init_state-d4834fa927e502ab.yaml releasenotes/notes/balanced-fc-port-selection-fbf6b841fea99156.yaml +releasenotes/notes/brcd_lookupservice_http_support-f6485b38a1feaa15.yaml releasenotes/notes/brocade_http_connector-0021e41dfa56e671.yaml releasenotes/notes/brocade_virtual_fabrics_support-d2d0b95b19457c1d.yaml releasenotes/notes/cg-scheduler-change-180a36b77e8cc26b.yaml @@ -1077,8 +1076,10 @@ releasenotes/notes/tintri_image_direct_clone-f73e561985aad867.yaml releasenotes/notes/tooz-locks-0f9f2cc15f8dad5a.yaml releasenotes/notes/updated-at-list-0f899098f7258331.yaml +releasenotes/notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml releasenotes/notes/vmware-vmdk-manage-existing-0edc20d9d4d19172.yaml releasenotes/notes/vmware-vmdk-removed-bfb04eed77b95fdf.yaml +releasenotes/notes/vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml releasenotes/notes/vnx-configurable-migration-rate-5e0a2235777c314f.yaml releasenotes/notes/vnx-replication-v2.1-4d89935547183cc9.yaml releasenotes/notes/vnx_clone_cg-db74ee2ea71bedcb.yaml diff -Nru cinder-8.0.0/debian/changelog cinder-8.1.0/debian/changelog --- cinder-8.0.0/debian/changelog 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/changelog 2016-08-18 14:28:33.000000000 +0000 @@ -1,3 +1,21 @@ +cinder (2:8.1.0-0ubuntu1) xenial; urgency=medium + + [ Corey Bryant ] + * New upstream version. + * d/p/skip-timeout-exception.patch: Skip + test_snapshot_failure_when_remote_is_unreachable until bug is resolved. + https://bugs.launchpad.net/cinder/+bug/1582370 + * d/patches: Rebased. + + [ Corey Bryant ] + * New upstream version. + + [ Corey Bryant ] + * New upstream point release for Openstack Mitaka (LP: #1614131). + * Align (Build-)Depends with upstream. + + -- Corey Bryant Thu, 18 Aug 2016 10:28:33 -0400 + cinder (2:8.0.0-0ubuntu1) xenial; urgency=medium [ Corey Bryant ] diff -Nru cinder-8.0.0/debian/control cinder-8.1.0/debian/control --- cinder-8.0.0/debian/control 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/control 2016-08-18 14:28:33.000000000 +0000 @@ -35,7 +35,7 @@ python-os-brick (>= 1.0.0), python-os-testr (>= 0.4.1), python-os-win (>= 0.2.3), - python-oslo.concurrency (>= 3.5.0), + python-oslo.concurrency (>= 3.7.1), python-oslo.config (>= 1:3.7.0), python-oslo.context (>= 0.2.0), python-oslo.db (>= 4.1.0), @@ -108,7 +108,7 @@ python-novaclient (>= 2:2.29.0), python-os-brick (>= 1.0.0), python-os-win (>= 0.2.3), - python-oslo.concurrency (>= 3.5.0), + python-oslo.concurrency (>= 3.7.1), python-oslo.config (>= 1:3.7.0), python-oslo.context (>= 0.2.0), python-oslo.db (>= 4.1.0), diff -Nru cinder-8.0.0/debian/gbp.conf cinder-8.1.0/debian/gbp.conf --- cinder-8.0.0/debian/gbp.conf 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/gbp.conf 2016-08-18 14:28:33.000000000 +0000 @@ -1,5 +1,5 @@ [DEFAULT] -debian-branch = master +debian-branch = stable/mitaka upstream-tag = %(version)s pristine-tar = True diff -Nru cinder-8.0.0/debian/patches/fix-long-casting.patch cinder-8.1.0/debian/patches/fix-long-casting.patch --- cinder-8.0.0/debian/patches/fix-long-casting.patch 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/patches/fix-long-casting.patch 2016-08-18 14:28:33.000000000 +0000 @@ -24,7 +24,7 @@ --- a/cinder/utils.py +++ b/cinder/utils.py -@@ -656,7 +656,8 @@ +@@ -638,7 +638,8 @@ st = os.stat(path) if stat.S_ISBLK(st.st_mode): path, st = _get_disk_of_partition(path, st) diff -Nru cinder-8.0.0/debian/patches/series cinder-8.1.0/debian/patches/series --- cinder-8.0.0/debian/patches/series 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/patches/series 2016-08-18 14:28:33.000000000 +0000 @@ -1,3 +1,4 @@ +skip-timeout-exception.patch fix-i386.patch skip-google-backup-tests.patch fix-long-casting.patch diff -Nru cinder-8.0.0/debian/patches/skip-google-backup-tests.patch cinder-8.1.0/debian/patches/skip-google-backup-tests.patch --- cinder-8.0.0/debian/patches/skip-google-backup-tests.patch 2016-04-08 13:14:31.000000000 +0000 +++ cinder-8.1.0/debian/patches/skip-google-backup-tests.patch 2016-08-18 14:28:33.000000000 +0000 @@ -5,7 +5,7 @@ --- a/cinder/tests/unit/test_backup_google.py +++ b/cinder/tests/unit/test_backup_google.py -@@ -25,20 +25,48 @@ import hashlib +@@ -25,20 +25,48 @@ import os import shutil import tempfile @@ -57,7 +57,7 @@ from cinder.tests.unit import fake_constants as fake -@@ -66,12 +94,12 @@ class FakeObjectName(object): +@@ -66,12 +94,12 @@ def gcs_client(func): @@ -75,7 +75,7 @@ @mock.patch.object(hashlib, 'md5', FakeMD5) def func_wrapper(self, *args, **kwargs): return func(self, *args, **kwargs) -@@ -80,13 +108,13 @@ def gcs_client(func): +@@ -80,13 +108,13 @@ def gcs_client2(func): @@ -95,7 +95,7 @@ '_generate_object_name_prefix', FakeObjectName._fake_generate_object_name_prefix) @mock.patch.object(hashlib, 'md5', FakeMD5) -@@ -121,7 +149,7 @@ class GoogleBackupDriverTestCase(test.Te +@@ -121,7 +149,7 @@ def _create_backup_db_entry(self, volume_id=_DEFAULT_VOLUME_ID, @@ -104,7 +104,7 @@ parent_id=None, service_metadata=None): -@@ -142,6 +170,7 @@ class GoogleBackupDriverTestCase(test.Te +@@ -142,6 +170,7 @@ backup.create() return backup @@ -112,7 +112,7 @@ def setUp(self): super(GoogleBackupDriverTestCase, self).setUp() self.flags(backup_gcs_bucket='gcscinderbucket') -@@ -406,7 +435,7 @@ class GoogleBackupDriverTestCase(test.Te +@@ -406,7 +435,7 @@ backup, self.volume_file) @gcs_client @@ -121,7 +121,7 @@ fake_backup_metadata) def test_backup_backup_metadata_fail(self): """Test of when an exception occurs in backup(). -@@ -427,9 +456,9 @@ class GoogleBackupDriverTestCase(test.Te +@@ -427,9 +456,9 @@ backup, self.volume_file) @gcs_client @@ -133,7 +133,7 @@ def test_backup_backup_metadata_fail2(self): """Test of when an exception occurs in an exception handler. -@@ -512,7 +541,7 @@ class GoogleBackupDriverTestCase(test.Te +@@ -512,7 +541,7 @@ service.delete(backup) @gcs_client @@ -144,16 +144,16 @@ volume_id = 'ee30d649-72a6-49a5-b78d-000000edb6b1' --- a/requirements.txt +++ b/requirements.txt -@@ -12,7 +12,6 @@ httplib2>=0.7.5 # MIT +@@ -12,7 +12,6 @@ iso8601>=0.1.9 # MIT keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 lxml>=2.3 # BSD -oauth2client>=1.5.0 # Apache-2.0 oslo.config>=3.7.0 # Apache-2.0 - oslo.concurrency>=3.5.0 # Apache-2.0 + oslo.concurrency>=3.7.1 # Apache-2.0 oslo.context>=0.2.0 # Apache-2.0 -@@ -57,4 +56,3 @@ oslo.vmware>=1.16.0 # Apache-2.0 - os-brick>=1.0.0 # Apache-2.0 +@@ -57,4 +56,3 @@ + os-brick!=1.4.0,>=1.0.0 # Apache-2.0 os-win>=0.2.3 # Apache-2.0 tooz>=1.28.0 # Apache-2.0 -google-api-python-client>=1.4.2 # Apache-2.0 diff -Nru cinder-8.0.0/debian/patches/skip-timeout-exception.patch cinder-8.1.0/debian/patches/skip-timeout-exception.patch --- cinder-8.0.0/debian/patches/skip-timeout-exception.patch 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/debian/patches/skip-timeout-exception.patch 2016-08-18 14:28:33.000000000 +0000 @@ -0,0 +1,35 @@ +Description: Skip tests that are failing with fixtures.timeout.TimeoutException + until bug is resolved. +Author: Corey Bryant +Bug: https://bugs.launchpad.net/cinder/+bug/1582370 + +--- a/cinder/tests/unit/test_coho.py ++++ b/cinder/tests/unit/test_coho.py +@@ -253,6 +253,8 @@ + [mock.call(INVALID_SNAPSHOT['volume_id'])]) + + def test_snapshot_failure_when_remote_is_unreachable(self): ++ self.skipTest('Disabled on Ubuntu due to bug 1582370') ++ + drv = coho.CohoDriver(configuration=self.configuration) + + mock_get_volume_location = self.mock_object(coho.CohoDriver, +--- a/cinder/tests/unit/test_migrations.py ++++ b/cinder/tests/unit/test_migrations.py +@@ -810,6 +810,7 @@ + self.assertIsNotNone(fkey) + + def test_walk_versions(self): ++ self.skipTest('Disabled on Ubuntu due to bug 1582370') + self.walk_versions(False, False) + + +@@ -828,6 +829,8 @@ + # add this to the global lists to make reset work with it, it's removed + # automatically in tearDown so no need to clean it up here. + # sanity check ++ self.skipTest('Disabled on Ubuntu due to bug 1582370') ++ + migration.db_sync(engine=self.migrate_engine) + + total = self.migrate_engine.execute( diff -Nru cinder-8.0.0/etc/cinder/api-paste.ini cinder-8.1.0/etc/cinder/api-paste.ini --- cinder-8.0.0/etc/cinder/api-paste.ini 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/etc/cinder/api-paste.ini 2016-08-09 15:32:57.000000000 +0000 @@ -11,25 +11,28 @@ [composite:openstack_volume_api_v1] use = call:cinder.api.middleware.auth:pipeline_factory -noauth = cors request_id faultwrap sizelimit osprofiler noauth apiv1 -keystone = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 -keystone_nolimit = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 +noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv1 +keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 +keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv1 [composite:openstack_volume_api_v2] use = call:cinder.api.middleware.auth:pipeline_factory -noauth = cors request_id faultwrap sizelimit osprofiler noauth apiv2 -keystone = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 -keystone_nolimit = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 +noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv2 +keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 +keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv2 [composite:openstack_volume_api_v3] use = call:cinder.api.middleware.auth:pipeline_factory -noauth = cors request_id faultwrap sizelimit osprofiler noauth apiv3 -keystone = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3 -keystone_nolimit = cors request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3 +noauth = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler noauth apiv3 +keystone = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3 +keystone_nolimit = cors http_proxy_to_wsgi request_id faultwrap sizelimit osprofiler authtoken keystonecontext apiv3 [filter:request_id] paste.filter_factory = oslo_middleware.request_id:RequestId.factory +[filter:http_proxy_to_wsgi] +paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory + [filter:cors] paste.filter_factory = oslo_middleware.cors:filter_factory oslo_config_project = cinder @@ -56,7 +59,7 @@ paste.app_factory = cinder.api.v3.router:APIRouter.factory [pipeline:apiversions] -pipeline = cors faultwrap osvolumeversionapp +pipeline = cors http_proxy_to_wsgi faultwrap osvolumeversionapp [app:osvolumeversionapp] paste.app_factory = cinder.api.versions:Versions.factory diff -Nru cinder-8.0.0/etc/cinder/rootwrap.d/volume.filters cinder-8.1.0/etc/cinder/rootwrap.d/volume.filters --- cinder-8.0.0/etc/cinder/rootwrap.d/volume.filters 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/etc/cinder/rootwrap.d/volume.filters 2016-08-09 15:32:57.000000000 +0000 @@ -151,7 +151,7 @@ # cinder/volume/drivers/ibm/gpfs.py # cinder/volume/drivers/ibm/ibmnas.py -find_maxdepth_inum: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -inum, \d+ +find_maxdepth_inum: RegExpFilter, find, root, find, ^[/]*([^/\0]+(/+)?)*$, -maxdepth, \d+, -ignore_readdir_race, -inum, \d+, -print0, -quit # cinder/brick/initiator/connector.py: aoe-revalidate: CommandFilter, aoe-revalidate, root diff -Nru cinder-8.0.0/PKG-INFO cinder-8.1.0/PKG-INFO --- cinder-8.0.0/PKG-INFO 2016-04-07 07:33:55.000000000 +0000 +++ cinder-8.1.0/PKG-INFO 2016-08-09 15:34:51.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: cinder -Version: 8.0.0 +Version: 8.1.0 Summary: OpenStack Block Storage Home-page: http://www.openstack.org/ Author: OpenStack diff -Nru cinder-8.0.0/releasenotes/notes/allow-admin-quota-operations-c1c2236711224023.yaml cinder-8.1.0/releasenotes/notes/allow-admin-quota-operations-c1c2236711224023.yaml --- cinder-8.0.0/releasenotes/notes/allow-admin-quota-operations-c1c2236711224023.yaml 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/releasenotes/notes/allow-admin-quota-operations-c1c2236711224023.yaml 2016-08-09 15:32:54.000000000 +0000 @@ -0,0 +1,4 @@ +--- +fixes: + - Projects with the admin role are now allowed to operate + on the quotas of all other projects. diff -Nru cinder-8.0.0/releasenotes/notes/brcd_lookupservice_http_support-f6485b38a1feaa15.yaml cinder-8.1.0/releasenotes/notes/brcd_lookupservice_http_support-f6485b38a1feaa15.yaml --- cinder-8.0.0/releasenotes/notes/brcd_lookupservice_http_support-f6485b38a1feaa15.yaml 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/releasenotes/notes/brcd_lookupservice_http_support-f6485b38a1feaa15.yaml 2016-08-09 15:32:54.000000000 +0000 @@ -0,0 +1,5 @@ +--- +features: + - Support for use of 'fc_southbound_protocol' + configuration setting in the Brocade FC SAN + lookup service. diff -Nru cinder-8.0.0/releasenotes/notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml cinder-8.1.0/releasenotes/notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml --- cinder-8.0.0/releasenotes/notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/releasenotes/notes/vmware-vmdk-config-eb70892e4ccf8f3c.yaml 2016-08-09 15:32:54.000000000 +0000 @@ -0,0 +1,4 @@ +--- +upgrade: + - The VMware VMDK driver supports a new config option 'vmware_host_port' + to specify the port number to connect to vCenter server. \ No newline at end of file diff -Nru cinder-8.0.0/releasenotes/notes/vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml cinder-8.1.0/releasenotes/notes/vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml --- cinder-8.0.0/releasenotes/notes/vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml 1970-01-01 00:00:00.000000000 +0000 +++ cinder-8.1.0/releasenotes/notes/vmware_vmdk_paravirtual-3d5eeef96dcbcfb7.yaml 2016-08-09 15:32:54.000000000 +0000 @@ -0,0 +1,4 @@ +--- +fixes: + - Added support for images with vmware_adaptertype set to + paraVirtual in the VMDK driver. diff -Nru cinder-8.0.0/requirements.txt cinder-8.1.0/requirements.txt --- cinder-8.0.0/requirements.txt 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/requirements.txt 2016-08-09 15:32:57.000000000 +0000 @@ -3,7 +3,7 @@ # process, which may cause wedges in the gate later. pbr>=1.6 # Apache-2.0 -Babel>=1.3 # BSD +Babel!=2.3.0,!=2.3.1,!=2.3.2,!=2.3.3,>=1.3 # BSD decorator>=3.4.0 # BSD enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # BSD eventlet!=0.18.3,>=0.18.2 # MIT @@ -14,7 +14,7 @@ lxml>=2.3 # BSD oauth2client>=1.5.0 # Apache-2.0 oslo.config>=3.7.0 # Apache-2.0 -oslo.concurrency>=3.5.0 # Apache-2.0 +oslo.concurrency>=3.7.1 # Apache-2.0 oslo.context>=0.2.0 # Apache-2.0 oslo.db>=4.1.0 # Apache-2.0 oslo.log>=1.14.0 # Apache-2.0 @@ -35,14 +35,14 @@ pyparsing>=2.0.1 # MIT python-barbicanclient>=3.3.0 # Apache-2.0 python-glanceclient>=2.0.0 # Apache-2.0 -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-keystoneclient!=1.8.0,!=2.1.0,<3.0.0,>=1.6.0 # Apache-2.0 python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 python-swiftclient>=2.2.0 # Apache-2.0 pytz>=2013.6 # MIT requests!=2.9.0,>=2.8.1 # Apache-2.0 retrying!=1.3.0,>=1.2.3 # Apache-2.0 -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT taskflow>=1.26.0 # Apache-2.0 rtslib-fb>=2.1.41 # Apache-2.0 simplejson>=2.2.0 # MIT @@ -54,7 +54,7 @@ WebOb>=1.2.3 # MIT oslo.i18n>=2.1.0 # Apache-2.0 oslo.vmware>=1.16.0 # Apache-2.0 -os-brick>=1.0.0 # Apache-2.0 +os-brick!=1.4.0,>=1.0.0 # Apache-2.0 os-win>=0.2.3 # Apache-2.0 tooz>=1.28.0 # Apache-2.0 google-api-python-client>=1.4.2 # Apache-2.0 diff -Nru cinder-8.0.0/test-requirements.txt cinder-8.1.0/test-requirements.txt --- cinder-8.0.0/test-requirements.txt 2016-04-07 07:30:48.000000000 +0000 +++ cinder-8.1.0/test-requirements.txt 2016-08-09 15:32:57.000000000 +0000 @@ -8,7 +8,7 @@ anyjson>=0.3.3 # BSD coverage>=3.6 # Apache-2.0 ddt>=1.0.1 # MIT -fixtures>=1.3.1 # Apache-2.0/BSD +fixtures<2.0,>=1.3.1 # Apache-2.0/BSD mock>=1.2 # BSD mox3>=0.7.0 # Apache-2.0 PyMySQL>=0.6.2 # MIT License diff -Nru cinder-8.0.0/tox.ini cinder-8.1.0/tox.ini --- cinder-8.0.0/tox.ini 2016-04-07 07:30:55.000000000 +0000 +++ cinder-8.1.0/tox.ini 2016-08-09 15:32:57.000000000 +0000 @@ -1,5 +1,5 @@ [tox] -minversion = 1.8 +minversion = 2.0 skipsdist = True envlist = py27,pep8 @@ -9,7 +9,7 @@ setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 usedevelop = True -install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt} {opts} {packages} +install_command = pip install -c{env:UPPER_CONSTRAINTS_FILE:https://git.openstack.org/cgit/openstack/requirements/plain/upper-constraints.txt?h=stable/mitaka} {opts} {packages} # TODO(mriedem): Move oslo.versionedobjects[fixtures] to test-requirements.txt # after I937823ffeb95725f0b55e298ebee1857d6482883 lands.